This week marks my one-year anniversary of learning to program, and subsequently this blog’s birthday. In most ways I definitely still feel like a n00b (especially this week as I struggle to optimize my second implementation of minimax), but it’s been a pretty big year. 14 months ago I was still heavily involved in the cycling world… and then a series of events led me to Code Academy … and 12 months ago we started class. The rest I’ll leave up to the retro…

Happy Face (Good):

  • The amazing teacher, classmates and support around Code Academy. We learned how to program, how things work, and how to turn ideas into applications. In three months most us went from zero to knowing Ruby, Rails, some Ajax and even a little JavaScript. We also learned how to vet ideas and boil things down to a minimum viable product.
  • More importantly, we learned how to learn and to be beginners.
  • The Code Academy support structure paired me up with this guy and led me to 8th Light- the best learning environment I could have hoped for and a smart, fun group of people.
  • In my seven months at 8th Light (two as a novice apprentice and five as a resident) I’ve dived deeper into Ruby and JavaScript and learned test driven development, new languages (Clojure & Java), new frameworks (Limelight, Sinatra, Joodo, Speclj, Jasmine, Cucumber…), object oriented design patterns, the SOLID principles, and how to start writing robust and clean code.
  • Rosa, my family and my friends have all been unbelievably supportive the past year. This “shift” has required even more time and focus than when I raced full-time, and their understanding and encouragement always makes it feel a little easier.

Sad Face (Can do better):

  • Although I’m learning a lot all at once, my learning curve for some new concepts is still steeper than I’d like it to be. It continues to shallow out, but I’d like it to be better (I’m looking at you Backbone, JavaScript and algorithms).
  • Sometimes I find myself focusing too much on the completion of one task instead of coming up for air and taking a break or even working on something else. I did this occasionally as an athlete too- I’d focus too much on the goal of A without letting myself even think about B or C. If I only ever wait to do something until I have everything else finished then there’s a lot of great things and fun projects I might not do.

Delta (To change):

  • Don’t be shy about asking for help sooner. Banging my head against a wall is only so productive- and more often than not- I can answer my own questions just by saying them out loud.
  • Allocate specific times for “breakable toys” and learning. As an apprentice I have the luxury of almost everything being centered around learning, but there will be a time when that’s not the case and I should have a routine already established.
  • Learn that it’s ok to “take my eyes off the prize” and have a little fun (or at least work on something else).

It’s been a great year. I guesstimate that I’ve averaged about 60 hours a week of practice and learning, which puts me just over 3,000 hours into my 10,000. Two and a half more years and I should feel like I know what the heck I’m doing.