Tutorial purgatory. We've all been there. The mindless scrolling, pausing, and playing. All the copying, and pasting of the coding snippets. It's a lukewarm place to be.
You're "learning" because you're making your way through structured content. But when you leave the tutorial, you can't code any of what you "learned".
The great thing is that you don't have to stay stuck in tutorial purgatory. I'm going to share with you my own experience about how I broke out of tutorial purgatory and how you can too.
Whatever method you decide to use, I'll share the key metrics for breaking out of the tutorial rut.
Painful Realizations About My Learning Approach
When I first started learning how to code I looked forward to learning anything and everything.
I'd Google "easy programming projects" and browse the first few search results. I kept my eyes peeled for tutorials because I thought I could avoid failure with the tutorial's help. I also believed that the more tutorials I completed, the more I would learn.
I couldn't have been more incorrect in my learning approach.
The unfortunate aspect was that I wasn't retaining the knowledge of what I was coding. After several months of "completing" tutorials, I soon came to grips with my lack of progress. I couldn't understand the code I was writing.
An example of this was when I completed a Flask tutorial. I thought I knew and understand Python from completing a tutorial. I decided to take w3 school's Python quiz and was confident I would pass. Unfortunately, I failed.
After I discovered I wasn't learning what I thought I was, I felt pretty hopeless. I thought tutorials were the key to learning. I thought about trying projects without tutorial help, but I was too scared to fail. I was burning with desire to become a great programmer, but I was out of ideas for how to do that.
How I Broke Free from Tutorial Purgatory
I spent the next several months sulking, but not for long. There was a determination within me to find a way.
After months of not touching a single line of code I sat down and asked myself, "what is it that I want to work on? What type of programming is out there?"
I sat and pondered answers to those two questions. I started researching different types of programming and various career paths. It was illuminating.
I found articles and forums on data science and analysis. I found helpful graphics that explained the difference between the front-end and back-end. I discovered how the front-end and back-end interact. I also found videos that explained what APIs were and how to view, receive, and write data from an API.
I would encourage you to ask the same questions:
What is it that you want to work on?
What type of programming is out there?
As you reflect on what it is you want to work on and explore, you'll begin to narrow down your learning path.
You'll feel less inclined to learn everything there is to know and more of what you are most interested in. You'll also feel less overwhelmed as you focus in on what type of programming interests you the most.
Meetups Changed My Life
Another thing I started doing was attending coding meetups. It's hard to imagine in-person meetups given that we're currently in a pandemic. But I remember my first coding meetup and how helpful it was.
Long story short, I had no idea what I was doing at the meetup. But I went with the intention to learn and open myself to different methods of programming. One of the facilitators ended up sitting me down and asked me why I was at the meetup.
After I told him I was there to learn more about programming, he helped me explore. He took me through different use cases for the Beautiful Soup and Selenium libraries. He ended up teaching me how to build a web scraper. After that meetup I realized data science and analysis interested me the most.
Throughout the next several months I had a renewed drive for programming. I had a specific vision and set of goals in mind. I began to complete small, simple projects. I built a web scraper that scraped financial data from the NASDAQ stock market. I also built a Java application that generated a random "workout of the day".
This is What Freedom Feels Like
Over the course of the next year I could feel my confidence grow. As I completed small, simple projects my comprehension began to grow as well. I started to recognize more and more lines of code from other people's scripts on GitHub.
Given that most of us are sheltering in place, I would recommend you don't go to an in-person coding meetup. That said, there are plenty of virtual coding meetups on Meetup.com.
I would also encourage you to check out the r/learnprogramming subreddit. There are some snarky individuals on Reddit who may give you a hard time for asking questions. But there are also plenty of people who are more than willing to guide, inspire, and help you. If you allow them to, they'll help you become a better programmer.
Your Keys to Success When Learning to Code
There are many ways to break out of tutorial purgatory. You don't have to do any of what I did. Whatever you choose to do, you should know there are a few key success metrics to guide you.
The most important metric is results. Are you able to complete projects without a tutorial guiding you every step of the way? Are you able to understand the problem and develop some type of approach?
Tutorials should help you so that you can go back and understand what you built with the tutorial's help.
The second metric is confidence. Do you feel like you're heading in the right direction? Do you feel like you're progressing?
Confidence can precede results, but it should never exist without results. Otherwise, you'll experience what I did while I was "completing" tutorials. You'll have, in essence, a false sense of confidence.
Tutorial purgatory is a miserable place to be. You don't know if you're heading in the right direction and learning to program can feel hopeless.
But take heart, you don't have to stay stuck in tutorial purgatory. Keep asking questions! Distill your vision so that you're not overwhelmed with having to learn everything. You're heading in the right direction if you're producing results and feeling confident. Time to break out of tutorial purgatory and you'll thank yourself later.