Going down the Programming Rabbit Hole
If you want to start learning programming today, it’s very easy. There are so many resources available online that makes it seem like you can become a good programmer in no time at all. I did a quick google search for “how to learn python” and the first thing that pops up is a video titled How to Learn Python in Five Minutes. This video gives you a basic outline of the steps you need to take to become proficient at programming. But the title is extremely misleading. The path to become a programmer is not always linearly laid out as the speaker described.
How to Learn Programming in Five Years
I think a better way to see how long it takes to learn programming should not be in minutes, days, or even months. It should be denoted in years. The reason I say this is because of the many sidetracks involved in learning programming. When I first started learning, I went through many books and online tutorials on how to learn Python. It was fun. The tutorials and projects given are simple. With enough time googling and reading through StackOverflow, I could do it with no problem. I saw in my mind the finish line is just up ahead. Once I finish with this tutorial, I can then be able to do create a useful program.
However, as I learn more and more, the finish line becomes further and further away. The best analogy I can give is that I though I signed up for a 10km marathon but after I ran for 5km, I looked up and saw that I’m actually in the 100km instead. That’s how I felt the moment I realized that I have only completed a very tiny part of my journey. Faced with uncertainty, I got sidetracked. I jumped around different resources to see if there’s a faster way for me to reach my goal faster. I went down the programming rabbit hole.
The Programming Rabbit Hole
There is an excellent article describing this experience, Why Learning to Code is So Damn Hard. Many beginners like myself started out with a large amount of resources to hold their hands. But as they learn more, the well of resources suddenly dry up. Now instead of walking a few feet to get water, they have to trek across an empty desert with no end in sight to find the next well. What made this difficult for me was the fact that I was thinking I could learn all this stuff by myself. I was wrong.
Programming is a lifelong journey. I walked alone on that journey in the beginning and it made me falter. To prevent that from happening to me again, I decided seek help from other people. I’m fortunate in the fact that one of my closest friend is a programmer. We spent a lot of time hanging out together so when I came to him for help, he provided me with a lot of resources and insights to keep me going on the right path. I’ll always appreciate all the help that he gave me. I also joined different online communities to get help and people have been very supportive. I’m really glad that there are people who give their time and knowledge to help beginners.
“The reason most people give up is because they tend to look at how far they still have to go, instead of how far they have come.”
I realized now that trying to do everything by myself was a foolish endeavor. There are other people who were in the same shoes as me before and they can guide me to the right path. The only thing I need to do is ask.