Before 2020, I never thought I’d be a programmer or a software engineer. I wanted to work on cars and design engines for a living. When the COVID-19 pandemic struck, I couldn’t sit still and play games anymore. Everything felt boring, so I convinced myself to learn how to make games to pass time.
If you’re stuck finding out how to get into programming and past tutorials, then you’re not alone. Many developers get “programmer’s block” when trying to find a place to begin, and one of the most infamous places people get stuck in is a tutorial loop. For example, if you wanted to create a method that could read or write to files, you’d find a tutorial and complete it only to realize that you should understand how the input and output system works underneath. You search for a demonstration that explains how it works and the cycle continues.
Getting out of a tutorial loop means starting a project on your own and not fearing mistakes. You don’t have to understand everything the moment you open your code editor. If you’re unsure about something, then don’t be afraid to look it up and don’t be afraid to make mistakes. The goal is to get as far as you can without worrying about correctness.
Popular resources such as W3Schools, Stack Overflow, YouTube, and even Reddit can be useful for finding information. The first tutorial I followed on YouTube used inefficient methods that could cause issues adding to the project later on. However, it gave me a starting point. I built off of the tutorial and researched each part I wanted to add. If I wanted to make a light go off, I would read documentation to learn how it’s done. The learning experience came from following along with the tutorials and examples that sites provided instead of copying and pasting the snippets authors have made.
I get lost in my own projects a lot. If I catch it happening, I’ll use a paradigm, known as “Make It Work, Make It Right, Make It Fast.”
The first stage is getting a project to function without worrying whether something is efficient or not. For example, if you were to have a bunch of items in some sort of container and you realize that you want to find an item by its name, you would have to redo previous chunks of code you’ve written to tackle the problem more efficiently. Instead of going backwards when you’re most productive, do an easy solution and put a comment nearby that reads, “TODO – rewrite for better optimization.”
The second stage is about correcting mistakes and fixing any bugs that arise. In other words, try to break it. Remember to write down what breaks so that you can go back and fix it.
The last steps are improving efficiency and getting it to run faster. If there’s poor or inefficient workarounds to problems, now would be the time to fix them. After repairing bugs, check whether the code is performing fast and find points where speed is beneficial.
Learning programming can be overwhelming at first and frustrating at times, but if you stick with it and learn the basics, the rest becomes easier. Learn to be accurate first, and speed will come in time.
