As one of the long term developers at Stembolt, part of my job is to train our new team members during their first few months with us. Over the years I've learned many do's and don'ts that have lead me to write my own guide on how to train great developers. Here's how I do it in 3 basic steps
1. Be the Best at Everything Including the Basics
Being a great developer doesn’t just mean being good at writing code, it means you're equipped with the right tools to do the job. A developer's tool belt should have the tools they will need every day to build software. At Stembolt, one of our values is to master the things we use every day. This not only makes us better at our jobs, but happier to have these accomplishments under our belts. (pun intended).
Git, Vim, and Shell are some of the tools we cover during training. They’re used to communicate with other developers and to move information around the internet. These tools allow our new developers to learn the fundamental skills required to collaboratively develop and deploy software.
2. Set the Bar High
We make sure the developers we hire want to be their best. Growing into a great developer takes time and effort which is why we require all of our new hires to:
- Constantly review themselves
- Be motivated
- Seek out new challenges
- Practice, practice, practice
- Learn from one's mistakes
When training we like to set expectations early on so we let our trainees know that we expect the same quality from them that we would from a seasoned veteran. Once we've established where they need to be we give them the time they need to improve their skills and get there.
We accomplish this by starting the trainees on an internal project where they can make mistakes and ask questions. This way there is no risk to production (client) projects. We find teaching this way gives new developers the time they need to implement feedback in the best way, and gives them a safe place to learn from their mistakes.
3. Emphasis on Problem Solving
A developer's job is to solve problems. We give our new developers problems to solve and let them iterate until they come up with a solution. Our trainers then review each solution with the trainee and give feedback on where to improve until the project goals are met.
”Just when I think I'm nearing a comfort level, my mentor adds a new challenge and I am back trying to wrap my head around the best way to complete the task.”
- Natalie York, Junior Developer at Stembolt.
In our experience, the trainee learns more when they’re able to find the solution themselves. We also encourage them to criticize their work to help them identify merits and shortcomings. Ultimately, the ability to recognize a good solution is more valuable than simply implementing the first solution available.
Final Thoughts
To inspire a great developer you not only need to teach what technology to use, but how and when to use it. You need to set expectations for your new trainees and make sure they know what goals they’re working towards. Let them make mistakes and practice as much as they can. As a mentor, encourage and motivate them along the way. Most importantly, teach them how to identify and solve problems. After all, that's what a developer is hired to do.
Stembolt is always hiring developers of all skill sets and experience. Visit our career page for a list of opportunities and to apply.