I am someone who teaches other people how to program. I do this through my mentoring and my book writing.

I'm running a Junior Engineering Program at Culture Amp in Melbourne, where I use and teach Ruby and Elixir daily.

I'm best known for my work on the Rails Guides, Rails 4 in Action, Multitenancy with Rails and my walkthrough of the Toy Robot exercise. I'm currently writing a new book called Joy of Elixir.

You might know me from the books I've written, any of the open source work I've done, my addiction to Stack Overflow or The Rails Guides that I helped write.


I wrote Rails 3 in Action, Rails 4 in Action, Multitenancy with Rails, Toy Robot and I'm currently writing a new book called Joy of Elixir.

I won a Ruby Hero award in 2011 for my work on the Rails guides. As part of this work, I worked on the Getting Started with Rails, Active Record Query Interface Asset Pipeline , Configuring Rails Applications and the Getting Started with Engines. I also wrote a Ruby setup guide for Ubuntu and one for Mac OS X. I keep some other guides in my personal guides repository on GitHub.

My best blog posts are:


Over my career I've worked with many, many teams developing Elixir, Phoenix, Ruby, Rails, Go and React applications. (Thankfully, not all of those languages/frameworks at the same time.)

The proudest accomplishments of my coding career have been:

  • Culture Amp — Built microservices in Elixir which talked to Elastic Search instances. Integrated the results from these services into our monolithic Rails application, which uses React/Redux. I have also refactored the legacy codebase to make it easier for other developers to work with, lead efforts to increase performance of slow pages within the application and mentored other developers in Ruby and Elixir.
  • Spree — I was the Community Manager for Spree for two and a half years. During this work, I grew the community substantially while managing the open source projects. Got paid to travel the world and promote Spree.
  • LIFX — Worked on a small team of developers to build LIFX's cloud API, using a mixture of Ruby and Go. Built a small Go project to simulate 100,000 concurrent connections to our message broker to load test it.
  • GetUp — Worked with a small team of PHP developers and taught them Ruby and Rails while rebuilding the GetUp site from scratch.

Open Source

I've contributed extensively to open source and I'm most well-known in this regard for having maintained Spree. Other open source projects that I am proud of include:

  • Twist — A book review tool that allows readers to leave review notes / errata on the book as they read it. Almost every book I have written has been reviewed through Twist.
  • ByStar — An extension to Active Record that lets you find records within a time range by providing methods like by_month and by_year. Works on Active Record and Mongoid.
  • Elastic — A small Elixir package that I built to talk to Elastic Search.
  • Summer — A tiny IRC bot framework which drives the #rubyonrails channel bot, helpa. There's also a companion Phoenix app which presents the channel logs, called logs.ex.

You can see more examples of my work on GitHub.