Finding Mentorship After Onboarding

December 23, 2017

One of the first questions I got after giving my talk about mentoring new hires was (paraphrasing) "how do you deal with effectively mentoring people who are 1+ year into their time on the team?". This question has stuck with me over the past year, mostly because I didn't have a particularly coherent answer at the time, and I stumbled through answering it. Over the past year I've spent a lot of time thinking about my own process of acquiring mentorship, and I finally have a (more) cohesive answer to "how do you handle mentorship after onboarding". I wanted to take a chance to share those thoughts, in hopes that people who are 1+ year into their time on a team can chart their own path to getting the mentorship and resources they need to succeed

One of the challenging things about talking about post-onboarding mentorship is that it's very individualized, which makes in hard to systematize in the same way onboarding can be systematized. Everyone who is joining a new team has (broadly speaking) the same set of mentorship requirements. Regardless of their level of experience, they will need to get familiar with the codebase, understand the team's culture, and learn any essential processes that they’ll need to be following. This set of standardized requirements makes it pretty easy to define a team/company-wide ramp-up process that everyone can follow.

However, things get more tricky when it comes to mentoring after onboarding. After the newhire phase it’s dang near impossible to create a one size fits all approach for mentoring engineers. Everyone has such a wide variety of skills, working styles, and goals that it would be folly to establish a single specific process for everyone.

What this means in practice is that if you want to receive effective mentorship after onboarding, the process needs to start with you understanding what you want to learn.  Do you want to level up your architecture game so that you can build more maintainable code, or do you want to learn how to understand your users better so that you can find the right features that match their needs? Both of these are valid options, but they require finding mentors with very different skills.

It's worth noting here that figuring out an answer to “what skills do I want to learn?” is incredibly abstract and can lead to overwhelming decision paralysis. One way I overcame this was to decompose this question into three simpler ones:

After running through this exercise I discovered two things. First, everyone I looked up to was both a strong technical contributor and an empathetic communicator. Second, I want to work on data-focused products in the future. This led me to seek out mentors and opportunities which taught me to be a stronger communicator who can build data products. The specific skills that you admire may be totally different, but what's important is that you find clusters of skills that matter to you; these are the skills that you'll want to focus on getting mentored.

You may find this exercise gives you a large number of mentorable skills, but I always try to pare it down to one or two key areas to focus on at a time. It can be tempting to attempt to get better at everything all at once, but this eventually becomes a fool's errand. At a certain point, it becomes important to invest in nuance over novelty and buckle down on improving one or two skills before you focus on leveling up other ones. One other important thing to keep in mind as you're deciding on what to learn next is you can both learn from a prospective mentor and apply in practice. You may want to learn everything about machine learning, but if you don’t have any opportunities to actually apply any ML concepts, then it may not be right to find an ML engineer as a mentor because you won't be able to practice what you learned.

Once you've whittled to one or two skills, you may think "zomg, there's no way I can find someone to teach me these two very different things." That's okay! There probably isn't one person who can help you learn all the skills you're looking to grow.  Every mentor will come with their own skills and experience, none of which will perfectly match what you need. Instead, once you have your list of skills of you should strive to form a career board of directors, each of whom teaches you a unique skill, rather than a single mentor who can teach you everything. Fortunately, if you've followed identified people you admire, you've already got a head start on finding who you want to sit on this board

Once you've identified potential candidates for your personal board, it's time to reach out and see if any of them is willing to be a resource for you. Surprisingly, I've seen many people get stuck after they find a prospective mentor and ask “how do I get them to mentor me?”. The answer is simple: you just ask them to help you with something specific! SO MANY people (myself included) find someone awesome that they wish could learn from, only to have self-doubt creep in and say “oh, that person’s too busy/important to get coffee with me” or “I should figure this out on my own and not bother them”.  In these cases, self-doubt needs to slow its roll for a few reasons:

Once you’ve kicked self-doubt to the curb, you can email your potential mentor to ask to talk with them about whatever you’re interested in.  If you’re unsure what to say, try this handy email template I use to get coffee with literally anyone:

Hello <person>! My name is Jon Maltz and I’m a <thing you would be able to relate to>.  I saw your <thing that makes me think you’re awesome> and would love to talk more about <concept>.  Do you have time to get coffee over the next couple weeks to talk about that?

Again, the worst response you get here is “sorry, I’m too busy”, but chances are they’ll say “I’d be happy to”, and you can go meet with them.  When you do this, make sure to come prepared with specific questions that they will have a unique perspective on. Your mentor's time is valuable, and you want to show that you value it by asking them questions that you can't answer with a Google search.

This first interaction may surprise you: you may come prepared expecting to have answers handed to you on a silver platter only to find that your prospective mentor isn't helpful in the way you expected. That's okay! There's no harm in thanking them for their time and going on your way to find someone who does fit with what you're looking for. When I'm looking for a new mentor, I like to run "mentoring adoption tests", where I get coffee with a couple of different people to see which one I communicate best with. Once I find someone I click with, I'll send a follow-up email that looks something like this.

Hello <person>! Thanks for taking the time to discuss <interesting thing> with me.  I’m working on improving <growth area> and really appreciated your perspectives on <concept you discussed>.  Is it cool if I schedule time every <cadence> to get your perspectives on the challenges I encounter as I try to <do thing which will allow me to apply the things you're teaching me about>?

Bear in mind that you will probably want to meet people at different frequencies depending on their availability and what you're trying to learn. Some people may be really helpful at figuring out the tactical day-to-days of your problems and are worth meeting frequently', while others provide more high-level perspective and don't provide as much regular value.  My own collection of mentors at Yelp contains 3 people, all whom I meet at different intervals.

Scott Triglia: Tech Lead. I now get coffee with Scott once a month in sessions that I jokingly refer to as "Scott and Maltz contemplate the universe", where I ask a high-level question like "how do you think about working in a technology where you're not an expert?" and we talk about them for 30 minutes.  These don't provide anything specific for me to do THAT DAY, but they do provide me a framework for thinking about tackling larger-scale problems.

Justin Cunningham: Technical Lead.  Justin is the overall lead for our data efforts at Yelp, so has more context on my day-to-day than Scott does. We have weekly 1:1s where we discuss how to move forward with my piece of a larger project.  These give me tremendous insight into the specifics of delivering a large project, keep my piece of the project aligned with the overall vision, and teach me lots about delivering a large, multi-team software project.

Brad Barry: Eng. Manager. Brad and I get together every 2-4 weeks to talk about what we've got going on in our life/work. Brad's been out of the code-writing game for about a year now, so I rarely ask him about anything technical. At the same time, he is tremendous at thinking about how to teach and grow others, so I will usually pitch him my latest blog post or conference talk to get his thoughts on how others might receive that message. This outside perspective helps me get a broader perspective about how to create content that's useful for other engineers.

I hope that gives you a sense for the variety of different mentoring relationships that I've built up, and how I’ve structured each relationship differently depending on what I want to learn.  All of these relationships evolved organically as my own needs + questions evolved, but they all started out the same way: I found an area where I wanted to grow, I identified someone who could help me improve in that area, and I scheduled time to regularly bring them clear questions that were on my mind.

Happy learning!

Discussion, links, and tweets

Hey! Thanks for reading! If you like what you read and want more, you can follow me on Twitter.