After 6 months of mentoring someone, I’ve learned a whole lot. The process has been incredibly rewarding, easily my favourite thing I’ve done with my career so far, but there have been plenty of challenges and frustrations along the way. Here are a few of the key things I’ve learned in the the sessions so far:
Give positive feedback
Perhaps an obvious one, but easily overlooked, both in the mentor/mentee dynamic and life in general. I think it’s sort of easy to treat software engineers as coding robots (I regularly treat myself as one until I’m reminded otherwise), but they’re actually people, with feelings, and providing positive feedback boosts morale, in turn keeping them more engaged and letting them improve faster.
Structure is key
If you’re going to have an ongoing relationship with someone, it’s important to have some kind of structure to the work you do together. Ad-hoc sessions can work well sometimes, but often there might not be an appropriate problem to tackle or skill to try and learn, and then a session might not be as effective a use of time as it could have been. Set goals together, identify strengths and weaknesses, come up with a plan to address the latter, and then come up with specific sessions to enact that plan. The sense of progress and working towards a goal will make both of you feel enthused, plus it shows your mentee that you’re willing to put in the effort to come up with a bigger picture.
You should mentor soft skills too
I realised pretty quickly that I ought to be trying to teach specific skills rather than simply showing how to solve specific problems, but it took me a bit longer to clock that it’s just as important to try to teach soft skills as well. How to debug your dodgy database connection is one thing, but it’s being able to communicate effectively with your team, assert yourself and recognise your value to a company that are ultimately what’s going to drive your career progression.
Try it and find out
Whenever my mentee asks me a question, I’ve stopped telling them the answer - instead I say to try it and found out what happens. This is great for me, because it hides whenever I’m not confident in what the answer would’ve been, but it’s great for them too, as changing and breaking things in a safe, local environment is how the vast majority of programmers solve problems the quickest. It’s also the way that I think most people learn the fastest, and perhaps most importantly, is the most fun, which brings me to my last point…
Mentoring doesn’t have to be dry or humourless as you hone in on exactly how best to apply SOLID principles or perfect your sorting algorithm. You can take some time to crack some jokes, talk about life, or maybe even gossip, within reason of course. If you’re keep things friendly and you’re open with your mentee, they’re more likely to open up to you about the things that they might feel are really holding them back, which you can in turn make a plan to address so that they progress even faster. And much like positive feedback, if the sessions are fun, you’ll both be excited and engaged, and will do your best work in them.