This blog is my way of capturing the things I learn as I try to go from zero to hero as I learn to program. There are 2 key things that led me here.
1. At the start of 2013 I heard that billionaire Mayor of New York, Michael Bloomberg had announced that he was going to learn to code this year. (actually it turnd out that it had happened in 2012!!).
That was enough of a prompt for me to consider coding a new form of literacy and I needed to up-skill. I began my journey in January 2013 with a university Java course. The computer science learnings were good and helped me understand the key principles that underly any programming language but I found the teacher very boring and disengaged and I found Java a difficult language for a beginner. At the end of the course I could write simple apps in the command line (e.g. a blackjack game) but we didn't learn any web frameworks. In the second half of the year I learned Ruby on Rails at General Assembly. The course used a learn by doing approach and so I felt that I learned a lot more. Plus Rails is about the easiest way to get a dynamic website built in munites.
2. On 30 Nov 2013 I read a LifeHacker article about the Seinfeld calendar. It is such a great and simple idea that has transformed the amount of progress that I have made towards being a competent programmer. (http://lifehacker.com/281626/jerry-seinfelds-productivity-secret)
I was stuck on one topic (associations) and was feeling like giving up. But then I read about the Seinfeld calendar. Basically it is about doing something, anything, every day.
Image: An example Seinfeld calendar
This totally changed my approach. In order to do something on day 1 I used some simplescaffolds and played around with them. Then I wanted to make it look nicer so I spent a few days playing with Bootstrap (getbootstrap.com). That led me down a CSS rabbit hole for another few days. It was equal measure of fun and frustration but I was learning something every day.
Image: Github's implementation of a Seinfeld calendar
The only problem with the Github calendar is that my learning is sometimes about reading and sometimes about experimenting on my laptop where I don't make commits. So I have started this blog to document my progress as I learn.
Perhaps if I ever decide to try and work as a Rails developer this blog might provide some insight ot my prospective employer. Or otherwise I hope that someone else that is on the journey from zero to programmer hero might find some reassurance that it came be done if you just stick to it and keep mking progress every day.