Trail Map

> How do I learn Ruby on Rails? Vim? Test-Driven Development?

Someone asks us these questions weekly. We think we finally have good answers.

Extracting answers from is a program designed around 1-to-1 mentor-to-apprentice relationships with a heavy emphasis on pair programming.

However, each apprentice additionally has extra time each week to study topics of their choice. They set goals with their mentors and are held accountable to reaching them by publicizing the goals in an internal wiki.

Example goals include:

  • Read chapters 14 and 17 of The RSpec Book.
  • Review and merge a pull request on an open source project.
  • Write blog post about anonymizing data.

One curriculum does not fit all

We’ve been calling each apprentice’s wiki page their “trail map”.

To us, the “trail map” metaphor relates to hikers, bikers, and skiiers:

  • start in different places
  • want to go to different places
  • often change direction mid-journey

Likewise, apprentices (and anyone learning a topic):

  • have different past experiences
  • have different learning styles
  • change their goals mid-process


With 12 apprentices in the program, we’ve noticed common patterns in each apprentice’s trail map.

So, we’ve consolidated trails into a default trail map and we’re pleased to now announce its release under a Creative Commons Atribution license.

You’re free to use the trail map however you’d like, even commercial training.

Initial trails

The trails exist as a single git repository on Github named Trail Map:

We hope learners everywhere will fork these trails for their own learning purposes and submit improvements via pull requests.

Each trail has three sections:

  • Critical learning
  • Validation
  • Ongoing reference

Critical learning

This section lists things like books or blog posts to read, screencasts to watch, code to read or write, and koans or tutorials to complete.

In each topic, we aren’t aiming for greatest depth, but rather the most efficient way for the learner to become productive.

For example: we suggest chapters, rather than entire books, to read.


This section lists simple tasks the learner should be able to perform during routine development. We’ve never liked quizzes or certifications, but some hueristic is useful for assessment. We think self-assessment is a simple, fast, and low-stress approach.

For example: we say you know everyday git when you can (among other things), “stage a file, create a commit, and push to a remote branch.”

Ongoing reference

This section lists things like man pages and API documentation which we’ll always reference regardless of experience. Many things are not worth memorizing.

For example, we suggest that a developer refers to man git-rebase during a project.

What’s next

This is a work in progress. We plan to add and edit trails as new resources are released or people tell us better ways they’re learning a topic.

We’d love to get your feedback in the form of Github Issues.

Written by Dan Croak.

Trail Map

I just nodded right along when you said you needed constant change. I didn’t even think about
how I would want to love you
You murmured into my skin, little tiny pants of change change change. You shook me, shifting my rusty gears back and forth until my heart was working overtime, and when I collapsed, you looked away.
Half of the time you showed up, you weren’t there. Half of those hours you spent saying goodbye. I think you climbed people’s hearts like you climbed mountains- everything at once, all in one night, no food or sleep, running past forests and boulders and it was all just your bare hands on rock.
You left little crevices in me, you punctured the cliffs and then there were streams springing up, washing away everything fertile.
Up and down, never back.
You needed a new challenge, so you scattered all those things you didn’t need around my apartment, pots and pans and sweaters and notebooks but not a goodbye.
I tried to give back your old hiking boots, but I think you have too much practice to lose your footing.

I’ve put up the Panorama Mountain trail map, so that you can see what we’re talking about when mentioning particular trails, chairlifts or areas that we’ve been trying out.  

Right now, I’ve done the Red Carpet, Silver Platter, Horseshoe, Showoff, Eagle Glide and the bottom of the Village Way. Louise has done all of the above, plus Hoggsflats.  The next step for me is to go up the Sunbird chairlift and try out Outrider, which looks like a nice scenic run, but a bit narrower to help me practice riding the edges of my board, and longer to help me build up endurance.

Here’s a link to the interactive trail map too, so you can see more info on the runs, village amenities etc.