使用しているビルドシステムを常に理解するようにしてください。
これは、必ずしもすべてのビルドファイルを手動で作成できる必要があるという意味ではありません。重要な部分は、ビルドシステムがプロジェクトに対して行っていることと、小さなプロジェクトを手動でコンパイルする一般的な機能を理解することです(「端末でコマンドを入力する」など)。
(単純な)Makefileの作成は、何が起こっているのかを理解する最も簡単なステップだと思う傾向がありますが、物事の構築方法を理解する他の手段があるかもしれません。
Makefileを学ぶ理由/タイミング
Windowsのみのプログラミングを続け、他の誰かがコードをコンパイルすることを期待しない場合は、お好きな方法でコードをコンパイルしてください。
コンパイラにとらわれない(「他の人が使用するコンパイラまたはIDEを他の人に決定させる」など)をプログラムする場合は、IDEに「対処する」だけでなく、別のビルドシステムを学習する必要があります。
異なるプラットフォーム用にプログラミングしたい場合は、確かに広範なビルドシステムを使用する必要があります。
それでも、自動生成されたMakefileがどのように詳細に機能するかを知る必要があるわけではありません。ビルドシステムの入力ファイルがどのように機能するかを知る必要があります。これらはたまたま似たような構文を持っていることがあります。
私は個人的にMakefilesが大好きで、多くの目的に使用しています。コードをコンパイルするだけではありません。(LaTeXで)作成するすべての大きなpdfと、いくつかのタスク(ソースリポジトリからの依存関係の構築、パッケージ化、アップロード、更新、手動バックアップの自動化)を自動化する必要があるすべてのプロジェクトのMakefileを作成します
しかし、私は端末で多くの作業をしており、Linuxで作業しています。vim(強力なテキストエディター)とコンソールツール以外のIDEと呼ばれるものは使用しません。これはあなたにとって非常に異なるかもしれません。
「更新」/パッケージ/アップロード/ ...「プロジェクト」だけに別の繰り返しコマンドを実行する必要があると不平を言ったことがあるなら、Makefileの書き方を学ぶことはあなたにとって役に立つかもしれません。
すべてのツール/ GUI / IDEを使用している場合、その知識から何も得られない可能性があります。