What is tutorial purgatory and how to overcome it?

Jessy The
Clever Programmer
Published in
9 min readJan 6, 2021

--

Do you feel like you’re trapped in the movie Inception1 when it comes to learning how to code? For people that have not seen this movie, long story (very) short, it’s about being trapped in a dream, which could be entrapped within another dream making it seem like you’re in an infinite loop of dreams without any exit out of it.

That’s also how tutorial purgatory feels like. You’re doing tutorial after tutorial to the point where your portfolio starts to become this big pile of small projects of which none gives you the feeling, like you’re actually able to build something based on your own accord. This lack of confidence is your motivation to do the next tutorial again and whoop there it is: you’re stuck in the cycle of tutorial purgatory.

It’s really important to get out of this like…right now! It’s possible this could make you feel like you’re never studying enough, that you don’t have what it takes to become a professional developer or that you’re not knowledgeable enough and therefore need more practice.

Have no fear anymore, this article’s coming to the rescue! Read below a big list of tips I’ve written and have applied myself to step out of a tutorial purgatory. The biggest tip and first action is: *drumroll* — to start your own project from scratch!

Now you might think. ‘But Jessy…that’s exactly what I find hard to do because otherwise I would’ve already been out of the tutorial purgatory by now… I mean, how do I start a project on my own if I even don’t know….how to start that?

Let me ignite your spark of motivation.🔥🔥🔥

To start your own project means having certain mindsets

Doing tutorials back to back is equal to staying in your comfort zone. The author of the tutorial has laid out everything for you, from frontend to backend, to the solutions, the tips and all the tricks. You hardly see an instructor googling for a solution during a tutorial unless the code breaks unexpectedly (and he/she keeps filming it). If that does happen, that would make it a really good tutorial actually because it’d be an absolute accurate depiction of how a developer works on a daily basis. Googling solutions 90% of the time is the name of the game called coding.

That’s why I love the Live Coaching Calls of Sonny and Naz every Tuesday and Thursday because when their code breaks, you get to see them solve the problem LIVE! Next time at the call, pay attention with what kind of grace and resilience these gentlemen solve these problems and the questions they google. Software development requires a lot of knowledge but also having a powerful mindset and never giving up on finding solutions. Let’s go :fire:!

When starting your own project, there are two very important mindsets to have;

  1. Be willing to step out of your comfort zone.
  2. Be resourceful when it comes to looking for solutions and don’t give up until you have an answer to your question.

Your reasons why are the things that will keep you driven during coding.

Why do you want to become a developer? The answer to this question is very important when it comes to making this project and many more to come.

Maybe you’ve already experienced during tutorials, that you stumbled upon a bug which you were not able to fix in the end. Not to scare you off but during a project of your own, this is bound to happen way more. Therefore, it’s important to have and know your reasons why as those are the things that’ll keep you going (and sane!).

For me personally, one of my reasons why is to level up my skills and get better as a developer and the only way to do that — is to practice it A LOT. Practice will create competence and competence will lead to confidence. Write your reasons why down and look at them every day. Especially on those days when the number of bugs is just overwhelming, then ground yourself again after reading your reasons and go back to the two kinds of mindsets mentioned above.

Another really important question to answer is: why is this project relevant and valuable for you to create? What is the benefit of this project when it’s totally finished and how will you feel about it then? These answers will contain a lot of power too and will drive you immensely during your project.

Okay, are you motivated and pumped now? Let’s get to work.

You’re going to make a setup now for your own project as to get you out of the tutorial purgatory. Ready? Because there’s no way back after this :D! You’re going to love it, I promise.

1. Design your own project on paper.

Everybody is able to draw rectangles that look like mobile screens or websites and design the flow of your app. Imagine you’re the user, then how should your app work? What’s the goal of the app? What are the benefits for the user when using it? If you don’t know where to start when designing an app, what do you do? Yes, exactly *whisper* G-O-O-G-L-E :). You got this! One advice is to have a plan with visual designs ànd a written plan which reads like a business plan, showing things like the features of the app, the benefits for the user and the goal of the app.

2. Make a plan of application

A plan of what? I call it ‘a plan of application’ which is a plan whereby you know exactly what technology to apply to your app but also, which resource you can use for this. Now is the time to apply the theory of those tutorials to some real live project and this is a way to structure that workflow. This is about making a list, to use as an overview and it should only take you about an hour maximum to make. It’s not about re-watching all of the tutorials!

a) Go through all of your tutorials.
b) Categorise them per topic in a folder in the bookmark manager in your browser.
c) For each feature of your you’re going to build, you choose the fitting tutorial. You could list them out fully but knowing which tutorials you’re going to use for your first feature, is the most important now.

It’s my own practice to do this but I also like to bookmark solutions and snippets of code when programming so I have an archive of resources and solutions to use at all times.

3. Show your design and your plan of application to a senior developer

