A few years ago, I had the opportunity to mentor and work with some junior developers from the Epicodus program in Portland, OR. I loved it.
Probably the world’s best interns, @amyvshorn (left) and @kyleasmithh (right) when they were new software developers (circa 2014). Now seasoned vets in Portland, OR. Photo Credit: Kyle Smith.
During their internship, Amy and Kyle built a rather complex on-boarding system for my startup company at the time, LuckySteps. It involved UX problem-solving, server-side PDF generation in Ruby, client-side JavaScript, customizing Bootstrap’s CSS, and using a variety of Ruby on Rails core components. It was inspiring to watch them confront and overcome each engineering problem.
One of my favorite parts of that experience was answering questions that arose. These questions forced me to truly understand and articulate how particular components worked (which I may have not quite understood before). For example: a problem with conflicting Ruby versions forced me to understand how Ruby version management worked at the filesystem level (it turns out its not very complicated at all, but I hadn’t yet had to deal with it).
Over the past few weeks, I’ve been mentoring another junior developer— and all the same enjoyment has come back.
The majority of this “mentoring” has simply been pair programming on my side project Guidable over a Google Hangout —and I have a few tips that have served me well in these mentoring sessions:
And that’s it folks. 5 tips for mentoring software developers via pair programming. Now, go forth and mentor!