In the month since Code Academy ended I’ve been quite a bit less focused than when I just had to show up every day and practice the lessons, but the lack of focus hasn’t meant a lack of work- it just means that the work has been a bit all over the place. The one area that I have tried to focus is just studying the fundamentals of being a good developer. Although testing and TDD will be my next big step, for now I’ve been working on shifting my brain to this whole new world of problem solving.

When I ran cycling teams and events I was used to figuring out things like how to move eight riders from one location to another while simultaneously feeding them, having them sleep, being at a race meeting, making an airport run, picking up a rental car and planning out race tactics and strategy. Now I’m solving problems like parsing data, iterating through it, selectively processing and associating it with other data, displaying it for the user, getting input from the user, updating the data, and displaying it back. Both jobs were about processing data and tasks, but I had years of experience doing one and now a whopping four months doing the other (I can’t believe it’s only been four months). So, just like I used to spend hours on end doing pedaling drills, I’ve been spending some time on the basics.

After we wrapped up the Hartl tutorial I worked on finishing the rest of the Ruby Koans as well as tackling the “challenges” in Chris Pine’s Learn to Program book. Based on the recommendation of fellow CA classmate(now CA-TA) Raghu Betina I also started tackling a few Project Euler problems and also recently started 8th Lighter Josh Cheek’s Ruby Kickstart lessons. All of these resources have helped immensely in their own way.

The Koans take you through almost 300 different lessons of what Ruby can do by having you correct code that triggers failing tests. I actually started these my first week of Code Academy and just had 100 or so left to finish. As Neal has often said about the koans, I don’t know that I was able to retain a lot from them, but the one area where they were a huge help was being able to read error and failed test messages and learn from them. I think that my comfort level with seeing an error message and being able to read and learn from it was a huge help during Code Academy.

I’m pretty sure that I’ve mentioned the Pine book before so I’ll just say that it’s a great introductory book that’s actually pretty fun to read (and even @rsanmarchi appreciated his Buffy the Vampire Slayer examples).

The Project Euler problems are a series of math and programming problems that definitely make the wheels turn- and in my case, smoke start billowing out of my ears as those rusty gears finally start moving. What has been the biggest challenge for me is that I know how I would solve the problems on the back of a napkin or talk through them, but not always using formulas or characters. (I am seriously regretting not taking any math back in college.) Fortunately the more time I spend with Ruby the better I’m able to translate my “talk out loud” figuring into objects and methods.

Which brings me to the Ruby Kickstart videos. Josh was who I paired up with for the “silent session” at the Global Day of Code Retreat and it was when we were allowed to talk that he mentioned Ruby Kickstart. I didn’t have time to check the lessons out during Code Academy but I started them last week and they’ve been great. It’s a series of six videos and Josh does a great job of explaining things in plain english. Some of it has been review for me but that certainly isn’t a bad thing and it’s always good to hear something explained in a different way to provide more perspective.

The big coding challenge this past week was the 8th Light “Tic Tac Toe” challenge. 8th Light asks anyone applying to their apprenticeship to create an unbeatable tic-tac-toe app in any language they’d like. I’m definitely interested in the apprenticeship and I also figured this would be a good problem-solving challenge. After a few missteps almost positive it’s to the point that it’s unbeatable, but I know that my code is very basic and I’m looking forward to refactoring and even learning how to test it.

Along with those lessons I’ve also gotten started on a few different books: Clean Code, The Agile Sumarai, Rails Test Prescriptions, and continued to try and work into The Rspec Book. On the coding front I’ve also spent some days with Tommy C on HighFiveJobs and the good folks at Killswitch, who let me come in to read through code on a project and see if I could help out a bit.

For the next month I get to team up with my CA alums Paul and Dan (with the guidance of JC Grubbs and Jeff Cohen) on something entirely new. I’m not going to let the cat out of the bag for another few days, but regardless of what the project is I’m really excited to be working with these guys. More soon…