There’s nothing worse than feeling you are wasting your time. Imagine putting all your time, energy, and resources into hiring someone and then they quit within a few months. You know those target posters you can put on the wall that say ‘Bang Head Here’? I’ve needed one many times. Hiring and retaining good developers is a cumbersome business. You do it, but sometimes all you can do is shake your head and stare at that poster.
Over the years, I’ve found that hiring developers and bringing them into an agile team requires them being supported by an agile talent management system and excellent onboarding. In fact, new employees who go through a structured onboarding program are 58% more likely to be with the organization after three years. If you want to wrap your head around how important this is just imagine the financial and emotional impact of replacing people in your team every year.
Onboarding for Developers
Developers are a unique bunch, usually stereotyped as being socially awkward introverts or lumberjack hipsters. Dealing with this group in a way that makes sense for them and for the business, requires you to take certain things into consideration when creating an onboarding program.
Ways of working – Not to get into stereotypes here, again, but some developers are a little more reserved. They work in a technical field, keep to themselves, and are more self-reliant. They may be a little apprehensive about wanting to participate in an extensive onboarding process.
Background – Developers also come from various backgrounds. Some may come from other fields, while others may have only worked in IT. Some may be self-taught, while others may have gone through a formal education program. It is important to keep this in mind when creating your onboarding program.
Location – When it comes to IT, employees do not have to be in an office all the time to get work done. There are many remote or freelance developers that work for companies all over the world. Even though they are far away, they still need onboarding. In fact, onboarding is even more important for remote employees as they are isolated from other employees and from various processes.
Workplace culture – Another important aspect of onboarding developers is workplace culture. They may have come from a culture that did not embrace collaboration or an agile method of working. They may not be used to your agile way of development or learning.
An Overview of the Onboarding Process
When I think of the agile onboarding process I’ve used at Thinslices, it was helpful for me to break it down into three main tasks: pre-onboarding, onboarding, and post-onboarding. This is kind of a best practice and it helped me and my onboarding team organize tasks so that we improved our new employees’ first experiences with the company.
A lot of the pre-onboarding tasks are done behind the scenes, before the new developer comes on board. We try to make sure to have all the hardware available, all the software tools they need, and if they are an on-site employees, we give them access to the building. We reach out to the new employees and provide them with important HR and finance documents before they come into the company so that their first day is not about paperwork.
Most developers want to start coding as soon as they can. It makes sense, it’s what they do. And who likes to sit around signing a bunch of papers and waiting for the real work to begin. No one I know. We take care of all this stuff early so they can start as soon as possible. It’s good for them and it’s good for business.
You could take this even further and welcome them with a nice email and a schedule for the first week just waiting in their zero-email-pristine-inbox.
We will also send them login details and invitations to access the company chat system, learning management system, and project management tools. This way they can get all the technical stuff out of the way early, start making connections with coworkers, and begin learning a bit about how we do things before their first day.
Using Teamfluent, we’ve created an entire onboarding course that allows us to follow these exact steps for every new hire. Here’s a sneak peak into our internal course:
When developers come to work on their first day, we want to make sure that we take as much time as needed for them to understand the context and the company. We begin with a welcome session where we give them a tour and introduce them to team members and other staff. Since the first week we started the company, we’ve always had an all-hands-on-deck Monday meeting. When we bring new people into the company we always ask them to stand up in front of the group to introduce themselves and then we try to get to know them a bit better, trying not to ask too many embarrassing questions. We don’t want to scare them away on their first day. Following this we get into the serious stuff – we give them more information about technical aspects like types of hardware, software, and programming.
We also talk to them about our coding standards, our expectations, and various tools of the trade like source control.
Before we give them their first project, we make sure to pair them with someone else who’s worked in the company before. We also assign a senior member of our technical team as a mentor to join meetings, recommend trainings, and provide feedback. This process takes about one to two weeks and we try to balance things and get them to become productive as soon as possible without being too disruptive to the team.
After the formal onboarding process is over, we ask our leadership team member to continue to look after their mentee for a few months. Over that period they will continue to receive feedback and develop a learning plan that will help them develop their skills further.
Another important aspect is feedback. Creating an agile system allows you to be able to adapt to the future. We can do this by collecting feedback from new employees about the onboarding process and the mentoring program so that we can continue to improve our processes.
For a detailed look into our onboarding process, you can download the complete checklist here.
Developer Onboarding Essentials
There are many pieces to the agile onboarding puzzle, but there are three that I have found most useful when onboarding developers: scrum, mentoring, and learning plans.
Every development team that does Scrum does it a little differently. In some companies, they might not even use Scrum. This is partly because Scrum is like going to the gym, it’s quick to explain, easy to understand, but difficult to practice.
When a new developer joins a team, they need to get a feel for how the team works. We don’t try to explain how we do it; instead, we get them to experience it by themselves, so that they learn our way of doing it. Sometimes they can even be thrown into the heart of the action by being the Scrum Master. You never know, they could bring a new style (P.S.: Check out this cool video about how Microsoft does Scrum standups) or some different ideas that improve performance.
I think we can all name at least one mentor who we currently have or who we had in the past. That’s because mentors are a powerful aspect of onboarding and growing as a professional. This may be blunt, but if you don’t have mentoring program, then you aren’t doing enough for your new developers. Mentors help new developers feel like a part of the team, learn about the company culture, find support when they are struggling, and to guide them in the next steps of their current job and the job they want in the future. There are many different styles of mentoring, so there is probably at least one type that fits your needs.
One-on-one mentoring – the traditional model of one mentor with one mentee who work together for a defined period of time.
E-mentoring – similar to one-to-one but using video or chat to mentor remote employees.
Flash mentoring – a mentee travels between various mentors over a period of time.
Group mentoring – one mentor works with a group of around 4 mentees during each session.
Team mentoring – a mentee has access to multiple mentors at a time.
No matter what kind of mentoring program you create, it’s important for the mentor and mentee to meet daily during the first week and then to meet less often as time goes on. It is important that the mentor and mentee form a strong working relationship, that will help both of them derive value from this experience.
At Thinslices, we used both Scrum and an informal type of mentoring to help manage our learning needs. It was so successful, we were inspired to convert this process into a learning management system we call Teamfluent. It includes the social elements of mentoring and the agile elements of Scrum to help developers and other employees manage their learning and create a learning plan. This model is immediately familiar to developers. They can think of a learning plan as a kind of Scrum backlog. It is that long list of things that need to be learned, that will be used to build a successful sprint.
Having this plan is important for all employees, but it is especially important for developers as they work in the rapidly changing world of technology. To help prepare them for what is on the horizon, to help them develop as professionals, and to just make them happier, more productive employees in general, a learning plan is an essential aspect of onboarding to start during the first month and continue for as long as the employee is with the company.
A good structure for a learning plan can be created using these questions:
- Does this add business value? Is it aligned to the company’s goals?
- Does it improve my current skill-set?
- Is it an essential skill?
- Will it advance my career?
- Can I learn something else in the process?
- What are my goals?
- What resources do I need?
- What are the next steps?
- When do I want to achieve this goal?
Onboarding for developers does not have to be a time intensive. A lot of companies already have the resources they need to make huge improvements to their onboarding. So it’s time to take down the poster and start rolling up your sleeves. Change isn’t easy, but for an agile company with an agile workforce, it can be manageable. This will not only make your job easier, but it will help you attract and retain the perfect developers for your company.
About the author:
Ilie Ghiciuc Teamfluent CEO
I’ve been an entrepreneur for the past 10+ years building great software companies together with fantastic teams. I believe that a culture of learning can make organizations thrive and become more competitive, that’s why I founded Teamfluent.