Our engineering team is the largest team in Buffer. It has a lot of moving pieces and is made up of several smaller teams. As with any great team, we want to make sure that no individual lacks leadership or the opportunity to grow. In this post, I will share a little more about how we did this through a new program in Buffer that we have already had a lot of success with, our Engineering Mentoring Program.
Why a mentoring program?
Over the years of working in our engineering team, we have achieved great results from pairing engineers and sharing knowledge. We have also seen spontaneous mentoring relationships and we are currently in a position where we have several senior engineers who naturally fulfill the role of mentor for a junior team member.
These relationships have proven to be extremely beneficial for the growth of junior and senior engineers and have helped teams be more cohesive and move faster. To expand mentoring opportunities to more engineers, we decided to launch an official mentoring program in the engineering team, to add momentum to existing relationships and form new ones among engineers interested in developing as a mentor or learning from one.
One of our main focuses on the engineering management team is helping engineers grow and advance within our careers. At the same time, they learn and apply best practices to improve the quality of our code base over time.
In the past, we have heard confusion from our engineers about how investing in code quality and best practices is related to our career framework, and concerns that some technical debts could make it more difficult for newer engineers to advance. This mentoring program seems to have helped raise the level of younger engineers, which we always want to do more.
How we set up our mentoring program
There are three roles in our engineering mentoring program: mentors, protégés, and mentoring champions.
Mentors are senior engineers who have deep experience in developing the skills of others. They have regular meetings with their mentors and provide a safe space for the protégé to think out loud and be a soundboard for exploring new ideas and innovative thinking.
Mentors can also be a personal team of fans for the mentee, motivating mentors to achieve their goals and inspiring mentors ’own mentor achievements.
Mentors will share best practices, code quality, testing, processing, and how they relate to our engineering career framework. Promoting a protégé is a sign of success! The goal of mentors is to technically increase mentoring, and improvements are one (but of course not the only) way in which growth is demonstrated.
Mentors will help identify and solve problems and will provide practical, timely advice and a paired program to help remove all blockers and share knowledge.
Protégés are engineers who feel they could benefit from a mentor who will lead their careers and skills growth. They don’t have to be “younger.” A senior back-end engineer who wants to learn front-end could also be a mentor.
This program is for protégés, so they own the relationship and are responsible for organizing and conducting all meetings with their mentor. They should not wait for their mentor to drive this growth. In their discussions, they should prepare assignments for which they want help and code examples.
Residents are responsible for implementation and growth based on the feedback given to them by their mentor. It is up to the mentor to accept the advice and follow it.
We have already tried mentoring, but we are missing something: support for our mentors. To fix this, we came up with the idea of Mentorship Champions. These are team members who are themselves amazing mentors, have extensive experience in teaching mentor engineers and are very experienced engineers.
Mentoring champions meet regularly with mentors to provide them with guidance and support on how to be a great mentor. They help with blockers, challenges, or frustrations that mentors may have and give feedback about the program to the mentoring manager to make sure he or she is successful.
The difference between a mentor and a manager
While there are some similarities in mentoring and management relationships, such as helping and guiding team members in achieving certain goals, there are also key differences.
Managers ’focus is generally on achieving organizational and team goals, as well as ensuring that their advice and decisions are aligned with the organizational vision. With a mentor, the focus shifts to personal and career growth. The mentor-mentor agenda is focused on the exchange of knowledge and experience.
The manager is responsible for reviewing employee contributions and providing performance feedback, while mentor feedback and reviews are personal communication aimed at helping the ward stay focused on their long-term goals.
Open and honest communication is a key element of the mentor-ward relationship. In fact, the whole purpose of a relationship is to talk openly about the shortcomings of the mentees and learn how to overcome them with the help of an experienced mentor, while it is harder to talk to a technical person about technical shortcomings.
✅ Mentors give answers; managers ask questions
✅ Mentors advocate for you; managers develop you
✅ Mentoring is casual; management is formal
✅ Mentoring is personal; management is organizational
To help our mentors and mentors, we have defined some key principles of this program:
A mentoring session is all about being mentored.
It’s mentor time, so the mentor should focus the session on them, their questions, and what they need. The mentor should also be willing to fill in the gaps that the mentor does not bring or tries to see for himself.
Mentors help their mentors grow technically by technically supporting the identity and interests of their protégé.
The goal of the program is not to take an approach that suits everyone. It provides tools and support to mentors to help everyone thrive in their own unique way.
Not everyone needs a mentor.
Some people learn best on their own, or from casual conversations with many different people, or perhaps already at this point they get everything they need from their manager and do not require additional mentoring.
An engineer does not have to be a mentor to grow.
There are other ways that engineers can expand in their careers, and our mentoring program is not a requirement within our career.
Feedback from the mentoring program
Initially, we ran this program as a six-month experiment. After the first 6 months, we asked those who participated for feedback on the program and whether they wanted it to continue.
The feedback we received about the program was extremely positive, showing that such relationships and the support the program provides were very helpful for the growth of both mentees and mentors.
Here are some highlights:
- […] I believe this mentorship was the biggest factor in my growth at Buffer
- […] mentoring syncs are definitely one of the most useful syncs I have
- […] It’s a very positive experience overall, really enjoy building a relationship of trust with your protégés, and seeing them progress is definitely a worthwhile experience. It’s also a good way for me to get more involved in different product areas and issues, outside of my strict daily work
- This program was very helpful to me, I enjoyed every call I had […], my mentor always challenges me and helped me grow by doing the things I love.
- […] “It was just a joy full of learning and mutual trust. I felt we could connect and talk about many things around the career framework, personal growth and technical decisions in our organization.”
Based on feedback and individual interviews with engineers, we decided to continue the mentoring program indefinitely with a few changes.
What have we changed in the program
Adding more mentoring champions
One of the identified benefits of the mentoring program was the dedicated support of our mentors through Mentorship Champions. Until now, this role has been fulfilled exclusively by our human resources engineer, Mike San Roman, which makes it difficult to scale and add more mentor pairs (support multiple mentors). That’s why we decided to add even more senior engineers and experienced mentors as champions in mentoring.
Introduction of regular mentoring interviews
There were important topics that emerged from this experiment, such as ensuring that the program was inclusive and diverse, supporting and growing female mentors, and improving program transparency and collaboration with engineering managers.
For this reason, we now hold monthly interviews between champions for mentoring to discuss the above points, discuss all recurring topics in mentoring, and share knowledge and updates with the engineering management team and the wider engineering team.
We present asynchronous working hours
It was quite inconvenient to bring together mentors and champions in mentoring on one call since so many of our team are in different time zones. With a four-day work week and a growing commitment to asynchronous communication, we have decided to introduce asynchronous working hours in which, on a given day, everyone will share their updates asynchronously on our private Slack channel. The updates will include all the successes, challenges, blockers and celebrations that have emerged in the last few weeks.
So far, we have seen great results from the engineering team mentoring program and we are excited to continue to invest in it and support our engineers on their career path.
Friendly communicator. Music maven. Explorer. Pop culture trailblazer. Social media practitioner.