|
|
|
Ask HN: What's the best way to train/onboard new programmers?
|
|
4 points
by thumbtackthief
3812 days ago
|
|
After working at my current position for nearly two years (having been a programmer now for nearly four) I am frustrated with our lack of onboarding and training. To their credit, my supervisors have heard my complaints and want to meet with me to talk about improving (or implementing at all). I'm looking for ideas and experiences from people on what's worked to train programmers and what you've liked. Not necessarily on teaching Python basics, for example (although that's always helpful too) but more about the day-to-day business specific stuff. For me, I feel like I waste hours or even days trying to figure out a problem or using some new technology or third-party software, and I feel like there are already people on my team who know how to do it and could both save me the headaches as well as making me a more productive member of the team. While they're quick to provide feedback/criticism when I make a mistake, there's not so much before-the-fact assistance to help me do it right the first time. I'd like to work on improving this but I'm not sure how. |
|
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.