Here are some non-obvious things I have learned about mentoring new engineers:
1. Normalize failure
Failure is an important part of growth since what doesn’t kill you makes you stronger. As a mentor, you have a big role in shaping how your mentees approach failure. When your mentee makes his/her first mistake, the worst thing you can do is act disappointed or frustrated with their actions. There are a couple of things you can do to help them through this:
- Empathize – Give them the confidence to keep going by recounting your own failures casually. In general, this is very valuable tool to build trust and psychological safety in teams.
“Don’t worry about this. This is nothing compared to what I have done. Let me tell you about the time I caused a huge outage..”
- Collaborate – Focus on diagnosing and fixing the issue with them. This sends the message that you are not upset with them and you still trust them enough to work with you to fix the issue.
“This is a tricky issue. Maybe you can write a script to fix the bad data and then I can re-enable the cron?”
2. Provide thoughtful feedback
The brain remembers a lot of firsts. Most of us can still recall our first day in school, first day at work etc. I still remember all the positive and negative feedback I received in the first few months of my career. So, it is really important to choose the right words and the right time to provide feedback to your mentee. As a general rule-of-thumb, praise immediately and generously so that there is a tight feedback loop that reinforces the positive behavior. When praising, try to be as specific as possible so that they know that their efforts are being noticed.
“I saw your code reviews on X and Y. Your comments about code quality were very thorough and meticulous. Keep it up!”
On the other hand, be careful with negative feedback. The feedback should be given; but given poorly, it can be discouraging to a mentee. The goal of providing feedback should be to make sure the other person takes the necessary corrective steps. So, it is well worth thinking about how to frame the feedback so it is received well. One approach that works for me is starting a conversation about the issue and having them weigh in on how they could be doing better. This gives me the opportunity to add on to their ideas which makes it seem more collaborative and constructive.
“Why do you think there were so many bugs in this feature? What do you think you could have done differently?….Maybe we can add more tests to catch this earlier?”
Once you have built more trust with this person, such that they understand the feedback is intended to help them improve and they won’t take the feedback as a reflection of their personal self-worth, you can be more straightforward.
3. Encourage crazy ideas
I love working with new folks since they bring a fresh perspective and are uniquely qualified to identify opportunities/inefficiencies in the current product/process. Since they are new, some of their ideas may seem crazy/impractical. The default response in my head is something along the lines of
“That wouldn’t work because of X and Y. We tried Z recently and it didn’t work.”
But I try not to say it out loud. In general, you should think of yourself as a collaborator rather than an editor. Take what is good about the idea and see how you can build on it to make it better. It is important to remember that it is not about this one idea alone. This interaction sets the tone for this person’s opinion about the company/employees. After the interaction, they may either come away with the impression that you are not a great person to discuss future ideas with (bad) or just completely stop thinking about new ideas (worse). Futility is a huge morale killer (my ideas/actions are not going to change anything).
4. Identify their superpower
Imposter syndrome is real. Some of the smartest people I know suffer from it and it is a huge barrier to success for new engineers. One way to counter that is to identify the unique strengths of people and provide opportunities that bring out their superpower. By doing this, you can help them have impact quickly which helps build confidence and grow in other areas without fear of failure. In addition to helping them shine, it is also a great opportunity for you to learn something from them. To identify someone’s superpower, focus on how this person stands out from others:
“Of all the people I have seen, this person is the best at X”.
This is really helpful for avoiding pattern matching i.e. comparing this person to others you may have seen in the past (bad) or to yourself (worse). Forming opinions about this person based on past experiences can lead to unconscious bias (both in a positive and negative way). So, being able to identify what is unique about each person can help them stand out as distinct individuals in your mind and avoid forming inaccurate opinions.
Most of the learnings above have come from past experiences where I have made these mistakes with my mentees. I still have to constantly remind myself to do these things. So, be open to making mistakes and learning from them. Happy mentoring!
