Live data from Hacker News

Ask HN: What's the best way to train/onboard new programmers?

news.ycombinator.com

11–15 of 15 posts

Re: Ask HN: What's the best way to train/onboard new programmers?

#11
Having been a junior dev in a couple of startups lately and discussed about onboarding with one of them a lot, I have a few points. This is all about the technical stuff, not anything about creating accounts or signing forms.

1) Make sure you have a working and detailed setup instructions for the development environment. Nothing is more frustrating than spending the first afternoon trying to get dev tools setup and having to ask questions all the time.

Setting up the virtual machines, cloning all the right repositories required, figuring out configs etc ending with instructions on how to run full test suite. Successfully running all tests is a good signal that things are set up well.

2) Have a plan on how to cover all parts of the code base and have an architecture overview.

I personally like to start by fixing bugs. I love when a senior developer can spend some time pair-programming with me through a few simple bugs in different places on the code base. Fixing bug covers setting up dev environment, writing/running tests, finding out how the code is related to the issue (eg. how to find the right code related to the bug), using bug tracker, doing pull requests and code review and deploying.

I understand that many small startups might feel they don't have resources to designate senior devs to do "non-productive" work with a new recruit but it pays off so fast when new people get up to speed faster and can start being productive earlier.

Re: Ask HN: What's the best way to train/onboard new programmers?

#12
post #11

Having been a junior dev in a couple of startups lately and discussed about onboarding with one of them a lot, I have a few points. This is all about the technical stuff, not anything about creating accounts or signing forms. 1) Make sure you have a working and detailed setup instructions for the development environment. Nothing is more frustrating than spending the first afternoon trying to get dev tools setup and h…

This is helpful, thank you. We're not a small startup by any means--we are a company that predates the Internet by about 100 years, literally--but we are a small team (seven devs).

Do you have a formalized pair programming process, or is it just "Hey, who can help me with this?" We're the latter, and while people often try their best, it usually devolves into "Let me do this for you".

Re: Ask HN: What's the best way to train/onboard new programmers?

#13

What about documentation? Having a good and up to date documentation on - how to setup the development environment - what is the coding standard that the team follow - How to build the project - (maybe) how to install components like db, key value store etc. Of course having a script to setup the environment will help so the new person can start doing something, they might get error but at least they start getting er…

We all agree that documentation is important, but none of us want to write it.

What if you were incentivized to do so? As an engineer

Re: Ask HN: What's the best way to train/onboard new programmers?

#14

Earlier quoted context omitted.

We all agree that documentation is important, but none of us want to write it.

What if you were incentivized to do so? As an engineer

What would you suggest? That's the sort of thing I'm looking for to prepare for this meeting this afternoon. Have you found something that works?

Re: Ask HN: What's the best way to train/onboard new programmers?

#15
post #11

Having been a junior dev in a couple of startups lately and discussed about onboarding with one of them a lot, I have a few points. This is all about the technical stuff, not anything about creating accounts or signing forms. 1) Make sure you have a working and detailed setup instructions for the development environment. Nothing is more frustrating than spending the first afternoon trying to get dev tools setup and h…

This is helpful, thank you. We're not a small startup by any means--we are a company that predates the Internet by about 100 years, literally--but we are a small team (seven devs). Do you have a formalized pair programming process, or is it just "Hey, who can help me with this?" We're the latter, and while people often try their best, it usually devolves into "Let me do this for you".

It depends a lot on the company and the team but I think instead of just the new dev shouting out "Can anyone help me?", there would be a senior dev dedicated to you. That way that person knows it's her/his job to help you out and it's okay if that means you don't get so much done. At the same time other people on the team will be able to focus on their work.
Post reply on HN