Kristijan Pušić | December 14th, 2023
This article is intended as a short guide to help you, the reader, understand the importance of mentoring and how it can benefit you as a software developer. The idea is to try to explain what makes mentoring really effective and how it affects developers’ personal lives and careers.
At Setronica we use mentoring internally in our company, knowledge and experience gained from more than 20 years of successful projects, with different enterprise and unicorn customers, with different technologies and corporate cultures. Setronica has started to share its mentoring experience externally, offering mentoring as a service to other companies and individuals.
Mentoring is one of the most traditional forms of knowledge transfer in the world. The concept of mentoring dates back to Homer’s Odyssey. Homer wrote in the book that before Odysseus left to fight in the Trojan War, he entrusted his older friend, Mentor, to teach and train his son, Telemachus. Mentoring goes back to ancient Greek times. Mentoring is as old as algebra, geometry, logic and ethics. All essential parts of any modern IT business.
Globalization and AI have made mentoring a number one issue in IT companies around the world. ChatGPT or Claude can replace any junior software developer on the planet. Investing in mentoring is the only way forward, in fact a study by MentorcliQ (via Forbes) found that 84% of Fortune 500 companies already have mentoring programmes in place. It’s never too late to start mentoring! The importance of mentoring has long been recognised in the literature. According to Abraham Zaleznik (1977), the mentor-mentee relationship is the most important relationship in an individual’s professional life, and mentoring is closely related to leadership.
One of the most important things a mentor can do is pass on their knowledge and skills. Coding mentors regularly review the code produced by a mentee. Task decomposition is also an important skill for any developer to have. Naming conventions are just a reminder that naming the objects you develop is important. Refactoring code is a thing to do from time to time, but separating your refactoring from other code changes a developer has made is a very important thing to keep in mind. A PR (pull request) would be much easier and less stressful to review if feature-related changes were not drowned in huge chunks of refactored code. Send smaller PRs! In specialized software, the speed and quality of developers is tracked by various statistics. The statistics range from those related to the code itself to those related to a specific team, individual developer or company level statistics. Finding the right resources for learning can also be very difficult. In addition, an experienced coding mentor will know exactly what resources and learning techniques are right for their mentee’s needs.
There are so many ways that a software engineering mentor can benefit a developer and influence their success, and I will try to name a few. Software developers need coding mentors to learn best coding practices and improve their overall technical skills. Having a coding mentor helps developers identify areas for improvement that they may not have noticed or been aware of. Developers need a foothold, an anchor in their career. Software development is a human-centered and socio-technical activity. Between the developer and the end user there are a lot of people who are also doing their jobs. Designers, analysts, managers, CIOs, CISOs, CEOs, CTOs or simply VPs of Engineering work in most IT organizations. Some days developers struggle to stay motivated. In fact, there will be days when all their efforts feel pointless and they can’t see the light at the end of the tunnel. Building strong relationships with people who have recently been through the same experience will help a developer keep looking forward to the future!
A mentor’s role also provides guidance and challenges mentees to reach new heights in their soft skills development. When done correctly, it teaches developers how to build lasting relationships with others through effective formal and informal communication, which helps developers in both their professional and personal lives. As well as professional development, a mentor can help you develop as a person. As the relationship develops, trust should develop between the mentor and mentee.
There is no competent competency matrix to evaluate a developer that doesn’t include mentorship, leadership and a wide range of soft skills issues. Accepting mentorship is a key step in becoming a senior software developer. We can see that developers are not only tracked and evaluated through various statistics related to their tasks and code produced, but also through the company’s competence matrix. The matrix is a document that represents all the skills and competencies that a company expects from its employees. Effective mentoring uses a variety of tools to assess the mentee, a piece of software and two human peers for the competency matrix. Typically, a mentor, engineering manager and mentee are the ones who need to agree on the mentee’s current skill status within the competency matrix.
The developer community says that software developers who have a formal mentor tend to learn faster and better than those who don’t. Formal mentoring means that there is some kind of structure to the mentor-mentee relationship, such as a frequency of one-on-one meetings or a personal quarterly goal. This structure creates accountability in a software development team and in an organization as a whole. Accountability also plays an important role in the personal development of any software developer. Not only that, but mentees often become the best mentors for new interns. Not only that, but mentoring plants the seeds of leadership in a team or company. The benefits of using mentoring extend from the personal to the professional level of an individual, as well as for an individual and for an entire organization. Creating an inclusive work environment is a goal for every IT company in the world.
A software developer’s success is equal to the amount of mentoring they do! A bold statement? Let’s think of it as a nice new mathematical theorem. Practicing mentoring, even on simple topics, makes a developer question his own knowledge and self-reflect. The mentor also gains knowledge, together with the mentee. Mentoring is a reflexive relationship!
Thank you for getting this far in reading my article. I can only hope that my intention of introducing you to the benefits of Setronica’s mentoring service has been successful. Start mentorship and start mentoring. Mentor often and do it formally. Technical excellence and soft skills work together to shape a developer’s career. Evaluate your mentees with a competence matrix and give feedback. Setronica mentors are here to help you and play a perfect partner in your learning journey!
IT consultant and Business developer
Our consultant is at your disposal from 9 AM to 5 PM CET working days from Monday to Friday for any additional questions.