Learn CMake

I had a colleague once, who suggested to me that I should learn CMake and now I would like to suggest the same to you. However you can chose to learn a different build system as well. Knowing a build system is a game changer in how you setup and structure your projects. All of a sudden all your code can be build on various platforms like Windows, Linux or mac. You no longer need to know the individual, platform specific IDE project setup configurations. You can just learn the build system and it will setup everything correctly for your target.

This makes it easier for you to adopt the mindset that infrastructure is more important than the platform you are using. It allows you to switch operating systems and so on.

It makes adding external code easy! You can include other projects as part of your project.

It enables you to build your own IDE for example:

You can script in CMake. This means you can automate certain things. You can execute pre build steps and post build steps. Furthermore you can write code as part of the project and run it as a build step on your code base.

So far learning CMake had one of the biggest impacts on me as a programmer.