One of the most frequent pieces of advice given to recent grads/hires is to seek out someone to be a mentor to you. The benefits are very real and very diverse, a mentor can help you with much more than just knowledge of programming. Tech culture, local events, networking, job-seeking advice, office politics, professional priorities, identifying strengths & weaknesses & how to improve them, or even just someone to vent out your frustrations too, a mentor can help out with all this in addition to working on your programming skills. However, despite all this, the relationship is hardly one-sided as the mentor also often stands to gain a slew of benefits from the mentee. These benefits aren't exclusively beneficial to senior mentors, however, and I wish to explore how even junior developers can reap these benefits as a mentor themselves.
Gaining a Different Perspective
Whether in code or life, we all have our unique way of doing things. As a junior developer, you may still be reliant on doing things the way you were taught and/or have not yet been exposed to alternative methods. Having a mentee asking questions of you and sharing their creative process can do wonders for expanding your approach to programming...or life.
Advice: Remember, someone always has something to teach us, even the people we are supposed to be teaching ourselves. Big or small, something will always be there for you to find.
Polishing Your Own Skills
You know that feeling when a little kid knows more about something than your grown-ass? No one likes that feeling, especially not when they are getting paid to be exceptional at the topic at hand. Mentoring is no different. Taking on the responsibility of assisting in another person's growth often means you have to make sure you're on point as well. This may force you to go back and reinforce some of your knowledge, or even present you with an opportunity to work on a problem that incorporates skills you haven't had a chance to use lately. As a junior developer, revisiting even basic challenges can be highly beneficial.
Advice: Any pressure you feel is superficial, so don't sweat the small stuff. If you are mentoring someone preparing for a role you are already doing or qualified to do, there is almost no chance you know less than your mentee. Also, it's ok to make mistakes, this is not a piece about being perfect, plenty of my teachers I've witnessed messing up many times. Use this pressure to challenge yourself, not to beat up yourself.
Measuring Your Own Growth
At various points in the Mentor/Mentee relationship, you will come across similarities you had when you were at that stage of your journey. A retrospectively silly question (my wife still teases me when I asked her "what does
puts do?"), it could be a sense of accomplishment when they complete a basic challenge or anything. This often gives the mentor a chance to reflect on how far they've come, which can give you the confidence in dealing with your current set of challenges.
Advice: In addition to not overly blaming yourself for your challenges, don't be dismissive or trivial of others. Especially as a mentor, part of your responsibilities to your mentee is to help them overcome their challenges, not to help define them by them.
A Remedy For Impostor Syndrome
Impostor syndrome is still a very real thing and a serious obstacle for young/new developers. The practice of constantly questioning yourself and if you belong is an ever-present state of mind for some people, unfortunately, and it only gets worse if you don't feel like you have a purpose or contribution to make - like when you're in-between jobs or your current role is unfulfilling. Helping a mentee can be a surprisingly helpful remedy to this feeling. You get to witness for yourself the real positive impact you are having on another individual, someone who accepts and acknowledges your advice as genuine rather than being critical of it, and generally just being considered important in even this one regard can often be the exact confidence boost you need.
Sometimes the best way to embed what you have learned is to teach what you have learned. In addition to seeking out a mentor(s) for there guidance, try finding others that could benefit from yours. Maybe you can reach out to your school, encourage a friend or two to study programming and offer mentorship, or just be open to the possibility as you meet new people at events or such. The experience you will gain could prove invaluable in your journey.