I see people posting frequently things like “I have learnt like 9 languages but I don’t feel like I am confident of my programming ability.” And then they start this spiral of self-doubt thinking stuff like “maybe I’m not made for programming at all”, or “I just don’t think logically”. The key, in my opinion, is to do projects, and finish them. I’m not talking about examples in books. I mean real projects that have benefit, tangible or otherwise.
I know, Pragmatic Programmer says to learn a new language every year. But I don’t buy that. I rather flesh out the task/project at hand, and learn the tools I need to do the task properly. Learning a new language every year to me, is not pragmatic at all. *sorry about the dig* Moreover, companies nowadays are using the language to get buy-in to their platform. One obvious example is Apple with Swift/Objective C. Once you are invested in the language, the inertia to switch is higher.
Personally, I like programming. It’s fascinating how typing in characters allows me to create games, and synths. But I don’t love it. I’m frequently impatient to finish programming to see the end product. Of course, there *is* no end – but that’s another article for another day.
Programmers can get really religious with programming languages. It’s like a nerdier version of the Android / iOS thing. There’s always some aspect of a language that will be better than the same aspect in another language. If you fall in love with a technology, you put yourself in the danger of becoming an advocate for a certain programming language. There’s always something better for certain tasks. You can get really obsessed with things like type inference, concurrency primitives, and so on. But here’s the thing – most people don’t care. The job of a programmer is to create solutions, not code.
Fall in love with the output. The magic you create after a few months of hard work. It could be a software framework, a fart app, a game, or a synth. Whatever it is, fall in love with the satisfaction of knowing that your code is out in the wild and is of some use to somebody.