Mentoring Developers In Selleo: Best Practices

・12 min read
Mentoring Developers In Selleo: Best Practices

In the competitive job market, mentoring is one of the best methods of retaining top talent. It has also transformed into a business tool for developing employees. According to Forbes, mentoring is a fundamental component of the workplace and an essential part of modern work culture. It will become a business priority and cause micro-mentoring programs to thrive.

70% of Fortune 500 companies including Caterpillar, General Electric and Fidelity Investments implement mentoring and recognize it as a smart business investment. Mentoring programs are all about pairing new employees with the more experienced ones to help their skills development. In this article, we will discuss mentoring and managing, why mentoring is a great idea for your organization and how we in Selleo implement it.

What is mentoring? Mentoring vs managing

Mentoring is said to be the best way to speed up the growth of engineers and although the term is used with various meanings it is often used as a substitute for onboarding, coaching and helping.

Mentorship is a learning relationship between an experienced person (mentor) and someone who wants to grow (mentee). In the case of software development, it is a relationship between a senior engineer and a junior programmer.

Img

When talking about the differences between mentoring and managing or coaching, the biggest one is that in mentoring, the mentee drives the agenda. The mentor is present to listen and facilitate discussions, support the mentee in developing ideas but does not influence him/her to take a particular action. In management or supervision, the manager has a greater influence over the course of action the mentee takes. The mentor sets tasks and objectives for the individual.

Good mentoring leads to employee retention as developers feel valued and that they have space to grow within the company. Mentoring juniors leads to a better understanding of their unique skills and what challenges they face.

The best mentorship has mentors and mentees learning from each other and when done right it leads to an increase in productivity, job satisfaction and retention while creating valuable relationships.

Tips for mentoring success

  1. Find the right match - keep in mind the preferences of individuals, find out where the mentee wants help and what are his/her goals
  2. Regular check-ins - schedule regular meetings to discuss the progress
  3. Share resources - outside check-ins and pair programmings, sending relevant articles, videos and resources can be an amazing way to keep the conversation going
  4. Celebrate success - celebrate when your mentee makes improvements or achieves a goal
  5. Deliver feedback - listen to what the mentee has to say about the mentorship, you can do this via an anonymous poll

Why even bother? The more and less evident benefits

When it comes to the benefits of mentoring, there are some quite obvious ones, but you may not be aware of the others. Here are our top 5 advantages of introducing mentoring to your organization.

1. Skill improvement

Mentoring in the IT industry usually means code reviews. By checking the code of junior developers, mentors help them produce quality code. What is more, code reviews also boost the mentor’s knowledge, following the principle of learning by doing.

2. Learning best practices

Img

One of the most important goals of mentorship is passing knowledge and skills, which also means teaching coding best practices. Principles like DRY (Don’t Repeat Yourself), KISS (Keep It Simple, Stupid), SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion) and TDD (Test Driven Development) ensure a high-quality code and improve processes of writing it.

3. Feedback

Mentoring gives both mentor and mentee an ongoing exchange of opinions and ideas. Feedback enriches all participants of the process and brings long-term project benefits. Also, working with junior developers may bring a fresh perspective to some of the problems and the solution ideas may surprise even the most experienced engineers.

4. Better team spirit

Introducing mentorship can also improve team spirit as it is often viewed as a great team-building tool. It allows new developers to get to know their colleagues and adjust to their workflow. In such a situation, the mentor is a link between the new developer and the rest of the team, which results in a low entry barrier for a company.

5. Professional growth

Img

Mentorship activities stimulate the company’s professional development since one of the most important things job-seekers look for in organizations are the opportunities for further education and growth. Mentoring fosters cooperation, which in return, can help in retaining employees.

The Selleo way: Mentoring for developers

In Selleo, we pride ourselves on our onboarding and mentoring process but before the mentoring can begin, there is one equally important part of hiring - onboarding. A well-prepared onboarding process can not only help the new team member to feel welcome but also faster settle into the organization. When creating an onboarding plan, keep in mind the industry-specific aspects like ways of working, developer background, workplace culture and location. Developers are said to be a little bit more reserved in personal relationships, so they might not always want to participate in an extensive onboarding process. What is more, their previous background also majorly influences their technical and soft skills. Often times, there are also remote or freelance developers so try to come up with a way to onboard new employees remotely.

Img

We can divide the onboarding processes into three sub-categories: pre-onboarding, onboarding and post-onboarding. The first phase is all about providing the appropriate tools, giving access to the building and handling important documents.

The next step is to start a welcome session, tour the office, talk about coding standards and expectations. In Selleo we like to ask the newcomers to introduce themselves to the rest of the office to get to know them better.

Finally, post-onboarding is the phase where we can start mentoring. It all starts once a CTL invites a mentee to the team and a mentor is assigned. This can happen either online or in person. From this point on, the mentee takes part in all team activities, including scrum and client meetings, either as a shadow man or as a participant.

The main goal for the CTL is to build a relationship with the mentee and monitor his/her progress in order to prepare them for deployment on a commercial project. The CTL is responsible for finding the right project for the mentee while the mentor is responsible for growing his/her skills and knowledge according to the project needs.

Our mentoring process lasts 3 months and is further divided into weeks. Let me paint the picture of how it all looks in detail.

Month 1