Why? A senior developer can show you the gaps in your approach to building this app because of his or her experience. He or she will definitely be able to tell you as to which aspects you should pay attention and give you a push in the right direction. Also ask for resources on topics that are totally new for you — but don’t touch them yet! Overall, this consult will save you a lot of time and energy. If this senior developer could become your mentor and accountability partner, that would be phenomenal!

Now. Your first next step is to start building the first feature of your app immediately and only use any existing tutorials that you have. From now on, you do this with each feature to be build and…Congratulations! You have stepped out of the tutorial purgatory!!

To keep this positive state of mind and stay out of the tutorial purgatory, here are a few tips on maintaining a healthy balanced way of studying and coding on your own.

#1. Code every day and build a habit out of it.

This daily practice not only helps you to become good at coding but moreover, also builds your self-confidence when it comes to writing code on your own. Coming out of tutorial purgatory, you need to overcome a certain ‘writers-block’ and the only way to do this is by coding every day. This will also train you into the habit of thinking — what can I do to start writing? What do I want to build (the feature) and what do I need to code for that? Especially when doing this and only holding on to existing resources, you’re being forced to start writing code with the knowledge that you currently have. Which is exactly what we want to achieve after stepping right out of the tutorial purgatory!

#2. Write a daily log of your coding sessions and your KPI’s (Key Performance Indicators)

When you code every day, you should log about the bugs that you solved, the lessons learned, the topics to be studied for other features of your app and probably way more! These things are so important to write down! They build your confidence, they will act as motivation when you’re feeling low, they will show your growth and it’s just amazing to see what daily logs can do for your mind as you get a clear overview of your process.

KPI’s are more specific than daily logs. I’m a real number geek so I need numbers to give me some insight on what I’m doing. These are the KPI’s I kept track of:

Lines of code / timeframe — ratio : How many lines of code I wrote per day within a certain timeframe. I would commit and push my changes every day to Github and then use this command git log –-stat so I could see how many lines of code I’d written that day.

Focus in percentage: A percentage whereby I show how focused I was during my time coding. Remember when writing your KPI’s, you have got to be honest with yourself otherwise it’s no use!

Coding / study — ratio: This is my most important KPI. This one is about how much percent of the time I was actually writing code and how much of the time I was reading or doing a tutorial. This one is very important when coming out of a tutorial purgatory and also to avoid going back to it!

#3. When selecting new tutorials, follow this checklist;

Sometimes you need to get more knowledge and need to read or watch tutorials. From now on, this is what you do when going through a new tutorial:

a) Only select the topics or parts of the tutorial that are relevant for building your feature.
b) If you happen to see topics that you might want to use later, save it in the relevant topic folder of your bookmarks for now.
c) Watch maximum 2 tutorials, then start applying the theory of those immediately on your app. If that didn’t work, watch another tutorial and start applying. Don’t watch 5 tutorials back to back just to feel certain about yourself. You have to keep out of the tutorial purgatory!
d) There is no tutorial that’ll 100% match the feature you want to build, just look for the parts that you need! For example, I made a chatroom for my chatbot based on the WhatsApp Clone of Clever Programmer!

#5. Build your muscle of asking and formulating your questions through Google or a community like CP

Software development is 90% problem solving of which 100% happens via Google. In order to get a certain answer, you need to ask a certain question. Since you almost never see this practice in tutorials, coming out of the tutorial purgatory, you’ve never been trained in asking the right questions.

This is a formula you can use when asking a question.

a) Explain your error and give it enough context. A screenshot would help a lot.
b) Formulate the question. This takes some practice so ask yourself: How would you state this question if you’d have say this to your mentor in real life?c) Start typing this question in Google. Just try it out. What often happens is that you come across certain terms, which are relevant for the problem and then you use those to formulate your question even more concise.
d) When posting a question in a community, don’t only post the error and the question, but also show what you have done up until now to solve the problem in clear steps.

When you’ve stated your question this way, more people will be more likely to understand it, and answer it, which will make you progress faster.

That’s a wrap! These tips will not only get you out of the tutorial purgatory I believe but will also help you become better in coding ànd looking for resources on your own. Especially this last part is so incredibly important to practice! Let me know what you thought of them and if there are any questions!

I challenge each one of you to write your KPI’s daily in the Slack app and hold yourself accountable and other fellow Clever Programmers. If you’re really bold, go announce the date on which you’d like to have deployed your app, that way we can all celebrate with you when that time comes!

Keep coding, keep going. Or like we say here at Clever Programmer: Let’s gooo ! 🚀🔥

1 https://www.imdb.com/title/tt1375666/?ref_=fn_al_tt_1

WRITTEN BY

Jessy The

FullStack Developer | Loves to code and write….oh and coffee!

12

--

--

Jessy The
Clever Programmer

Frontend & Web3 Developer | Teaches you how to build anything in code, career and life! | Loves anime, coffee and code! Warrior name: Happy Cloud