Author: Sharon Xie – Principal Software Engineer
Impactful Engineer shares the stories and journeys of women and men who are making a significant impact in the software industry. The purpose of Impactful Engineer is to inspire young software engineers to see that there are many paths they can take to move forward in their careers and grow their impact wherever they work.
Technical mentorship usually means the mentoring relationship between two engineers – one engineer (mentee) receives advice, guidance, or learning from a more experienced engineer (mentor). This relationship is often informal/implicit. For example, when a buddy (mentor) is assigned to an engineer (mentee), who newly joins a team to help him/her on board. I also see code/design review as a form of informal technical mentorship. Formal/explicit technical mentorship is less common based on my experience. However, I’ve found it very useful for my career development as a mentee. As a result of an explicit mentoring relationship, I was promoted from Senior Software Engineer to Principal Software Engineer. In this blog, I’d like to share how I set up my mentorship with Joey Echeverria, previously a Senior Principal Software Engineer at Splunk. I hope my story can provide some ideas to start formal mentorships.
Seeking a Mentor
I started considering having a mentor when I switched from a front-end engineer to a platform engineer working on Data Stream Processor (DSP) at Splunk. My primary goal was to speed up my learning on the platform. The secondary goal is to get advice on how to get to the Principal level (P5) from the Senior level (P4).
To find the mentor, I searched my network to see who was doing well on the goals that I wanted to achieve. It was pretty easy for me to identify Joey to be the one at that time because
- He was the architect of DSP. He was also an early engineer who worked on the platform. He knows the platform inside out.
- He was at the Senior Principal (P6) level. He interacted with a big group of engineers at various levels daily. I think he should have some good ideas about what it takes a Senior Engineer to get to the Principal level.
- Most importantly, I’ve seen him in action, and I wanted to become Joey.
Initiating the Mentorship
I talked to my manager Vidya at that time about having Joey mentor me. I asked her to talk to Joey about this idea first because I wasn’t sure if Joey is open to a formal mentorship. He was busy and important, and I didn’t want to add more workload to him if it’s hard for him to commit to the mentorship.
He said “yes!” and my journey started.
First 1 on 1
The first 1 on 1 is more or less like a two-way interview. Both of you should feel comfortable talking to each other and working on the goals together.
I used the first 1 on 1 to address my questions and concerns. For example, I asked Joey how he felt when my manager asked him to be my mentor. It was my way to figure out if he believes in mentorship. I further asked Joey to tell me his interpretations of engineers at different levels. It confirmed that he knew how promotion works. I was very nervous then as I was still new to the team and was afraid of judgment. I could see that Joey made extra effort to make me feel comfortable talking to him.
On the other hand, Joey asked about my short-term and long-term goals and what I thought was needed to achieve those goals. He asked me how he could help me too.
In this 1 on 1, we also agreed on the following structure for recurring meetings:
- Weekly 30min 1-1s
- Focus on: expanding my platform/system knowledge and technical leadership skills.
- Adjust the schedule and structure if needed
Recurring Meetings
We adhered to the weekly 1 on 1s with very few exceptions. Joey always offered to reschedule if he couldn’t make it.
On my side, I was the one who set the topics for our 1 on 1s. As a mentee, I tried not to waste Joey’s time so I always go into the meeting prepared. This weekly meeting pushed me to review my work regularly, which was a pleasant side effect. Things we usually talk about:
- Code / design reviews
- Deep dive a specific part of the system or codebase
- I talked through challenges (technical, communication, collaboration, etc) I was facing, and Joey shared his perspectives/suggestions.
- I went over something I did (eg: an incident response) and got Joey’s advice on how I could have done better.
Joey did an awesome job being a mentor. He was very patient in listening and creating a safe space for me to talk. Gradually, I was very open to talking about my vulnerabilities and frustrations. He never criticized my work. Instead, he asked me why I did it my way and helped me discover the room for improvement myself. If he had different proposals, he always described how he approached the problem and why he approached it that way. The key to getting to the Principal level is technical leadership. However, it was very vague for me in the beginning. Joey guided me to discover what it means and how to achieve it in a very concrete way.
Beyond Mentorship
Joey actively used his influence to provide opportunities for me to push the boundary of my comfort zone and demonstrate my abilities. He nominated me to take on bigger projects; He mentioned my name in meetings I was not in; He pointed people to ask me questions, etc.
In other words, Joey became my sponsor.
Other Resources
- Mentoring Basics – A Protégeé’s Guide – NCWIT
- Mentoring Basics – A Mentor’s Guide to Success – NCWIT