
How to Learn a Programming Language in One Simple Step
Saša BlagojevićMy first experience learning a programming language was painful in the literal sense of that word, and not because my first language of choice was PHP!
Software development is addictive in its own way. There’s just something about being able to build things and get instant feedback that’s incredibly rewarding.
I was so captivated that I spent eight hours straight glued to my screen, completely forgetting that my legs were crossed. The result? A pinched nerve and two months of physiotherapy.
Not exactly an auspicious start to my coding career, but thankfully not representative of how it developed since then!
From Course Hoarder to Builder
Fast-forward eight years into my career, learning a new language has become a much smoother experience. In the early days, whenever I wanted (or needed) to pick up a new technology, my go-to approach was to hoard courses. I added every tutorial I could find to my ever-growing Udemy graveyard.
Eventually, I realised that wasn’t the most efficient way to learn. I simply didn’t have the patience (or attention span) to sit through hours of video tutorials. Still, they had their use, with a good safety net if I needed a deeper explanation on a tricky topic.
So, I turned to reading. I’d scour every corner of the internet for blog posts, articles, and obscure forum threads on whatever topic I was learning. Afraid I’d lose them, I never closed any tabs - creating yet another kind of graveyard. To be honest, I still haven’t kicked that habit.
But even that approach wasn’t quite it. Something was missing.
The Perfect Formula
And then, I found it… the perfect learning formula.
It’s incredibly simple:
“Just build something”.
When learning new technologies, you should absolutely reinvent the wheel. Build a router. Build a dependency injection container. Build an authentication system. Build your own CMS.
Who cares that we already have dozens of them?
Scratch your own itch. Find something you’ve always wanted to automate and build it. You might be surprised - others could have the same problem, and you might just create something worth sharing as an open-source project.
You can read all the books you want and watch hours of tutorials. But until it goes through your fingers, until you write the code - it won’t truly stick.
Even with higher-level concepts like Design Patterns, Domain-Driven Design, or Hexagonal Architecture, unless you apply them, they’ll go in one ear and out the other.
Build to Learn
By building from scratch, you’ll gain a deeper understanding of the moving parts behind almost every framework out there. No matter the language, the principles stay the same.
Once you’ve mastered one language, learning another becomes mostly a matter of translation…
How do I do this from language X in language Y?
And we live in a golden age for curious people.
In a world of AI, everything is just a sentence away.
You don’t have to spend hours Googling, reading Stack Overflow threads, or sifting through documentation anymore. Just ask:
Hey, how do I do this the idiomatic way in language Y?
That’s exactly what I did when I joined the Zable Super App team and switched from PHP to Kotlin.
So stop overthinking it. Stop hoarding tutorials.
Just build something.