Ask HN: What is the most effective way to onboard an engineer?
Does anyone have advice on the most effective way to onboard an engineer?
It feels that problems with the onboarding process often stem from existing systems being poorly documented. I’ve found mentoring to be really helpful, but I’ve also seen how it can pull members of the team away from existing projects.
5 comments
[ 2.6 ms ] story [ 22.1 ms ] threadHave a bug to fix for them
A starter project which involves using the codebase in an interesting / different way.
Everything kinda sucks at startups, especially docs. The right way to do this is invest your time up front in order to save you and the new hire time in the long run.
For a new hire I also made one slide with a diagram to explain how to go from 0 to production, this gave him a high level overview of the whole system.
Try to make them push something on the first week is very important, the sooner they finish their first ticket the sooner they do the 2nd, 3rd and can repeat and familiarise with the development process.
Finally ask new hires to document what they are learning or improve existing docs – a fresh pair of eyes/mind is priceless.
With time your poorly documented system will be very onboard-friendly.
- Have a vagrant box set up so that the new engineer doesn't have to waste his/her time setting up the system. Use Ansible/Chef/puppet for provisioning the vagrant box. Saves at least a day.
- Make sure all the git repos have a good README file explaining the project details.
- If you have an API powering your backend, use http://swagger.io/ or something similar, so that other engineers don't have to waste time explaining all the API endpoints.
- Maintain an internal wiki or a Google Sites which lists all the common problems faced earlier. You can also explain the business logic and the general flow of the application here.