Member-only story
How to learn to code and land your first job in 2024
How I would get my first job as a self-taught developer if I started over

Want to learn how to code? In this article, I’ll share the steps I took to land a job as a self-taught developer in 2024.
I have been paid to write code for almost five years now. I taught myself over a period of 8–9 months before landing my first full-time position and even wrote about the resources I used in my first ever Medium article.
But that was in 2019. The industry has changed a fair bit since then and I have also become a much more experienced programmer. So what’s changed? And — for those who are looking to get started — what’s the best way to learn to code?
Choosing the right path
The list of potential languages and technologies to learn can be overwhelming. If you have a clear sense about which discipline you’d like to go into, that can help point you in the direction of a particular language. For example, data science roles typically require experience in Python. If you’re interested in gaming, the major engines support C# or C++.
But if you’re not sure what you like and you’re looking to get employed as quickly as possible, then my recommendation is to learn JavaScript.
In last year’s Stack Overflow Survey, JavaScript was the most popular language and full-stack developer — which requires knowledge of JavaScript — was the most common role. Learning JavaScript was the route I took, and it’s great for two main reasons.
First, it’s everywhere: as the language of web browsers — and a lot besides— almost all technical companies will need to hire some people who know the language well.
Second, it’s a great way to find your niche: JavaScript is used on the frontend, the backend (via Node, Deno or Bun), on mobile (via React Native) and on desktop (via Electron). The language opens a lot of different doors. Without needing to learn a new language, you can experiment in these different areas and then, if you want to, specialise in a particular domain.
If you decide you really like backend, for example, you could then pick up a more performant server-side language like…