02-22-2025
In coding interviews, it's often the case that interviewers allow candidates to pick their "language of choice", be it Javascript, Go, whatever. What I'm curious about is how people end up choosing a language, and more generally, how people pick up specific skills and stick with it long enough to become fluent.
From my own experience, learning a skill benefits immensely from good positioning. If you work as a backend engineer at a company that writes Go, you'll inevitably become -- at the very least -- familiar with the language. Through virtually mandatory tasks of writing code in Go, you have strong incentive to pick at the language's syntax, idioms, conventions, runtime behavior, etc. There's little reason for you not to. Being in an environment that requires you to learn something is to be in a good position for learning.
Compare this to picking a new language to learn "just because". Unless you have a project in mind to use this language, it's much more difficult to find reasons to fight the initial conditions of not knowing the language. For example, I'm a sideline fan of Zig and impressed at it's utilization in performance critical systems, and I tell myself I want to learn Zig a lot. However, I don't know what to build in it! I come from a web application background, so many of the traditional projects I'd build are likely not suitable for a low-level language as Zig.
When the stakes are low, you're not in a good position to keep the wheel turning.
I'll continue to argue that if you want to learn a new skill, it's best to find a place where you're basically required to learn it. However, finding such an environment can be a challenge in and of itself.
An alternate (though not mutually exclusive) path you could consider to get started is discipline. Make it a habit to write 1 blog post a day. No ifs or buts. Strive to produce a small program everyday in that new language you keep telling yourself you want to learn. Take inspiration from prior art, and try to emulate what's already out there. Originality is noble, but not an end goal.
If you can consistently harness willpower, you may develop a superpower.
It's important to keep in mind that people learn in different ways, have different interests that motivate them. But people get good at something through consistent application of a skill. And often it's desirable to be in a place where being consistent takes little effort.