Don't Buy Another Course, Just Write Code
Tags: beginners, programming, productivity, codenewbie
Published: 2023-10-28 19:21:22

_Tutorial Hell:_ the vicious cycle of starting but never finishing tutorials that results in very little learning.

We've all been in tutorial hell at one point or another. Most aspiring developers never make it past this time sink. Fortunately, you can escape tutorial hell and develop marketable skills by simply writing code.

## The Problem with Buying Courses 
### Collecting Courses and Doing Courses are Two Different Hobbies
I recently got back into reading and quickly learned that buying books and reading books are two separate hobbies. The same is true with buying courses. I love buying courses and am constantly curating my backlog of things to learn. It's a rush to buy the perfect course and daydream about going through it. However, especially with newer programmers, this is harmful to your growth. All too often, newer programmers start a course, run into a tricky section, and then drop the courfse entirely and move on to the next fun thing. The result is you never make progress and waste time.

### False Sense of Progress
If you actually start one of the courses you bought, watching a tutorial on a subject and following along is often a trap. If that is all you do, you will _think_ you learned a lot, but when you open your editor, you will be lost. Don't get me wrong, tutorials and mini-projects are a great way to learn. But you need to _extend_ the project and apply the knowledge. 

Now that we know _why_ buying courses can lead to tutorial hell and how to prevent it, what should we do?

## Develop a Project to Completion
As previously mentioned, you can extend the project in your course to develop your skills. Adding a new feature or changing the back end database are great ways to do so. However, I encourage you to create a new project outside your comfort zone. This will enable you to apply your newfound knowledge while making mistakes and learning through experience. Most importantly, it allows you to write code. Stumbling through developing a web app with authentication, a UI library, and other technologies hones your skills and gives you experience writing code. As Han said in Tokyo Drift (adapted for the subject at hand, of course), "There is no wax on wax off in coding. You learn by doing it."

### Don't Feel Pressured to Make it Amazing
When first learning, there is no need to focus on making your projects feature-rich or beautiful. Learning how to structure a website is miles more important than learning how to make it visually appealing (which is still essential, but not initially). Avoid letting perfection get in the way of done, and avoid spiraling back into tutorial hell so you can learn one more thing for your project. Write the code and use what you learned to improve the next project or iterate on the one you just completed.

## Takeaway
I won't lie to you: making projects is _hard_. But not making progress and wasting time is hard, too. You will get stuck, stumble, and frustrated. It happens to us all. But I encourage you to push through and complete your project. Learning to unblock yourself and follow through on a task are vital skills in both software engineering and life in general.