The tech industry is booming, and the demand for software developers has never been higher.
As companies scramble to find qualified developers to fill open positions, there’s a growing need for experienced developers to mentor others—and for mentees who are eager to learn.
For those who aren’t familiar with the term, mentoring is a way to share knowledge and help team members grow professionally while benefiting from your unique perspectives and experiences.
Whether you’re new to the field or have some experience, these nine tips from experts on mentoring software developers will help you get the most out of your mentorship relationships.
Table of Contents
Really get to know your mentee
When you’re mentoring in a professional manner, it’s important to remember that mentoring is more than just sharing your knowledge with someone—it’s also about bringing out the best in them by getting to know them better.
According to Yan Li, Senior Software Engineer at Adobe, and Jenny Medeiros, a Developer Relations Content Strategies, the first step in achieving this is being observant and asking questions that encourage the mentee to talk about themselves.
In their own words, you can ask them what their passions are, what things interest them, what their goals are, or anything else that piques your curiosity.
Get unreal data to fix real issues in your app & web.
It’s also worth the effort, they suggest, to practice active listening as a way to build connections with your mentees.
Active listening will put you in the position of counselor and confidant, someone with whom they can share their ideas without fear of being criticized.
As a mentor, you might be tempted to just start throwing around advice once you find some common ground with your mentee.
But don’t let the nature of this relationship get in the way of connecting with your mentee: ask them questions designed to open up a dialogue and get to know them better.
After all, good advice is only as effective as the bond it’s founded on.
Establish trust first
One of the biggest and most important lessons on mentoring that experts usually share is that you should first and foremost build trust.
One of those experts is also Rajiv Bhatia, VP of Product at Lyft and a former Director of Product at Zynga.
He suggests that mentors shouldn’t jump in with advice and offer solutions too quickly. Instead, they should invest time in building trust from the very beginning.
As someone who knows a thing or two about mentoring and helping rising talents advance their careers, he thinks that the mentor’s role is to create a safe and open space where mentees feel comfortable enough to express their ideas and opinions without worrying about being judged or facing repercussions.
In this sense, trust is probably the most important thing you need to establish early in your mentor role.
If trust isn’t established, it’ll be very difficult for your mentor-mentee relationship to grow beyond the surface level.
Allow them to make mistakes
When it comes to mentoring software developers, experts say you shouldn’t tell them what to do.
In fact, they advise that you let them make mistakes and do so in the name of experience.
Bartosz Mikulski, a senior data engineer, blogger, trainer, and conference speaker says:
“The first problem I see on many teams is shielding the junior from doing any work where they could fail in any way. Don’t do that! Failure is required to learn.”
In fact, he continues, junior developers are not endangered species, and mentors shouldn’t be overprotective over them.
Of course, that doesn’t mean they’ll be allowed to fail in a production environment.
However, he points out that they should be permitted to make mistakes in a test environment, especially if it was created for their own purposes.
He has a point, especially if we look at it from the perspective of the mentees. The sooner they can make mistakes, the faster they’ll learn.
Numerous studies back up this claim and emphasize the benefits of making mistakes.
For example, research conducted by Nate Kornell found that people learn better when they fail and correct their mistakes, rather than being told the answer and asked to remember it.
That makes sense as, when we make mistakes, we need to dig deeper into the problem and focus on finding the solution.
This leads us to remember what we learned more than a straightforward, rote answer.
Developers love to learn
It’s easy to assume that the best developers are those who have worked in the field for a long time—but according to some experts, that’s not necessarily the case.
These experts say that developers love to learn, and they thrive in environments where they’re constantly surrounded by new challenges.
For example, Benett Garner, a Lead Backend Engineer, is one of those experts that not only loves to learn but also knows a lot of other developers who are like him.
Good mentors will provide their mentees with advice, information, and resources that enable them to learn fast.
But even more than that, to meet their need for learning, they’ll allow them to work on challenging problems and solve them independently.
“If we continue giving junior engineers only the simple tasks, that will be all they are ever able to do,” says Bartosz Mikulski.
Picture it as it’s like preparing to run a marathon, he notes. You won’t get far if you only run a few miles a day—you need to progress gradually.
“The difficulty of tasks performed by the junior engineer must occasionally increase.”
As you can see, as a mentor, you need to provide an environment that lets your mentees satisfy their willingness to learn and improve.
A big part of this is ensuring that your mentees get enough opportunities to work on projects where they can really apply what they’ve learned from working with you.
Don’t let the relationship get stale
It’s a common misconception that the role of a mentor ends with getting the mentee to learn some basic ropes.
Staying in touch and checking up on your mentee are crucial parts of a mentor’s job.
Kelsey Isaacson, a Senior Software Engineering Manager at GitHub says:
“Regular meetings are essential to the mentor relationship. This is dedicated time to check in on projects and goals and talk about the challenges and bottlenecks along the way.”
Consequently, she thinks that it’s easy to lose motivation when you’re a developer.
This is where the mentor comes in.
As a mentor, you can listen to your mentee’s concerns, offer feedback on their ideas, and help them solve problems.
As a person who has been both a mentor and a mentee, Kelsey encourages other mentors to leave time for regular check-ins with their mentees.
She believes that mentors can give excellent guidance, but only if both parties are willing to put in the time, and suggests that mentor and mentee decide together on the best meeting cadence.
However, one thing should be noted here.
If the mentorship isn’t working for either mentor or the mentee, or if they just don’t have time for the regular check-ins, it’s all right to end it.
In other words, mentoring meetings should not be a burden or an obligation for you or the mentee but rather an opportunity for improvement.
Formal mentorship speeds up developer’s growth
Experts in the developer community state that software developers who have a formal mentor tend to learn faster and better than those who don’t.
Formal mentorship means that there is some kind of structure for the mentor-mentee relationship, such as a one-on-one meeting frequency or a term limit.
This structure helps keep the relationship focused and establishes accountability.
For example, Gergely Orosz, author of the acclaimed blog The Pragmatic Engineer, and former engineer at Uber, Skype, and Microsoft, can’t emphasize enough the importance of the formal mentorship program.
As you can see below, he thinks it enables developers to grow tremendously in their first 6-12 months.
Not only that, they often become the best mentors for new interns.
Moreover, Gergely believes that if he had a formal mentor during his developer years, he would be able to grow faster.
That’s why, when he later became engineering manager, the first thing he decided to do was to find a mentor.
And he was struck by how much he was able to grow because of this relationship.
He was not surprised that the junior developers were making progress.
However, he was not expecting formal mentorship to be so rewarding in terms of growth for senior developers as well.
The main lesson from all this is that having formal mentorship throughout your career is incredibly valuable.
When you find mentors, you’re not just getting advice.
You’re also given the opportunity to grow and learn more about what it takes to be successful in your field.
Share stories, not advice
While the term mentor generally brings to mind an experienced developer who shares pearls of wisdom and guidance with a young newcomer, a different approach can be more effective—and more fun for both parties.
Sumit Gupta, Founder, Leadership Coach, and former Team Lead at Booking, said the following based on his vast experience of mentoring software developers:
Sumit is just one of many mentors who have advised against offering advice when starting out.
The benefit of sharing your own experiences through storytelling is that it gives mentees the opportunity to learn from your setbacks as well as successes.
Also, the lesson you’re trying to teach is more likely to resonate with your mentees than when you’re just spoon-feeding rules or best practices.
Colin Zima, Founder at Omni and another fan of storytelling, explains he tries to surface a similar situation rather than merely giving instructions.
As you can see in the screenshot above, Colin understands that storytelling is essential to get the message across; he shares not only his stories but also the ones he collected from observing his colleagues and bosses.
The key takeaway here is that if you want your mentees to really learn from you, you should try using stories and examples instead of facts and figures whenever possible.
Teach mentees to fish
When it comes to mentoring software developers, there’s one thing that nearly every professional agrees on: you should teach your mentees to fish instead of just handing them the fish.
What does that mean, you may ask?
Well, it’s a metaphor for supporting your mentees so that they can learn to solve problems independently instead of relying on your help for everything.
For instance, Nina Wilkinson, VP of Customer Success at Canary Technologies, thinks that a good mentor gets people involved in finding the answer, not just dispensing advice.
She also found a way of tackling this issue by encouraging her mentees to think of possible solutions before seeking her input.
“If nothing else, it will give us a good jumping off point of how to solve the problem. In reality, it encourages them to think through the problem first and develop an ability to trust their gut.”
From everything that’s been said, it’s clear that the best mentorship should be more than just handing mentees everything on a silver plate.
Instead, you should give them a framework for thinking about the problem and then let them figure out how to find the answer on their own.
Once your mentees learn how to fish for themselves, they’ll be successful in any professional environment—not only yours.
Therefore, this is the best lesson you can teach them.
Developers want to master everything
Despite having a wealth of information at their fingertips, many junior software developers are still faced with confusion whenever they need to choose what they should focus on first.
In other words, they want to master everything.
But first, let’s see what Mehul Mohan, Founder and CEO at Codedamn, who mentored more than 2500 developers in his career, has to say.
“People want to become full-stack developers, contribute to all Open Source projects, get a job at Facebook, create a rocket at NASA, leave the solar system, and set up another civilization in another galaxy all at once.”
However, this is not how it works, as nothing can be achieved in a day, he continues.
Mastering a skill is a journey, and it’s better to choose one thing at a time and see how far you can go with it before switching gears to the next item on the list of things to master.
Yet, as he further points out, that doesn’t mean that developers shouldn’t try different aspects of software development, as this is the best way to determine what they like and what they don’t.
Nevertheless, focusing on one thing should still be imperative because it’s hard to become good at something if you are constantly trying something new.
The bottom line here is that when your mentees are just starting out, it can be overwhelming for them to know where to begin, especially when everything can feel equally important.
Therefore, try to direct them towards the most meaningful and impactful projects they can take on or on the projects that will have a positive effect on their career.
And they can master other things in the long run.
Conclusion
When it comes to helping your software developers grow and develop, most mentors are forced to rely on personal experience, intuition, and second-hand knowledge.
While that can be effective in some cases, it’s hard to beat the insights and advice of someone who’s been there before.
That’s why, in this article, we gathered nine lessons on mentoring software developers from experts who have been through the process themselves.
Hopefully, these tips will enable you to become a better mentor for your team members and help them grow and develop into experts themselves.