Learn, Do, Learn

The Faster More Rewarding Way To Master New Skills

Leo Godin
4 min readJul 23, 2022
Learn, Do, Learn in big bold letters
Learn, do, learn — by the author

We’ve all been there. Weekends wasted going through tutorials while retaining little from the experience. Did you build that todo app along with the presenter? We read blogs and watch videos about Spark or React or Painting. We take courses, but when it is time to build something real, we are completely lost — starting from scratch. Why is that?

First, A Story Of Failure

Early in my career, I wanted to learn programming. I went from language to language, reading all the books and following all the tutorials. I remember reading a great book on C#. I went through about 75% of it, completing all the exercises along the way. When it came time to build something on my own, I was lost.

My first project implemented the A-star algorithm. Understanding the rules of this popular pathfinding method is easy. Anyone can understand the flow in minutes. When I started writing code, I found myself going back and re-reading entire chapters of the book I had already worked through. Virtually all that earlier time with the book had been wasted.

It took me about a month to figure it out and get a working implementation of the algorithm. After that, I took a game development class and tried creating an old-school Block Out game. As usual, I started by completing the course. When it came time to build my simple game, it was like I had started my learning journey all over again. I had not retained much of anything from the course.

The examples are far too numerous and your time far to valuable to go on much more. Let’s just say that SQL was painful until I started using it daily in my job.

A Better Way To Learn

Learning can be a trap. One, I happily fell into early in my career. I love learning new things. So I’d get caught up in tutorials and books, thinking my skills were improving. Then, when real work came up, I was lost. So, I started learning again. It was an endless cycle that wasted too much time.

When did I actually learn new skills? When doing real work, implementing what was in the books, videos and tutorials in real projects. Not when creating another to-do app, not another fake storefront or project manager. (Pay attention, this is important.) The most efficient learning came from real projects that were meaningful to me. Things that would actually be used.

Look back on your own journey. When did you learn the most? Was it watching YouTube videos or trying to figure out real-world problems? If you went to college, think back on that time. I bet you learned more useful skills in your first year of working than in four years of learning. That’s just how we humans work. We learn by doing.

Learn, Do, Learn

A cycle of learn, do, learn steps
Learn, Do, Learn — Image by author

So, where does all that leave us? We learn better by doing, but we can’t do much until we learn something. Why not just learn a little, do some real work, then learn some more? Rinse and repeat as needed. That’s it, the TL;DR of this article. Learn, do, learn, then do, then learn…. It’s a simple method that many people do intuitively. let’s look at an example.

Maybe you want to learn SQL. You could take one of many classes or start from tutorials and blog posts — whatever you prefer. Find a good resource to learn a little bit. For instance, you could spend 15-minutes a day completing the W3 Schools SQL tutorial. I recommend it to anyone who asks about learning SQL. Maybe you have more time and can dedicate 30 minutes, that’s fine. Just make sure you also carve out time to do real work with SQL.

If your job allows this, fantastic, it is the best learning scenario. Nothing like a boss and deadlines for motivation. If not, find a database project that interests you. Maybe you are a sports fan. Build a database with sports statistics. If movies are more your thing, do the same with movie data. As long as you are personally invested in the project, it will work.

Learn something new about your skill at least a few days a week. Then, immediately apply what you learned to a real project. Then go back and learn some more. Over a short period of time, you will find yourself utilizing increasingly complex concepts in your work, but that’s not all. You’ll find yourself retaining what you learned.


Learning can be like an addiction. It’s fun and stimulating, but that time spent watching videos, reading blogs, and attending classes often teaches us little. To truly learn, we need to apply what is taught. So instead of going from tutorial to blog to book, spend time working on projects. Learn a little each day, then immediately do some real work. Learn, do, learn your way to mastery.



Leo Godin

I’m Leo and I love data! Recovering mansplainer, currently working as a lead data engineer at New Relic. BS in computer science and a MS in data