# How to mentor junior developers
Do you find yourself being asked to mentor or onboard a new engineer at work (opens new window)? Typically this happens when you yourself have been at your company long enough to know how it ticks, and are somewhat more experienced than the engineer you are helping out.
So how do you guide them? Here are some tips I've found useful (watch on Youtube or read on below).
# 1. Understand their starting point
Many newer engineers follow a common progression, and if they are only 1 - 2 years after graduation they are likely still figuring out how to work independently within a team environment.
Depending on their experience, they may be more or less comfortable already in different parts of the system they are working in. Maybe they studied databases extensively and therefore need less guidance here, or perhaps this is the first time they are working on any frontend components.
Take the time to understand their existing competence and then tailor your mentoring accordingly - remember that there isn't a one size fits all solution, you probably shouldn't just pass along a list of reading material for example.
# 2. Think about your objectives
Now that you understand where they are starting from, you should also have some idea what you / they / your team wants to reach.
Some common objectives for junior engineers might be to deepen their understanding of the backend framework, or the ability to design features independently, or perhaps even non-technical skills like the ability to collaborate more effectively with product managers.
Whatever the case, consider what your mentee needs to learn in order to meet that objective - it's often difficult for the newer engineer to know what they don't know, that's on you!
In that vein, I've found it useful to think of onboarding or mentoring as a set of outcomes (ie engineer can now do X) rather than a set of tasks to do or a time-based period.
# 3. Invest upfront
Understand that proper mentoring / onboarding will require some time investment on your part, especially in the earlier stages of the relationship. Remember to take this into account when planning your own work, if you have those responsibilities too.
In my experience, most mentees have benefited the most when the mentor spends some preparation time on what is shared with them and when. This might be as simple as selecting tasks which are suitably challenging without being too easy or too difficult.
The benefit of committing to this upfront is that it makes the turning point when the newer engineer is now more productive happen much sooner, than if you (the mentor) are somewhat less committed - the relationship then remains barely productive for either party for longer.
# 4. Tailor your approach
It's likely that the different engineers you mentor over time will have different modes of learning where they are most effective, and it's your responsibility to find something which works for them - you are the guiding hand after all.
Some common ways which different people learn might be:
- Self-based study, like just referring them to some reading materials or courses.
- Discussion, where the learning happens via a back and forth question and answer forum.
- Pair programming, where the learning happens more organically as the engineer works on particular tasks. This can be effective both when you or they are driving the pairing session.
- Teaching - this may surprise a few, but sometimes if you ask your mentee to present what they know about some subject a few days from now, the act of putting together the presentation forces them to understand.
# 5. Increase difficulty
Lastly, as your relationship evolves, you should be looking to increase the difficulty of any tasks / challenges which the new engineer is working on.
It's common for recent graduates to sometimes expect to be spoon-fed (ie "what should I do next?"), and as you see they have become more competent you should be reflecting some of these questions back to them and ask them how they think they should proceed. Sometimes they don't even realise or lack the confidence to recognize that they are now more capable than what they were from just a few weeks prior.