My year of learning to code, in review

This article can also be read in German.

At the beginning of the year, I started a Python beginner course at Codecademy. It was my first serious attempt to learn programming. My initial experience turned out to be quite positive. In my one-month review I described how the service managed to keep me motivated through various small success moments. However, it was unclear whether that would continue with increasingly challenging tasks. Would I eventually quit?

I did not. Even 11 months after I printed my first “hello world” with Python, I am still pretty eager to dive deeper into Python programming. It’s tremendously rewarding and enlightening to learn more about the processes that constitute the foundation of our digital world.

In hindsight, I conclude that the Codecademy course was the ideal entry point for learning Python. However, only one course is offered. Once you are done with it you have to find other options to continue. I was finished in May. Shortly afterwards I gave Codecademy Pro a try for one month (cost 19,99 USD) in order to unlock a few additional projects but I did not get too much out of it.

Do like more than 250 other smart people (as of November 2016) and sign up for the weekly email loaded with great things to read about the digital world. Example.

I would have loved if Codecademy offered (paid) follow-up courses. It would make so much sense. The site recently announced a complete revamp of the Python course, scheduled to launch in the first quarter 2017. We’ll see what will come out of that.

After Codecademy I did some research and learned about a tutorial book called “Learn Python the Hard way”, which can be accessed for free online. Author Zed A. Shaw provides dozens of excellent and pedagogically explained chapters filled with Python tasks in increasing aspiration levels. For those tasks I had to use a code editor (TextWrangler) and a command line editor (Terminal on macOS) for the first time. At Codecademy, everything runs directly in the browser. That is convenient, but being able to use “pro” tools felt right.

Learn Python the Hard way is also directed at beginners. I was able to use a lot of the knowledge that I gained from the Codecademy course which enabled me to proceed swiftly through the chapters. I also learned a lot of more things. But at the end of the book, the tasks actually became too challenging for my taste, so I lost the motivation to finish them. As one out of several side projects, I only invest about 2 hours a week into programming, divided into about 3-4 chunks of about 30-40 minutes. So it became clear to me that expected learning curve must not to be too steep.

Now I again was faced with the question how to proceed. I briefly checked out the Python courses offered by Coursera and Treehouse. Both seem to focus on video lectures. Many prefer this approach, but my preference is to read and to determine the speed of the information collection myself. Also I did not find the fragmentation of the courses appealing, and in the case of Coursera, neither the time limitations of the courses/classes. I am not saying that these sites don’t provide useful material for learners. But they don’t match my personal learning habits.

Eventually I discovered Google’s free Python course, which I found to be the perfect next step in my still very young Python “career”. The course targets people with “a little bit of programming experience”. In a few compact chapters the most important components of Python are explained and enhanced with exercises packed into downloadable Python files. The course helped me to refresh what I had learned before and the exercises included various challenging tasks which required quite some online research, but which eventually were still doable before I would have lost my patience.

I’m not fully finished with Google’s exercises, but I have now started to create my own little tasks – by building a pretty simple chat bot which I slowly keep enhancing. I still have to look up most of the code I need, but unlike in the beginning I start to see much better already what has to be done to achieve a goal. Fortunately, the programmer community Stackoverflow offers answers to most questions and situations. Usually it is enough to do a Google search by literally spelling out what is needed (such as “how to raw_input only integer python”). Every time Terminal executes my code exactly the way intended, I feel a rush of happiness and satisfaction.

From my point of view, the learning path of Codecademy, followed by Learn Python the Hard way and Google’s Python course is ideal for everyone without any programming experience keen on learning Python. If you are willing and able to set aside 3 or 4 times 30 minutes a week, you can get to a point at which programming does not seem like magic anymore and at which you are able to solve very basic everyday problems through a command line editor within less than 12 months.

As a concrete project I am thinking about creating an online chat bot which I for example could use for distribution of links. But right now I am still way too inexperienced to fully build this, so it might take a while to get there. But that’s fine, I am not in hurry. I am planning to continue with the current time investment. I consider this a low-intensity long-term project. Not everyone is the type for that kind of approach, but I prefer it. However, one could of course accelerate the progress by investing several hours daily. Then one would accomplish within a few weeks what took me eleven months.

If you like what you read, you can support on Patreon!


Leave a Reply

Your email address will not be published. Required fields are marked *