Software Mentoring: Five Important Lessons To Remember

If you’re starting with coding, this will help you navigate through mentorship. If you’re a mentor, this will help you make fewer mistakes I made.

Adnan Sahinovic
4 min readFeb 10, 2024
Photo by Sigmund on Unsplash

Mentorship is an essential process in the making of a software engineer. As a lead engineer, I often encounter mentoring as part of my daily job.

As a self-taught programmer, I understand the importance of having someone to support you and provide you with a stress-free environment to grow.

For junior developers, mentorship is like sailing in an open sea with a constant weather change. Your job as a mentor is to control this weather and ensure no storm is on the horizon.

Programmers usually come from different backgrounds. If someone is a good engineer, don’t expect him to be a good mentor. If someone has had a mentoring experience before, don’t expect him to communicate well or set expectations right.

I had a chance to mentor and teach over fifty software developers in my career, and some of them are working on large-scale projects and have a dream job they always wanted.

Along the way, I documented what worked and what did not. Here are the key mentoring takeaways from my experience:

1. Set expectations early

The earliest you set expectations, the better. I’ve found out that most of the problems come from unrealistic expectations or not setting expectations at all.

Mentorship is a two-way road, and mentors and mentees should communicate their expected goals. This doesn’t have to be formal or documented but has to happen at least as a dialogue.

The better you lay, the more stable the mentorship process will be.

Depending on the length of the mentorship, these goals should be adjusted to fit needs. Here is an example:

  • 1st month: Get to know the basics of frontend
  • 2nd month: Understand business logic and backend
  • 3rd month: Become an independent engineer

When setting learning milestones, you set a foundation for a successful mentorship.

2. Steer, but don’t drive the mentorship

This is where a lot of new mentors make a mistake. It’s a thin line between trying to be too helpful and an over-controlling person.

Every relationship should start with trust. If you find yourself in a situation where you need to micromanage, something is wrong.

Don’t over-control anyone. Let the mentee have a space, but also help him steer in a pool of information.

No person can be forced to do something unless they think it benefits them. You should be gently guiding a person.

You have to understand that mentees are sailing in a pool of information. Your job is to help them filter relevant information.

Before mentee starts with their work, your job is to provide technical and business information about their upcoming work. The more context they have — the better job they can do.

3. Don’t enforce your learning styles

People tend to think their way of learning things is the best. I was this person for a long time. I’m the type of person who is methodical and always looking to learn something new, whether it is a course, book, or documentation.

If someone doesn’t like reading books or tutorials, that’s fine. Let him find what works for him, but provide important guidelines.

The big lesson I learned in the past few years is that not all of us have the same learning methods, discipline, and cognitive capacity.

4. Lead with important conversations

Crucial conversations are where emotions and stakes are high. Most junior programmers often have problems with self-confidence and reaching out to mentors.

These convos needs to happen and be initiated by you as a leader.

Keep in mind what you want out of these conversations, and your job as a mentor is to start these crucial talks.

5. Track the progress

Don’t just document progress, document every mistake you made and your key findings. If there is more than one mentee, it’s almost impossible to do it efficiently without tracking a progress.

Most of the developers don’t do mentoring as their primary job. There is regular work most of us have to do – because of this, you must document each step. This will help you not forget what was done perfectly and what needs to be improved.

Tracking progress will help you manage your current mentorships and set a standard for future ones.

There are no written rules, and you should create your tracking document. This document should hold the biggest wins and failures during a mentorship.

Every mentorship is a new opportunity for you as a mentor to expand and grow.

Everyone has different experiences when it comes to mentoring, and we are learning new things each day.

The most important thing is to be supportive and provide a clear growth plan. By being a good mentor and a leader, your job is to provide everything necessary for a student to grow.

Looking forward to hearing from other mentors and their experiences.

Happy mentoring!

--

--

Adnan Sahinovic

Mobile Tech Lead | building mobile & web apps, leading software teams, and documenting my journey on Medium