As I have become more tenured in my career, I’ve developed strong feelings around best practices for mentoring junior developers. Those practices create a welcoming and inclusive learning environment at Atomic. It’s been a satisfying experience because I get to see people have similar struggles to the ones I had when I was a junior developer and help them learn how to overcome those struggles and grow.
One of my goals when doing this is to make them feel as comfortable as possible. I’ve found that when working in a comfortable environment, junior developers are more likely to ask questions, speak up, and point out mistakes. Here are a few strategies I use to do that.
Encourage “stupid” questions.
Many of us have heard the term “there are no stupid questions,” so it can be easy to think this goes without saying. Despite this, I’ve found the fear of sounding stupid when asking questions is common. Whenever I start pairing with someone new who is fairly green, I make sure to restate and reinforce that I want them to ask a lot of questions, no matter how “dumb” they are. This can be done by saying something along these lines:
- “If something sounds obvious to me, but it isn’t to you, please stop me so I can explain that.”
- “Does that make sense to you?”
- “Can you explain that back to me? Don’t worry about sounding wrong, start with what you know and we’ll work through it together.”
It also takes more than just talk. It takes action. If you say these things but then act frustrated or annoyed when responding, your word will have no effect. So be sure to be open, kind, and empathetic when answering questions and explaining things.
Advertise your gaps in knowledge.
Early in my career, I remember pairing with senior developers and thinking they had all the answers. I remember this was discouraging because no matter how much I learned, I still felt like I could never reach their level. But I gained more experience and had more conversations with senior developers. From that, I learned something: no matter how much experience and knowledge you have, that feeling of being dumber than those around you (a.k.a. imposter syndrome) never goes away. Because of that, I try to always make it known when I have no idea what I’m doing. I find this accomplishes a few things.
First, it normalizes not knowing things. When you feel comfortable not knowing things, it encourages asking questions.
Second, it allows junior developers to feel comfortable questioning the things you do. When you assume the person teaching you knows everything, it can be difficult to question them when they do something that seems incorrect or off. Questioning by a junior dev can help you avoid mistakes or even learn something new.
Finally, being open about the things you don’t know opens an opportunity to show how you research things. Instead of fumbling around pretending you know what you’re doing, you can say, “I don’t know, let’s go find out together.” Then show them how to parse through the internet to find the solution to your problems.
Validate their progress and identify areas of improvement.
The most anxiety-inducing thing I remember about being a junior was wondering if I was doing good enough. Even if I was told I was doing a good job, I would feel annoyed since it felt like there were areas I could be improving on. In other words, I felt like no news was bad news. For this reason, even if you think it’s obvious that a junior is doing what is expected of them, it’s important to verbalize that to them.
That’s why I also believe it is just as important to identify areas of growth for them. Early on, it’s easy to compare yourself to people with more experience than you. I usually compared myself to people that I admired and wanted to be like in some way. So when I get the feeling that someone is comparing a skill of theirs to mine, I try to explain to them how I got here and give advice for them to get there. This accomplishes two things: First it shows that you haven’t always been at that skill level, and second it can help them develop that skill.
Foster a comfortable environment for junior developers.
Fostering a comfortable environment for junior developers is something I feel very passionate about. If you have any other ideas on how to do this, or examples of the practices I stated above, please say so in the comments!