At my first programming job, it took three weeks to get my dev environment fully setup. I was only the second developer to work at the company, ever, so nothing was documented. The first person quit, which is why I had the job.
At my second, it only took four days, because I was the eighth person in the programming department, so I had seven other people to help me.
Today, my clients tell me things like,“we use Docker, so it takes less than an hour to onboard a new developer.”
I’m glad new devs don’t have to face the same frustrations I did.
But setting up a productive dev environment isn’t onboarding.
Onboarding is setting up a person to work productively on your team.
A Leadership Smell
We might fall into the trap of believing that we have done our part to make them successful, and the rest is up to them. That all they need is a computer, chair, a dev environment, and a project to work on.
This is a dangerous leadership smell. Danger for the managers, but mostly for the new developer.
The danger is the unspoken idea that after we apply onboarding to a new developer, they have everything they need to be productive.
Of course, when you read it it may see ridiculous.
But I get a whiff of this from managers at many organizations I work with. It typically comes out in a conversation like this:
Me: How is your new programmer working out?
Manager: He’s doing… okay. Not quite what I hoped, but he’ll be fine.
Me: What makes you say that?
Manager: Well, we got everything setup quickly, and got him all his access and onboarding. But he’s just a lot slower than I expected.
Me: Why did you expect he’d be faster?
Manager: First, he’s was suppose to be an expert in Java development. Second we’ve automated our dev environment setup at great cost and effort. So, there shouldn’t be anything standing in his way.
As you might guess, this situation is more dangerous for the programmer than the manager, because it’s the manager’s expectations who aren’t being met.
It’s the manager who’s disappointed in the speed at which things are progressing.
And it’s the manager who feels that their onboarding process, whatever it is, should yield a developer that’s “up to speed and ready to run.”
So, if the manager believes they’ve done their part, the problem must be with the developer’s motivation, drive or skill.
This ignores the most important keys to productivity: good relationships and a healthy environment.
These are the things your developer needs to be onboarded to, and it takes much longer than just a few hours.
Onboarding is leading
Onboarding is a key activity of technical mangers and leaders. It’s not the responsibility of HR, and its certainly not simply setting up the dev environment.
In my experience, onboarding should result in the following:
- Positive relationships with the the developer’s team.
- Introductions to the project stakeholders.
- Clarity about the team’s current goals, and key upcoming projects.
- Clarity about the team’s values.
- Knowing who to go for help, and how often it’s okay to ask for help.
- First-hand experience with the teams development process and ceremonies (agile, scrum, stand-ups, retros, etc).
- First-hand experience with the key communication channels (team meetings, 1:1s, etc).
- Having received a piece of adjusting and affirming feedback from their manager.
- Having given a piece of adjusting and affirming feedback to their manager and teammates.
- A clear sense of the tech and infrastructure used by the team.
- Having a working dev environment
How long should this take?
It should take you, the manager, at least a few weeks to initially onboard a new developer. After that, expect it to take few quarters (3–9 months) for them to “come up to speed.”
Of course, this will wildly vary according to the kind of projects you are working on. I’ve led teams where I spent a year onboarding a dev to work on a large ERP system. You might have experienced even longer.
Onboarding is important leadership work which you need to be actively involved with. Like other work, you don’t have to do it all yourself, but you need to make sure it all gets done, and done well.
Onboarding sets the stage for many years of productive work. Don’t shortchange your team by pretending it’s just about tools, paperwork, or diversity videos.
It’s about intentionally getting the right relationships in place from day one, which are the key to a productive development team.