Journeyman: thoughtbot

thoughtbot is a company that to most Rubyists needs no introduction. Legion are its employees' contributions to the open source ecosystem.

My first encounter with thoughbot occurred four years ago when Mike Burns moved to Stockholm and started looking for gigs around Christmas 2011. The following spring I had the pleasure of Mike and later also Arun Agrawal reinforcing our then small team with invaluable insights and know-how. I'm pretty sure I learnt more nuances of Ruby those months than during the previous several years. Afterwards, Mike would remain in Stockholm, setting up thoughbot's first office this side of the pond.

It was a given that I'd grasp the chance to pay the local robots a visit during my journeyman tour. After some scheduling issues, we eventually settled for a week in November. Far from surprising, my notes from that week are sparse as we just paired up and got to work as in days of yore.

The Monday I arrived happened to be the wrap-up day of a project for a client in Denver so the tour stop began with a day's worth of Python and Django with Mike. The next day we dove into another client's project. Oddly ironically, the Ruby code base we worked on turned out to be one that I was intimately familiar with so I mostly navigated as Mike hacked away. Usually a strong proponent of ping-pong programming or other forms of pairing where the keyboard changes hands often, I've come to realise that I no longer have any problems whatsoever staying alert and engaged as a navigator. I credit extensively practicing mob programming with this.

Mad Mike with a mad grin

Another introspective observation I made was when we attempted to refactor a particular piece of Ruby code and resorted to sketching our respective suggestions on a whiteboard in, as Mike put it, "our favourite languages". Haskell for him, Elixir for me. Midway through, I glanced at Mike's suggestion and exclaimed, "yes, exactly like that" as he had made use of Haskellisms that looked and behaved just like Elixir's recently added "with" special form. Mind you, I have yet to do any Haskell programming but the cross-pollination between programming languages is quite evident.

For the third day we switched things up a little with a another client's code. Thus I spent the morning pairing with Teo Ljungberg and the afternoon pairing with Calle Erlandsson. As expected, we had fun and got things done in an orderly manner.

Teo and Calle

Due to scheduling reasons, the next day Mike and I resumed after lunch and just like that my tour stop was over. Time flies when you're having fun. And this kind of fun was just my cup of tea.

Literally my cup of tea

Always a pleasure thoughtbot, always a pleasure!