My Life Hack for Learning Anything — Build, Don't Just Watch
When most people want to learn something new, they do the same thing. They open YouTube, buy a Udemy course, or grab a book, and then they sit there putting in effort to listen to every word or read every line.
My way was different. And it worked so well that I've used it for ten years.
The method: learn by building something real
For me, learning a new tech skill was never about consuming content. It was about building a complex project - and never a throwaway, one-time toy project.
Here's the actual move. Every time I wanted to learn something new, I opened my mental library of "open problems that need a tool to solve them." I keep a running list of these in my head. Then I'd pick a complex one, sit down, write a design for it, and learn the new skill through building that exact project.
Not any project. It had to be a real problem that genuinely needed solving - ideally something that would help other people too. And it had to require three things:
- Production - it has to actually ship.
- Real users - people who depend on it.
- Debugging - real issues and feature requests coming from user feedback (or my own).
Those three constraints are the whole trick. They force you to learn the skill for real, not just enough to finish a tutorial. You can't fake your way to production with real users.
That's why, over my last ten years in development, I've built several apps. Each one was me learning something new. Here are three of them.
Env Manager - a web console for remote servers
Env Manager solved a real, painful problem at my company. Before it existed, getting anything done on our remote environments cost people. You needed infra dependencies, people who knew Unix, people who had experience on the specific project. And if a junior came to you just to check one thing, it was pure wasted time for everyone.
So I built a tool that puts the whole thing behind a single web page - and used it as an excuse to add two new skills to my life at once:
- Sharpen my front-end fundamentals by building the entire interface by hand, with no framework doing the heavy lifting for me - so I'd actually get better at the basics.
- Reach a server straight from the browser - running real commands on a remote Unix machine from a web page, no terminal required.
So quietly, in my free time, I started building. And the dopamine was real. Every time I made something new work - something I'd never built before - I got a hit. And that hit doubled every time I saw it solving an actual problem for real people.
Weeks of building later, I released it. And here's what I walked away with - the same two prizes every time:
- A new project that was genuinely needed.
- A new skill.
And remember: this was before AI. I did the reading and figured things out the hard way, which made it even more difficult - and even more rewarding.
AM Barbershop - a mobile app
The same story happened with a friend who wanted a real app to manage his barbershop. I built AM Barbershop for him as a gift for the second anniversary of opening his business.
Same pattern, same two prizes:
- A new project that was actually needed.
- A new skill - this time, building and shipping a real mobile app to people's phones.
Docker Swarm - learning a production stack in two weeks
And again, with infrastructure, on the Telco Back Office Platform. A client of my company wouldn't accept the heavy charges of running Kubernetes, so they wanted Docker Swarm instead.
The problem? Literally no one in my company or my team knew Docker Swarm. But since I was the expert on the team, I put my hand up and said I'd learn it.
Same life hack. With a real production deadline forcing me, I understood Docker Swarm end to end in two weeks. The production launch succeeded - and it's still running today, in production since 2022.
And so on. There are more, but the pattern never changes.
Why it works
When you tie learning to a real project with production, real users, and real debugging, three things happen that a course can never give you:
- The stakes force depth. You can't stop at "it works on my machine." Real users will find every gap, so you learn the parts tutorials skip.
- The dopamine compounds. Making something new work feels good. Seeing it solve a real problem feels twice as good. That feedback loop keeps you going through the hard parts.
- You finish with two wins, not one. Every time, you end up with both a useful, shipped project and a new skill - instead of a certificate and a folder of code you'll never open again.
Today, with AI, this approach is even better. AI doesn't replace the method - it makes you learn the new skill faster and pushes you through the rough spots quicker. The core hack is the same as it always was:
Don't learn to build. Build to learn.