In the culinary world, a stage (pronounced stazhje, from the French stagiaire) is an unpaid internship when a cook or chef works briefly, for free, in another chef’s kitchen to learn and be exposed to new techniques and cuisines.

To improve as a developer, I want to try this approach in the software world. At the end of October I will be leaving London, my home for the past six years, buying a Round-The-World plane ticket, and visiting North America, South East Asia, and Europe. During that time, I’ll be seeking out opportunities for a number of short coding internships at development companies.

Why I’m Doing This

“Every day, work to refine the skills you have and to add new tools to your repertoire. Over the years, you’ll be amazed at how your experience has blossomed and your skills have grown.” – The Pragmatic Programmer, Andrew Hunt and Dave Thomas

“Be the worst guy in every band you’re in. The people around you affect your own performance. Choose your crowd wisely.” – The Passionate Programmer, Chad Fowler

I want this experience to give me new perspectives on being a developer, to discover new concepts and techniques, and most importantly improve by learning from others.

For the past few years I’ve worked as a contractor for a variety of companies in London, and I found that one of the most interesting aspects is the initial period of joining a team and discovering how each organisation approaches development differently. This phase is always when I learn most and re-think my opinions on the best way to build software. There’s always a suprising amount of innovation under the covers.

There’s also, of course, the benefits of travel – discovering new cities, meeting new people, and building my professional network.

I’ve been inspired by reading about Corey Haines’ Journeyman pair-programming tour, although my travels won’t be quite as extensive as I’ll be alternating with working on my own projects while travelling.

What You Get Out Of It

Probably the biggest benefit is a fresh set of eyes on your team’s code and your process. So it’s like #pairwithme but in real life!

I’ve worked on many types of apps including mobile, APIs, e-commerce, social networks and gaming, each of which have taught me useful lessons that I can share.

I will be aiming to blog about the companies I visit (if given consent), so it’s also an opportunity to raise the profile of your workplace to an audience of developers.

About Me

I’ve been a contract Ruby developer for the past three years, with a bit of JavaScript and iOS development too. I would put my skill level at between mid-level and senior. I’m a proponent of test-driven development, simple design, clean code, refactoring and pair programming.

My most popular open source project is RubyMotion Generators, as featured in some episodes of I’m hoping to get my first Rails contribution accepted soon!

My side-projects include:

I also coach a few aspiring developers via RailsMentors

Around the web:

The Details

The duration of each position might be anywhere from one day to a week. I’m happy to work with people of different skill levels during each visit.

I’ll be starting off in North America and I have the following cities in my plan for November and December (dates and order to be confirmed).

  • New York City
  • Boston
  • Miami (for RubyConf)
  • Chicago
  • Seattle / Portland
  • Atlanta
  • Dallas / Austin
  • San Francisco
  • Toronto

I then plan to be in Asia in January-February and in Europe by March.

Want To Get Involved?

If you work at development company in one the above cities, and you are interested in having me visit during November or December, then please drop me an email at I can organise my own accomodation and I’m not looking for any payment, but I wouldn’t say no to some post-work food or beers!