Dodge Disasters and March to Triumph as a Mentor

Accepted Session
Short Form
Scheduled: Thursday, June 23, 2016 from 3:45 – 4:30pm in B202/203


Good engineers write good code, but the best engineers raise the skills of their junior colleagues, too. If you're a senior engineer, you must learn to mentor new hires. Besides, great mentors are critical to the careers of women and minorities in tech. I have failed at mentoring, then succeeded. Learn from me and march to mentorship triumph.


Who cares about being a good mentor? Your career depends on your success at mentoring. The higher levels of a technical career cannot be reached unless you demonstrate effective mentorship. As Etsy’s John Allspaw writes, senior engineers “lift the skills and expertise of those around them.” You must demonstrate that you have this quality.

Besides, junior engineers depend on your generous mentorship for their advancement. Your organization’s future depends on you, too: you need more senior engineers and there aren’t enough to go around. Bringing up young coders is a huge, risky investment, but it’s the only way we have to make senior engineers. And finally, at many companies, including mine, members of underrepresented groups are particularly underrepresented among senior programmers. Your best weapon to fight for a fairer future is to mentor junior programmers.

I’ll present three case studies, from my experience mentoring interns and new hires at MongoDB, Inc. over the last two years. My first mentorship failed, the second went well, the third was an epic success. Why?

First, we recap a disastrous mentorship and the warning signs I should have heeded: an absent visionary, unclear goals, an inexpert mentor (me), and the bad feelings that I ignored. We’ll see the costly consequences of neglecting these bad omens.

Second, we examine a mentorship that went rather well and led to a turnaround in my career as a mentor. I learned to recognize positive signs that augured a successful mentorship, and I developed character traits that are useful for a mentor: I trained myself to be eager to help, to understand what my apprentice didn’t know, and to admit when I didn’t know something. I also learned how crucial the personal relationship is, as an aspect of the professional one.

Third, we celebrate a great internship. I designed it for success, based on the lessons I’d learned. I ensured there was a guiding visionary, expert mentors, and clear goals, and I cultivated a comfortable personal relationship with my interns. The interns made exceptional progress, culminating in their first speaking experience at a Python conference.

Finally, I prove that your excuses for not being a good mentor are without merit. You can and should learn to train junior engineers well. Craftspeople have always trained the next generation by close relationships between masters and apprentices. If you are willing to develop your ability as a mentor, you can advance your own career, help your young colleagues and your company succeed, and lay the foundation for a fairer future. For people who love only code, it can be a sacrifice to spend time guiding junior engineers, but the payoff is among the best in the world.



Speaking experience

I have given this talk at a handful of other conferences, and internally at my company to train the next generation of mentors. It's based on an article I wrote:

Here are some videos of past talks:

* MongoDB World 2015:
* Open Source Bridge 2015:
* PyCon 2015:
* MongoDB World 2014:
* PyCon Montreal 2014:
* PyCon APAC 2014:


Leave a private comment to organizers about this proposal