Escape tutorial purgatory
Posted: March 5, 2020 / Last updated: July 30, 2022
I’m pretty sure that Purgatory is an off metaphor here… but it feels so Intense! So, is it click-bait? I’m not sure.
Before I try and figure out what to call it, I’ll need to map it out and find out what all the pieces are.
Decide what tutorial purgatory is
It feels great! and then yucky… and then Great! – and then…
Figure out if you are in it
What are the signs?
Understand how to get out of it!
What steps can you take to right the ship?
Does this look familiar?
I know this place very well. I spent many many lost nights there. But, I wasn’t sent there by some outside force. I willingly chose this path over and over and over again in the hopes that I could speed things up. I had all the concepts organized in my head, and I just needed the code right? (no, not right)
Well, in retrospect it was a bit arrogant, or naive depending on how you want to look at it. Not only did I want to learn quickly, but I wanted to learn it exactly the easiest most to-the-point way. Sometimes you fall into this trap for a night, or a few days, or a month, but when you string them together I’ve seen people stuck in this loop for years. It’s not only that you are losing time, but each loop seems to further distort your mental models and leave you with less and less confidence. The optimism that I could bend time and somehow skip the line was like a drug.
But, it’s not really a situation I fell into, or that someone put me in. I was choosing this irrational path. I thought that I could learn faster than reasonably possible. I did that to myself.
This isn't only a problem for beginners!
This happens to us at all stages of our careers if we’re not careful.
What are the other options?
So, I guess this sorta looks like an above / below type of thing if you’re trying to relate this to heaven and hell. But, I don’t think that the top is really a heaven, it’s just normal. I’m unsure why up seems good. I’ll draw it out again, with a different style.
Putting it in a line
Now it’s more clearly an obstacle instead of a path.
It looks like a whirlpool here.
A whirlpool is a body of rotating water produced by opposing currents or a current running into an obstacle.
So, if it’s two opposing forces I’d say that they are wanting something to be easy and it not being easy.
If it’s an obstacle then it’s the fact that we don’t know how to do it? I’ll have to think about this more.
What we suggest
So, I’m not really sure what to say about the problem. I’m much more interested in the solution.
Stairway to (not hell?)
It’s hard to fit a never-ending stairway in this image. So, hopefully, the way this is stacked still makes sense.
Things get spotty!
If you were to bounce around learning a little bit about A and a little about D and not really putting your understanding of F into practice, things start to get disconnected. This is where you’re building your mental model for how things work and it can get really distorted. You can always adjust your mental model later, but I find that it takes 10x the work. The other thing is that we create these really vague ideas of how things work and then we accept them without even understanding them consciously. Those are really hard to untangle. Maybe that doesn’t make sense, but I’ve had to reteach something to someone who was sure they understood it perfectly and it was wild to see how very little they could explain their understanding of the subject. When you’ve got a bunch of distorted/disconnected tools it’s hard to put them together, and it’s hard to even know how to ask for help.
If you have a clear set of mini-goals, then you can layer concepts in order of importance. Then you need to practice each concept until it clicks. In a real-world situation that means something to you. If you’re just following along as someone pulls in all sorts of 3rd party dependencies and follows a happy path to creating some twitter clone, it’s probably not going to stick.
Instead, you need to think up your own project! And you need a path that layers up the concepts based on importance.
So, how do you get out of it…
Stop following along. If you really really really think that a tutorial is going to be a valuable one, use it differently.
If you can completely avoid them that would be a good start. You might need a break! I highly suggest this book: Exercises for Programmers
57 Challenges to Develop Your Coding Skills by Brian P. Hogan. This book is language agnostic, meaning it’s just a set of challenges that could be completed by any number of languages and language combinations. If you can’t solve these problems yet then I suggest you take that tutorial time and move it on over to this book.
If you are at a place where you feel like you have a really good reason to follow a tutorial, like you need to learn a new framework for a job, or you want to learn about something fringe, try this:
If it’s a text/images tutorial: Read it and take notes on the core concepts. Don’t follow along. When you are done takes those notes and try to build something completely different (or different enough) than the example in the tutorial.
If it’s a video tutorial: Watch it like it is a TV show. That’s all. Just watch it. Don’t follow along and try and copy. Just watch someone think things through and see them in action. If it feels too ‘magic’ then just leave it behind. If you feel like there are some solid learnings in there then watch it again and take notes on the main concepts. Then try to build something completely different (or different enough) than the example in the tutorial.
Even though there is a never-ending stream of tutorials, lessons, classes, documentation, and there are educational materials just falling from the sky all around you doesn’t mean they’ll be able to teach you what you want to learn well enough. So, why keep trying to brute-force it? We have a very well documented history of apprenticeship that has worked out really well.
I think that calmly learning things in order (based on an incredible wealth of experience) is a strength and not a weakness. Learning design and programming by yourself isn’t a sign of intelligence. In most cases, it’s just plain silly. If you must go it alone then check out that book I mentioned and put a self-imposed learning framework in place.
Have you found yourself in tutorial purgatory!
Do you want help climbing out? Set up a meeting today.