Before there were rigorous, formal education programs, we learned a craft directly from a skilled craftsperson, following in their footsteps, shadowing their work, gradually absorbing their hard-won skills and knowledge. This model of apprentices and mentors (and eventually guilds) sustained professions for centuries and yielded many of the world’s finest creators.
While today, we have greater access to formal education – as well as many, many other options – for skill training, many trades have continued the mentorship model quite successfully. Software development as a profession has unfortunately not adopted mentoring in any consistent way, which is a shame as it is a craft particularly well-suited for mentoring.
There is so much information on learning software development, so many different avenues of obtaining it, and it changes so constantly and rapidly that it can be completely overwhelming. Where do you start? Where do you go next? Who can help? It can be especially overwhelming with NetSuite and SuiteScript, where googling and Stack Overflow can only get you so far – which is to say not very far at all.
Establishing a mentoring program in which your senior developers guide your junior developers to effective processes, helpful resources, new ideas, and better habits is an important piece of a high-performing, motivated development team. Say
Yes to the tenth of our 11 Questions for a Better Developer Onboarding Program with your own mentoring program:
Do you pair your new hires with a mentor besides their manager?
Mentors help to drown out all the noise and maintain focus solely on the best next step on the path. Mentors provide the most timely answers, the most effective, personalized advice, and helpful encouragement when it’s needed most. Having a real person there to listen, advise, and guide along the path is invaluable – particularly for junior developers.
Mentoring programs do not have to be intimidating or highly structured or formal, although they do benefit from investment and structure like any other skill or system. To get started, you only have to decide that mentoring is a priority for you and your team.
The level of attention and energy required to be a good mentor, however, is significant. If you, as the leader of the team, are the only one acting as a mentor, you’re going to very quickly exceed your limit; the team size will reach some critical mass where you are no longer able to perform both your job duties and your mentoring responsibilities in a reasonable amount of time.
Start identifying potential mentors. Better yet, let them self-select. When you’re next considering hiring a new developer or two, provide your current developers the opportunity to raise their hand and become a mentor. Let the mentor take over some of the process training portions of Onboarding. Let them take on the reponsibilities of oversight and 1-on-1 guidance as the new hire works through their training project. Your focus then narrows on setting the appropriate tone, establishing the expectations, and enabling the mentor.
As mentoring expands and evolves within your team, you can develop a more thorough roadmap for the progression through the mentoring program; you can help mentors invest in their mentoring skills alongside their technical prowess; you can develop additional career progressions for mentors. The possibilities become numerous and exciting. All of that is just icing on the cake, though.
The crucial piece of mentoring is the close relationship it builds among mentor, mentee, and team. Mentors and mentees will be more invested in the team; mentees will more quickly establish social bonds and learn the ins and outs of their work, and the team will be more efficient, consistent, and productive for it.
As the leader of a software team with a strong mentoring program, you define the path; develop mentors on your team to guide the rest along it.