Developer Experience (DX)

Summarized using AI

Building a Mentorship Program

Noel Rappin • May 05, 2020 • Couch Edition (online)

In the video titled "Building a Mentorship Program," Noel Rappin shares insights from his experience in establishing a mentorship program within his engineering team at Root Insurance. Rappin begins by discussing the significance of mentorship, particularly for newer developers who can benefit from the guidance of more seasoned colleagues. He expresses his personal discomfort with the term 'mentor' and outlines the main objectives and steps taken to implement a successful mentorship initiative.

Key Points:

- Purpose of the Mentorship Program:


- The primary goal was to enhance career growth among newer engineers, particularly those with less than two years of experience at Root.

- Acknowledgement of informal mentorships already occurring within the team, highlighting their potential benefits for both mentors and mentees.

  • Preparation and Structure:

    • The program aimed to be low-cost yet high-yield, with a focus on clarifying career growth paths within the organization.
    • Emphasis on the mentee taking ownership of the relationship and setting the agenda.
  • Recruitment and Matching Process:

    • Rappin began the process by first soliciting mentors before gathering information from potential mentees to facilitate informed matches.
    • He described concerns regarding matching mentors with mentees from underrepresented groups and strived for transparency in the matching process while keeping stakes low for participants.
  • Implementation and Follow-Up:

    • After the initial matching of 33 mentors and 41 mentees, Rappin encouraged them to meet regularly to focus on the mentees' career growth goals rather than project-specific tasks.
    • Acknowledging the dynamic nature of mentorship, he indicated that the relationships should be understood as temporary and adjustable as needed.
  • Early Outcomes and Observations:

    • Initial feedback showed that many pairs met regularly, indicating engagement and benefit from the program.
    • Some unexpected trends noted were that several senior individuals sought mentors, which posed a challenge in matching due to the limited number of available mentors.

Conclusions and Takeaways:

- Rappin concluded that a structured mentorship program can provide significant advantages for both personal and professional development, benefiting individuals and the company culture overall.

- He stressed the importance of understanding organizational goals, being thoughtful in matching participants, and allowing flexibility within the mentoring relationships.

Rappin's experience offers valuable guidelines for establishing mentorship programs in tech organizations, aiming to foster growth and support among engineering teams.

Building a Mentorship Program
Noel Rappin • May 05, 2020 • Couch Edition (online)

Building a Mentorship Program by Noel Rappin

Mentorship is a great way for a newer developer to benefit from the experience of a more senior developer. While there are lots of available resources on how to be a good mentor or mentee, there are far fewer guidelines on how to set up a mentoring program within your engineering organization. I'm doing this now, and I'll share the process with you: why we decided to start a team-wide mentorship program, how we got volunteers and how we matched them, and how we followed up and what worked and what didn't. You'll get everything you need to start a mentorship program at your organization.

__________

Noel Rappin is a Staff Engineer at Root Insurance. Noel has authored multiple technical books, including "Modern Front End Development For Rails" and "Rails 5 Test Prescriptions". He also hosted the podcast Tech Done Right. Follow Noel on Twitter @noelrap, and online at http://www.noelrappin.com.

RailsConf 2020 CE

