Day One: Back at the Firehose
Last Friday I wrapped up our one-month stint on the internal Code Academy project, and while I’ll have at least one more post about that experience and how it went (spoiler: fantastic), this week it’s on to something new.
Right before I started the C.A. project I submitted my tic-tac-toe app to 8th Light to apply for an apprenticeship, and despite still having one bug (and all sorts of smells(1)), I was invited to start an apprenticeship under Mike Jansen, who had been my mentor through C.A. So, I wrapped up the project on Friday and began my apprenticeship Monday (yesterday)… and I’m definitely right back drinking from the firehose. This next step is going to invole a whole lot of learning.
One of my tasks as an apprentice will be to blog every day about my experience in order to practice and strengthen my ability to communicate the more detailed technical aspects of what I’m learning and the projects that I’ll be working on (so no offense if anyone would like to hit the “unfollow” button now). This will be a very good challenge for me as I’ve tended to keep my blogs up to this point at a pretty high level- which I’ll still do but more frequently I should also be getting into the nitty gritty.
But to wrap this up, some quick notes on the first day:
- There are currently about ten other apprentices right now (eight of which were in the office) so it felt quite a bit like my first day at school, but if Code Academy was walking into my first day then this time it definitely felt more like I’d just been on summer vacation and was just stepping into a new classroom.
- The “back to school” feeling was certainly reinforced by my new reading list. Mike handed me two books totaling 700 pages to get started: Uncle Bob Martin’s PPP Book and Pete McBreen’s “Software Craftsmanship: The New Imperative”. Yesterday was spent mainly reading.
- I’m also working on two exercises right off the bat: the Prime Factors kata and a rewrite of my TicTacToe app in pure Ruby.
Time to get work.
- Smells can be either “code smells” or “design smells” that reveal problems with either code or design. Although the code may work, it’s not very resilient to modification or updates or makes much sense to someone else who may decide to work on it.