How to onboard Software Crafters
As most seasoned software crafters I had good, mediocre and bad onboarding experiences throughout my career. Likewise I’m sure I was involved in giving new developers joining a team I was working in such experiences from full range.
Here’s some lessons learned & ideas how to do it right.
Make the newcomer feel sincerely welcome!!!
Do I really have to write anything here? Should be a nobrainer!
This piece is probably the most important. If they feel welcome it could even compensate for onboarding issues further down the line.
Give the onboarding process the highest priority
Don’t allow the onboarding process to run on the sideline.
Don’t allow situations where the team does not have all the time needed to support the process.
Instead make it the highest priority of the team for one or two sprints, two to four weeks, whatever dev process the team has. For example in a Scrum setup it could be the sprint goal(s) like “Onboad Sally“ (sprint n), “Make Peter productive“ (sprint n+1).
Make sure to block the necessary time somehow! If a new developer get’s up to speed quickly the ROI will be massive.
Have a plan
Don’t just let onboarding happen, have some process / plan ready. Some people suggest to have a detailed schedule for first x weeks, months. For me personally this sounds like overkill, but people are different.
Have some standard sessions ready and scheduled
General company onboarding session (independent of role)
HR stuff like contacts for this and that, internal IT ticketing like ordering hardware, network or other problems, etc.
General session for IT / software dev / …
Structure of departments, important contacts, generic technology stuff.
Multiple sessions that are specific for the area the person will work in
Technologies, top level architecture (micro services, cloud providers, …), development processes like agile, CI/CD, …
Multiple sessions specific for the sub-area / team the person will work in
Same as above but more specific, services owned by the team and how they collaborate with their clients, walk the new developer though the software taking the role of a customer (e.g. install the App, register, go through most important use cases)
Lunch dates with everybody in the team can be a good idea
Might be obsolete if the team regularly goes to lunch together.
Assign contact persons for the onboading phase
A mentor
Could be outside of the team for company level questions, might be assigned for many months.
A coach
From inside the team, might be assigned for a shorter period like weeks, might also be a rotating role inside the team.
Hardware and software setup
All the hardware MUST be ready from day one!!!
Well, often day two would be ok, but absolutely make sure newcomers are never in the situation that they are blocked by missing hardware! Totally horrible experience!
Pair on setting up the hardware if necessary but definitely on the full development software stack. This might be a challenge in heterogeneous situations. For example if the new hire is the first person in the team to use Mac, Windows or Linux xyz.
Pair or mob as much as it makes sense in the first weeks
I think it’s very important to talk to the newbies first, to find out how they feel comfortable. Mind introvert vs. extrovert and other personality types. This is not easy and requires empathy and experience. Some people might love to do only mob programming and pair programming until they feel they are fully empowered, some might need a mix with more time alone. Some might want to take the driver seat immediately when pairing, some might prefer to be co-driver at the beginning. The introvert types might like to learn a lot by doing code reviews. Lot’s of possibilities …
Expectations regarding productivity
I find this a tough one. It would be easy to say you don’t expect any productive output for x weeks. On the other hand the perception of the rookie might be negative, like the team has no trust / confidence or the whole environment is not safe to fail or the software is very fragile. Maybe a good starting point is to let the new developers decide when they want to commit something.
Summary
Don’t allow the onboarding to fail!
Hiring is hard and expensive (even if you do not invest enough time)!
There are probably not many bigger mistakes a company can make, than having a newcomer quit at the end of the trial period (in countries where this exists - e.g. in Germany it’s 6 months by default) or after a couple of weeks or months.
So for gods sake, make the onboarding process your highest priority, block time and have a plan!