00:00:08.710 Hey everybody, it's Noel. Before I start the actual talk, I just wanted to thank you all for listening to this. I have to admit that I was feeling a little sad and lonely not to be delivering this talk in front of a bunch of people at RailsConf. So, I kind of made my own RailsConf here and populated it with some of my favorite Ruby heroes. I hope you enjoy that. I also wanted to apologize in advance for any weird audio problems or editing during this talk; I'm doing the best I can. Thank you, and I'm looking forward to seeing all of you in person sometime in the near future.
00:00:50.719 Now, on with the talk. I want to start by revealing a little secret about someone who's running a mentorship program: I really don't like the word 'mentor'. It took me a long time to figure out why, but then I realized it reminded me of a character from the Shazam TV show of the mid-70s, who is referred to only as 'Mentor'. That association made me envision an old, kind of weird-looking guy who was always sort of a killjoy with advice, but I think that is an incomplete vision of what a mentor is.
00:01:06.789 I’ll talk more about what I think a mentor should be implicitly in this talk. But mostly, I just wanted to share this Shazam clip with you. So thanks for indulging that. This is about building a mentorship program, and I'm Noel Rappin. I work for Root Insurance, based in Columbus but I work in Chicago. You can reach me on Twitter @noelrap; that's the best place to find me. You can also find me online at noelrappin.com.
00:01:36.619 I really hope that you will ask any questions or provide comments over Twitter at @noelrap. I appreciate that. To give a high-level overview of what I'm going to talk about here: I started a mentorship program at Root, and I don't really know for sure how well it's going. It’s been about three months; I know that it's going a little okay, but I don't have great details on it. So, this isn't going to be like a scientific study, but I do think I have some thoughts about what I did, what I was comfortable doing, and what I was not comfortable doing that might help you as you try to set up a program like this at your own company.
00:01:59.790 So, why do a mentorship program? With a lot of interventions or the kinds of things that you try to do to fix teams or improve the way your team works, I think it's important to start with what problem you are trying to solve. So let me back up a little bit and tell you about my team at Root. Root is about five years old as a company and is a startup. We now have just under 150 engineers. When I started the mentorship program, we had about 121 and it had been growing fairly rapidly.
00:02:21.799 As a result, most engineers at Root have been here less than two years, which means it is a relatively new engineering team without much experience moving people forward. However, it's a pretty strong engineering team with a lot of really talented people who have done many cool things. One of the first things I did when I arrived at Root about six months ago was interview a bunch of team leads, and I learned a lot of interesting things about how Root works internally.
00:02:42.470 One interesting point that caught my attention was that many of the team leads, or at least a couple of them, mentioned they had informal mentorship relationships with more junior members of the Root team. This struck me because, first of all, I didn't realize it was happening. The evidence shows that a mentorship relationship is beneficial for both sides. It's good for the mentee to have access to the mentor's experience, but it's also good for the mentor to be in a teaching role and articulate what they do.
00:03:02.200 Listening to those mentors, who seemed to be pretty satisfied with their informal connections, made it clear to me that a mentorship program could be a low-cost but potentially high-benefit way to improve the way Root handled career growth. While people were generally pleased with the guidance provided by team leads, there was some ambiguity about how career growth worked at Root. This led to confusion, particularly for newer engineers who were trying to take on more senior skills and looking for role models to help guide them.
00:03:24.800 In my position at Root, as someone without any authority over this matter, I decided to start a mentorship program. The senior leadership of Root Engineering was fully supportive and gave me some time to develop this initiative, which raised the obvious question: how do you start a mentorship program?
00:03:47.950 There’s a lot of advice online about how to be a good mentor and how to be a good mentee. By the way, I dislike the word 'mentee' probably even more than I dislike the word 'mentor', but I don't have a better term, so we’ll stick with 'mentee' for now. However, there isn’t a lot of advice about how to set up a culture of mentorship or build a larger mentorship program within an organization. I started to think about what the goals of a mentorship program might be,
00:04:03.640 and in this case, the main goal was to promote career growth among the mentees. Specifically, this would not just be about climbing the route engineering career ladder, but also about helping them become better engineers and acquire more senior engineering skills. The feedback I received from senior engineering at Root indicated that they strongly believed the primary responsibility in the mentorship relationship should fall to the mentee. They wanted the mentee to take ownership of the relationship, schedule the meetings, and set the agenda.
00:04:38.920 So, that became an important consideration in designing the program. The aim was to give mentors a chance to learn and improve their communication skills. Mentorship is a formal part of the career ladder for senior engineers, but before we established this mentorship program, there was no structured way for them to demonstrate that skill within Root, as they had to rely on other methods.
00:05:03.000 I also wanted the program to be self-sustaining. I did not want to be a bottleneck for the mentorship program forever; I wanted the mentors and mentees to take ownership of how the program would operate.
00:05:21.430 With that in mind, the next question was how to create a set of effective mentor-mentee matches. I wasn't sure whether to use the term 'match' or 'pair' for the mentor-mentee relationship, but I generally leaned towards 'match'. The concept of matching was intimidating to me, as I knew it was critical for the success of the program, and yet it can be an uncertain process.
00:05:46.970 Compounding that uncertainty was the fact that I didn’t know most of the participants, since the Root Engineering team is primarily based in Columbus while I work in Chicago. This meant I would be relying on self-reported preferences from the participants, for better or worse.
00:06:03.780 One concern that weighed on me was how to handle matching participants from underrepresented groups. Members of an underrepresented group often prefer a mentor who shares their background and can relate personal experiences to guide them forward. However, I didn't want to assume that a member of a particular underrepresented group would always want a mentor from that group.
00:06:26.819 I was also cautious about directly asking participants about their group identity, as it felt problematic. So, I had to think critically about how to plan for matching engineers who belong to underrepresented communities.
00:06:49.600 Another principle I kept in mind was to be as transparent as possible and make the stakes as low as feasible when dealing with personnel matters that involve uncertainty. These principles guided my approach as I built the program.
00:07:10.960 Let me share what actually happened in the matching process. I first asked for volunteers to be mentors. I didn't ask for both mentors and mentees at the same time; I asked for mentors first. I sent out a survey to those who wished to be mentors. I didn't limit mentorship to people at any particular level, but it was restricted to members of the engineering team.
00:07:27.330 I asked for a picture (which I later did not end up using due to complications with setting up image storage), their years of experience, how long they'd been at Root, and a list of topics they’d feel comfortable mentoring others on. I provided a sample list of about a dozen subjects. I also included two key questions: a public-facing question about why they wanted to be a mentor, and a private question asking if there was specific information I should know about who they would like to mentor.
00:07:55.000 After gathering responses from the potential mentors, I then opened up the opportunity for mentees. I wanted the mentees to be able to see the list of potential mentors when they signed up for the program. Mentees had a similar form to fill out where I asked about their level of experience and their topics of interest.
00:08:22.190 The reason for inquiring about experience was that I wanted to avoid situations where the mentor had less expertise than the mentee, unless there was a compelling reason. I asked both mentees and mentors to share what they were looking for in a mentor or mentee, respectively.
00:08:53.680 The intention was that mentees could specify particular characteristics they preferred in a mentor, including aspects of group identity. I allowed mentees to select their top three choices for whom they wanted as their mentors. This empowered the mentees to express their preferences or make known their intentions.
00:09:20.430 In the end, the program included 33 mentors and 41 mentees, with some individuals opt for dual roles as both mentors and mentees.
00:09:39.100 Given the discrepancy between the numbers of mentees and mentors, I had asked mentors beforehand whether they would be willing to take on multiple mentees. This helped me formulate a strategy for pairing everyone.
00:09:56.480 Initially, I tried to make the matching process as transparent as possible, following a sort of algorithm. I began by going through the mentee forms in the order they came in. If a mentee indicated preferences for mentors, I utilized their highest available choice unless a clear reason suggested otherwise.
00:10:16.670 If they didn’t provide choices, I aimed to align interests and experience levels to find a suitable match. I tried to ensure mentors were one level higher than the mentee on the route ladder whenever feasible.
00:10:36.860 After the initial matches, I did a secondary check to balance the load among mentors. Some had not been selected at all, while others had numerous requests. I worked to ensure mentors were matched with mentees whose levels were closer to their own.
00:10:57.380 It was important for me to maintain transparency in the matching process, empowering mentees as much as possible while making the overall process easy to understand.
00:11:15.890 One vital aspect was ensuring that expectations around ending relationships were made clear. I strictly communicated that it was perfectly acceptable for either side of the mentorship match to terminate the relationship for any reason.
00:11:30.400 Whether due to logistical incompatibility, differing interests, or simply not getting along, I wanted participants to feel that they could exit the relationship without stigma. The idea was to create an accepted culture where these matches were seen as temporary and adaptable.
00:11:47.090 At the six-month mark, which we haven’t reached yet, we plan to explicitly ask participants whether they want to continue or reassign. This approach is part of normalizing the expectation that these relationships can reform and change based on current needs.
00:12:06.550 I shared the finalized mentor list with everyone in the program and delivered an overview similar to what I've shared with you. I suggested a 30 to 60-minute meeting every couple of weeks for mentor-mentee pairs, emphasizing that the mentee would be responsible for scheduling.
00:12:29.810 I also emphasized that meeting focus should be on the mentees' career goals and what they wanted to learn in the upcoming months. Given the separation of teams, I guided participants to keep discussions away from immediate project goals.
00:12:54.740 Additionally, I listed some suggested activities and created a Slack channel for the participants, though I'll admit it has had low engagement. I preferred to observe how things unfolded over about six weeks.
00:13:11.520 I'll say in retrospect, I wish I had been a bit more involved during that time, but I'm unsure if my presence would have significantly influenced results.
00:13:27.490 You're probably curious about how everything turned out. To my surprise, I received interest from many more senior participants looking for mentors than I anticipated, which made matching a bit difficult.
00:13:43.520 The pool of very senior people available to mentor was limited, and this resulted in matches mainly between similarly senior individuals rather than entry-level and more advanced pairs.
00:14:00.370 Following the initial setup, there were a few requests for changes in mentor pairs—typically due to logistic reasons. However, overall, there weren't as many changes as I feared.
00:14:22.470 At the six-week mark, I sent out a survey to all mentorship pairs and received around 40 responses. This represented about a 60% response rate, with nearly half of the respondents reporting that they had met three or more times.
00:14:43.560 Even under the pessimistic assumption that no other pairings were active, this data indicated that approximately half of the mentorship pairs were meeting on a regular basis.
00:15:01.040 The comments I received were generally positive, suggesting that participants appreciated the program and had found it beneficial for their careers. Some anecdotes indicated significant improvements.
00:15:17.920 In March, we onboarded four new pairs, expanding the program further. This posed challenges due to the available mentors, yet I successfully matched all four pairs.
00:15:34.290 However, shortly after this, we entered a period of rapid shifts as the work-from-home mandate took effect. Therefore, I’ve been hesitant to overwhelm participants with additional surveys.
00:15:50.070 I’ll know more about the continued engagement within the program after our next survey is conducted. That being said, I believe there are key takeaways from this process.
00:16:12.040 Overall, I feel that the program has been successful, requiring relatively little time and effort from the Root Engineering organization while still producing tangible benefits for many involved.
00:16:29.200 If you're considering setting up a similar program in your organization, contemplate the goals you wish to achieve. Understand that your organization's needs will likely differ from ours.
00:16:51.320 Try to define what success looks like, and be mindful about matching people together while ensuring that they feel a sense of control and agency in their choices. That aspect seems vital for the program to be effective.
00:17:09.220 In conclusion, mentorship can be a powerful tool to foster team growth, and I hope that this discussion will help you implement more mentorship initiatives in your organization. Thank you for listening.
00:17:42.000 Lastly, I wanted to throw in a joke involving my infamous falling laptop video. So here it is, featuring Lego me and the falling laptop.
00:18:08.680 That was not good. Thank you all for being a part of this. Once again, I'm Noel Rappin. You can reach out to me on Twitter @noelrap. I genuinely appreciate any questions or comments regarding this or any other topic.
00:18:18.650 I also have a book in beta from Pragmatic, titled 'Modern Front-End Development for Rails'. It's about Webpacker, Stimulus, and React. We are waiting to see what gets announced at RailsConf before finalizing its release.
00:18:43.710 You can find it at pragprog.com/book/nrclients, and there may or may not be a 20% discount code for RailsConf 2020 available. Watch my Twitter feed to catch the actual code. Thank you for your time; I genuinely appreciate it.
00:19:02.380 I look forward to seeing all of you in the future. Thank you!
Explore all talks recorded at RailsConf 2020 CE
+26