How to 10x Your Coding Productivity

Learn Less Random Stuff

A loyal reader of my Python email course, Lee, asked the following question:

“One of the first things I learned was that I needed to learn how to use the Powershell in addition to Python so I could write the programs in the IDE, then run them in the shell. […] Next, I learned about regular expressions and again I saw that there was much I needed to learn about this […]. Since then, the things I need to learn more about has grown exponentially; JSON, SQL, Numpy, Pandas, GUI, TCP/IP and much, much more, with no end in si

I like to really master something before I commit to it, but there are so many side avenues in Python that I fear I will never master it all. I need some sort of roadmap that will help navigate this ocean of knowledge in a manageable way.

So, my question is this: Is there a roadmap to what we need to learn and when?

Now that’s an excellent question! I fought this struggle myself for many years. However, at a certain point in my career, I was just forced to be more pragmatic. Since then, I committed to a dead simple strategy that makes me super productive. I will explain it to you in a moment.

Here is how your learning curve may look like (in good old ASCII art generated with this awesome ASCII plotter) when studying a new topic for seven days (y-axis: your skill level, x-axis: time):

skill level
+-----------------------------------+
| |
| peak level |
| XXXXXXXXXX |
| XXX XXX |
| XX XXX |
| XXX XX |
| XX XX |
| XX XXXX |
| XX XXXXXX|
| XX |
|XX |
| |
+-----------------------------------+
time

The key insight is that while you keep studying, your skills tend to improve. But as soon as you stop studying a topic, you will experience a constant degradation of your skill level.

Now, is it a good idea to keep studying Python library after library until you feel confident to use Python in real projects?

Of course not! It’s a Sisyphean task: while you keep pushing the rock up the hill, all other rocks roll down down the same hill.

Learning is useless with one exception: you manifest your learned knowledge in the real world.

How? Here is what I do:

Nowadays, I seldom learn just for the sake of learning. Instead, I first select my dream project and then master everything I need to complete it. Nothing more. My learning time is always laser-focused so that I can produce content or finish projects. For me, that’s the most productive strategy…

Now, Lee shared his core insight with me which I want to share with you as well:

“If you have read the Steven Covey book, 7 Habits, you know that one of is habits is ‘To begin with the end in mind.’ Figure out where you want to go, then figure out what you need to learn to get there.”

So what is your dream Python project?

Conclusion

Next time, before you buy a book or watch an educative Youtube video, ask yourself: what is the concrete project which this piece of information helps you to accomplish?


This article is based on one of the Python lessons in my free “Coffee Break Python” email series. Feel free to join us – it’s fun!

Leave a Comment