This post comes from my 2.5-year experience in the Tutorial Trap. This is an experience where new programmers continuously complete tutorial after tutorial, but never break out of their comfort zone to build something on their own. It can be scary to stop following the ‘pros’ and try things for yourself — but this is where the real growth happens.
— — —
My experience with the Tutorial Trap, or Tutorial Hell, lasted much longer than I wish on any programmer. I’m sharing this experience to help others get out of, or avoid, this loop. During my 2.5 years in the Tutorial Trap, I dabbled in front-end, back-end, game, and mobile development. I used many sources, such as DevSlopes, Udemy, Udacity, Treehouse, Flatiron, and YouTube.
I followed tens of hours of hand-holding projects, and yet, most of this information had not been retained. How could it be? I never took the training wheels of the bicycle.
There are other paths you can take, such as back-end development (Python, Java, Ruby, PHP), iOS (Swift) or Android (Kotlin) development, game development (C#, C++), Data Science (Python) and more.
There is no ‘right’ answer here. Everybody is interested in different things, and you should really just go with what you want to do. I encourage you to test out different areas before settling on one and focusing on it for a while. Which leads me to the next point — as a starter, you don’t want to try to learn everything at once. Read more about different software development areas and get an idea as to where you’d like to start.
Once you settle on an area of software development, stick with that area of development for a while. One major thing that helped me break out of the Tutorial Trap was telling myself, “I am going to learn whatever I need to be able to build anything for the Apple ecosystem.” This was at the end of 2018, and in January 2019, I set out to accomplish this goal. I was no longer looking for all kinds of tutorials that wouldn’t provide real value to my programming skillset. I began to only consume iOS content, and specifically followed the projects from Paul Hudson’s Hacking with Swift.
Within 5 months, I started building my first project on my own. It was a password management application that I called ‘Keys.’ It used a back-end powered by Google Firebase, and I was able to focus on pure iOS development during this time. The only possible way I could build an app on my own was by focusing on one area of development, and doing what it took to build my idea. This took a lot of Googling and reading documentation. I like to understand why things work the way they work and believe this is the key to a solid foundation of any topic or skill.
Failure is a huge part of success, and the only way to figure out what works is by understanding what doesn’t. One reason I didn’t build anything on my own was that I was simply afraid to fail. Fear will paralyze you — it’s that simple.
If you’re afraid to fail, then I suggest not learning how to program. Learning how to code is a process, and you’re not going to be a pro in 30 days. You really have to learn to deal with failure and understand that you’re just learning more and adding to your skillset each time you fail.
Be patient with yourself and don’t give up. Programming is hard, but you can definitely do it. When you get stuck, ask questions. Don’t be afraid to use Google. Seriously. Senior-level developers use Google every single day, and there is no shame in looking up information that you do not yet know.
It is not important to know everything. It is important to know where to obtain the information you need.
— — —
The Tutorial Trap is not a pleasant experience to go through — but a lot of people do. If you’re in the Tutorial Trap, you must know that only you have the power to break out of it. It’s really a mindset, and it’s frequently driven by fear. It can certainly be scary to try to build something without the hand-holding of someone else — but it’s in this environment that you will learn and grow the most.