The very first week in Selleo is all about setting up and introducing the new member to the rest of the company. The developer also takes part in project planning, sprint planning and daily scrum meetings with the team, Scrum Master and Project Owner. Week two is all about individual work based on spring planning and taking part in a feedback and progress meeting, additionally to the standard Scrum meetings.

In week three, the new member starts developing an internal project and continues to attend team events to finally, at the end of the month, get a mentor review. This is the week where he/she will also be participating in a pair-programming with CTL, presentation of exploration cards and getting the final CTL feedback.

Month 2

During the second month, the Scrum meetings continue and the new employee commences individual activities based on a monthly retro. In week six, the mentee has a pair-programming with 5 different people ending with a feedback and progress meeting. He/she continues the work on internal projects and participates in team events.

At the end of the month, the developer starts shadowing on a commercial project and is evaluated by the CTL. Scrum meetings continue and the month ends with sprint review and retrospective as well as feedback from the CTL.

Month 3

In the last month of mentoring, the mentee continues working on the individual activities based on the go/nogo evaluation from the CTL as well as takes part in the second pair-programming with the mentor and 5 other developers ending with go/nogo feedback from them.

The last two weeks of the mentoring program are all about project refactoring, exercises from pre-evaluation and preparation for the final evaluation. There is also another pair-programming with the CTL. The final week focuses on the final evaluation exercises and projects, last sprint review and retrospective meetings.

Thoughts from our mentors and developers

At the end of this article, I would like to give you a few words from our own mentors and developers that recently joined us.

Mateusz Dobija - Junior Developer, less than a month in Selleo

Before coming to Selleo, I had been learning coding on my own, mainly from YouTube videos. Thanks to mentoring, I now have regulated and well-tested learning methods. I know how to make use of documentation and look for valid information. I learn even faster while simultaneously gaining valuable feedback from my mentor.

Dawid Holisz - Mateusz’s mentor

Being a mentor comes naturally to me, just like holding Coder Dojo meetups. I enjoy sharing my knowledge and experience with others.

As a former mentee myself, I noticed how important it is to get support from more experienced developers and how much quicker I was able to learn.

Marek Caputa - First time mentor

I had become a mentor in rather challenging times. This is why I decided to start mentoring online and meet my mentee once a week.

In my opinion, the main benefit of mentoring is a fresh perspective on problem-solving as mentees often provide new ideas I wouldn’t come up with. It gives me a lot of satisfaction to see somebody else grow while my more experienced mentor-friends help me find my ways in the mentoring world.

Wojciech Bożek - A long-time mentor

The most important characteristic of a good mentor besides extensive knowledge is patience. The mentee should feel comfortable in asking the mentor questions without feeling like a burden. On the other hand, being a mentor gives you even more knowledge of tools or technologies since you have to know all the working schemas in order to explain them properly.

Dawid Pośliński - CTO in Selleo

“Lead by example” behaviour helps in mentoring where inexperienced developers mimic actions of the more experienced ones. This is why it is crucial to actually use coding best practices. I think that a mentor who is teaching practices that he/she does not use on a daily basis is not as an effective teacher as a practitioner.

From my experience, it is super useful to get to know your mentee and the way he/she likes to learn as there are many ways of learning. However, I think that throwing your mentee into the deep end while helping him swim is best. If we are mixing: learning through doing and theory (which explains why things work as they work), we will get the most out of such a process.

Piotr Chalecki - Developer in Selleo

Even though I came to Selleo as an experienced developer, project requirements forced me to learn Angular in a short period of time, which was a great challenge. I believe that a good mentor is patient and knows how to answer even the most complicated questions in an easy to comprehend way. In successful mentoring, both parties put in the hard work, which brings the best results.

Błażej Kosmowski - Tech Expert

I became a mentor because of the internal drive - it just felt natural for me that I cannot silo the knowledge in my head. Every time I learn something I recognise as significant, I just can't wait to share it with others. It wasn’t until my 10th year with the company when I met my own mentor on one of the projects. He was outside the company, and even though it was not a formal mentoring arrangement, it worked just as it would have been. I was pushed out of my comfort zone every single day, yet I loved it - this experience made a substantial impact on my approach to mentoring others.

For me, mentorship means patience and clear communication. Mentoring is not constant praise, it is setting goals, requirements and expectations. Although constructive criticism may be hard for both parties, this feedback is the foundation of mentoring and is the main growth driving factor. Otherwise, it does not seem to make sense for me.

I believe that without perseverance and humility, even the best talent can fail. As a mentor, I mainly focus on teaching basics, but teaching them well, with deep understanding - my goal here is to build strong foundations for the next levels of expertise. I want to believe that in Selleo we are all professionals where learning (and teaching) is a part of the job description, as learning and constant growth are the elementary parts of our company.

Conclusions

Mentoring is an enriching experience both for the mentee and the mentor. By introducing those practices in your organization, you are able to build closer relationships with your team and improve the technical skills of the employees.

In Selleo, we recognize that mentoring is an important part of becoming a successful developer. That is why we decided to integrate it many years ago and are continuously reaping the benefits. Our 3-month mentoring program helps us not only retain high-quality software engineers but also make it easier for newcomers to feel comfortable and safe in our company.

If you are looking for a fully-fledged development team of passionate engineers to handle your new project, feel free to contact us. Let’s build something amazing together!

Related articles