In episode #8 of the Giant Robots Smashing into other Giant Robots podcast, Ben Orenstein is joined by Gabe Berke-Williams and Edward Loveall. Gabe is developer at thoughtbot and the product manager of the thoughtbot apprenticeship program, apprentice.io. Edward is a current design apprentice.
Gabe, Edward, and Ben talk about apprentice.io, how it works, it’s successes, and lessons learned. They also discuss how Gabe goes about mentoring new developers, and effective learning and teaching methods. Edward also gives his perspective on his apprenticeship how it went, his typical day as an apprentice, his advice for incoming apprentices, and much more.
Email your questions to email@example.com or tweet to us @thoughtbot.
Follow @thoughtbot, @r00k, @gabebw and @edwardloveall on twitter.
We’re opening an office in San Francisco and bringing our full suite of services with us, including workshops and apprentice.io.
Our first two workshops are Design for Developers (July 16 & 17) and Intro to Ruby on Rails (August 20 & 21).
We’ve been operating our workshops regularly in Boston and sporadically around the country for about four years now, and we’re excited to now begin offering them all regularly on the West Coast.
If the dates above don’t work for you, you can register to be notified when we schedule the next course at the links above.
We’re also excited to add another location for our mentorship program.
If location was an issue before, I’d encourage you to apply to the program.
> How do I learn Ruby on Rails? Vim? Test-Driven Development?
Someone asks us these questions weekly. We think we finally have good answers.
apprentice.io 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:
We’ve been calling each apprentice’s wiki page their “trail map”.
To us, the “trail map” metaphor relates to hikers, bikers, and skiiers:
Likewise, apprentices (and anyone learning a topic):
With 12 apprentices in the apprentice.io 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.
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:
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.”
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
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.