Apprentice.IO - Week 1
I’ve just finished my first week of the apprenticeship.
The way it runs is that you get assigned a mentor who is responsible for guiding your growth during the apprenticeship. This mentor changes each month so you get exposed to different teaching/coding/working styles and allows you to experience different clients and projects throughout thoughtbot. My mentor for the first month is djcp and it has been awesome working with him. One of the things he’s been doing in his investment time is manage the thoughtbot laptop script for getting a development environment up and running quickly. He has this awesome rspec suite that loads up a virtual machine for each supported Linux distribution, runs the script, then makes some assertions to check everything is setup. The problem he’s working on now is that this doesn’t work for osx as you can’t easily run a copy not on a mac. Oh, you can also download a vagrant box with the laptop script already run here.
Anyway, we spent a lot of time this week interacting with the client. I like to think I’ve got a good handle on this already, but it was awesome seeing the level of communication thoughtbot has with it’s clients. Very refreshing. I got to pair a lot more then ever before, delivering features that are test driven. Something I’m looking forward to next week is having some feature branches merged and going through the code review process.
I’ve been reading apprentice patterns by Dave Hoover and Adewale Oshineye. I’ll talk about this again when I have more to say but it’s been enjoyable so far.
Something they encourage here is having a breakable toy. Something you care about but isn’t going to cause issues if you break it. It gives you a playground to apply concepts you’re learning. My breakable toy is a flu tracking app designed for hypochondriacs. I’m writing some feature specs at the moment and going to get them all passing purely with wire frames so I can start thinking about things from a user’s perspective. Once these are passing I should have a much better idea of what the business logic needs to deliver.
Finally, on Tuesday there was the Boston Ruby meetup which was a blast. They typically have two speakers and provide pizza and drinks then go to the bar afterwards. This really felt like a tiny conference they have once a month and was absolutely incredible. If your not going to your local ruby meetup, your missing out on something truly wonderful.