How To Mentor A Junior Developer: 6 Golden Rules
It’s been said that you are only as good as the people you have around you. But sometimes you are the one that others have around them.
In this article we will look at 6 golden rules that will allow you to take a Junior Developer under your wing and become the Obi Wan Kenobi of their journey into tech.
In other words, this is a guide on how to become a good mentor.
Everyone with me so far? Great! Then the first rule is…
1. Start Your Relationship With A Meeting
It’s not enough to shake hands once and tell your Junior call me whenever you need anything. Instead, the first thing you should do when the newbie joins your team is to set up a meeting specifically for you and them to introduce each other.
Have a chat about how you work, make room for some personal talk, and keep the tone light — remember that they should feel like they’re talking to another human being, not to some kind of superior officer.
Use this time to find out a bit more about their competences and their background, and establish early how your team works and what best practices you expect them to stick to. Have a conversation about what you both expect from the partnership between the two of you, and about the best way to get there.
Of course, nothing stops you from having more of these meetings in the future — but the first one is usually the most important for a Junior (if only because, in due time, they will stop being a Junior in the first place).
2. Help Without Helping
The trickiest part about mentoring a Junior Developer is that you want to make sure they are not just solving whatever problem they have, they are also learning from it. I say this is tricky because you have to give enough help for them to get unstuck, but not so much that you are actually solving the problem for them.
To help them learn, there are two things you should do. The first is to make sure all of your advice is exclusively verbal. In other words, you should never rewrite their code for them. Instead, tell them what you want them to do, and let them implement it by themselves. Even if you decide to dictate a solution step-by-step, the fingers on the keyboard should always be theirs.
This includes Googling, by the way. If what they are looking for can be found online, then tell them that, and let them do the search themselves.
The second thing you should do, is to look closely at how your Junior Developer phrases their questions — are they asking for help, or for hand-holding? If it’s the latter, don’t indulge them! Instead, answer their question with another question, one that points to the sort of avenues of thought they should be exploring.
Make sure that you are never spoon-feeding your Junior. The best way you can help is to teach them how to help themselves.
3. Do Regular Code Reviews & Pair Programming
The two most helpful activities you can do with (and for) a Junior Developer are probably code reviews and pair programming. The former you should be scheduling on a regular basis, the latter you should make time for (if you have that option on the job).
The principle of helping without helping still applies, of course, but working closely and collaboratively on code will be incredibly helpful to your Junior no matter what. Walk through their code line by line, making sure they understand what everything does and pointing out aspects of it that will be relevant to the project as a whole. Emphasise and reinforce the importance of best practices, of testing, of formatting.
Of course, you’ll find plenty of poorly written code. When you do, be patient and supportive, and explain why another option works better and how their code can be improved — not ‘why they are wrong’.
4. Adopt A Listening Mindset
If you’re mentoring a Junior Developer, you have to be as careful about your own mindset as you have to be about theirs. It’s easy to assume an attitude of ‘I know better’ when you actually do know better, but that is only going to make you a worse listener — and good listening is vital!
Listening is what will reveal your Junior’s misconceptions and blind spots, allowing you to correct them. Moreover, they may actually come up with a good idea you hadn’t thought of — and if they do, you should absolutely help them pursue it. It will massively boost their confidence, and it will be a learning experience for you as well!
But aside from the technical importance of a listening mindset, there is also the human one. A Junior Developer will be especially susceptible to imposter syndrome. Often they’ll refrain from asking for help because they’ll be worried they’ll embarrass themselves.
You need to make them feel that you value their opinion, and as importantly, that you are always available (within reason) to answer their questions. Keep an open door.
As an addendum to the above, after listening to your Junior, make sure your feedback is supportive. Sometimes a smile and a quick fist bump at the end of your conversation can make a much greater difference than most people believe.
5. Learn When To Say No
I stressed the importance of keeping an open door to your Junior — but this doesn’t mean that you have to accommodate their every request. As they learn, your Junior will sometimes ask you to compromise with them on certain things. They’ll say things like, ‘Just for now, don’t worry about the fact that I didn’t follow the procedure you recommended. Can you just look at this snippet and tell me why the code is not working?’
If your Junior is not following best practices or not correcting their bad habits, that’s when you have to start saying no. Tell them not to come back to you until they can show you code that has been written according to the procedure that you expected to be followed, tested the way you asked it to be tested, formatted as you wanted it to be formatted, etc., and that you’re not going to help them until this is done.
The point isn’t just to enforce good practices and not let your Junior get away with bad ones. It’s also about saving everyone time. When the Junior goes back to the problem and follows the correct procedure, very often that’s enough for the solution to present itself.
6. Bring In Some Extra Hands
The final step to being a good mentor is to understand that you’re not the only one who should do the mentoring. You won’t necessarily be the best person to answer every question, so introduce your Junior to the rest of the team, and explain who does what as well as where the Junior can turn to for help.
You should still be the first port of call for them, naturally, but feel free to direct them elsewhere when they have a question best addressed by somebody else. This is helpful not only because your teammates may have more appropriate competences, but because your Junior will feel greater freedom to ask questions if they’re not constantly turning to the same person.
Networking was one of the tips we shared in our article on how to kill it in your first year as a web developer. So help your Junior do just that!
Conclusion: The Importance of Being There
If you ever had a really great mentor, you probably know that mentoring can make a difference not just to a Junior’s experience with their new company, but often to their entire career.
Perhaps you’ve never taken someone under your wing before, in which case it’s understandable that you may not feel completely comfortable being the mentor. But then, consider that the person you’re there to help has even less experience than you, and think of how adequate they must feel when approaching their job.
Nobody is a master at being a master. Just do your genuine best and keep the above rules in mind — and you can change somebody’s life for the better.