Everybody gets it wrong.
In most organizations, when you hire junior developers, all sorts of cracks begin to show immediately.
- They take a long time to onboard
- They require an unexpectedly high amount of coaching from senior engineers
- Giving them feedback can be tough if you are not close to their work and habits
- They may not take that feedback well
- They don’t quite understand the task at hand, but because they feel the need to ship something, they end up shipping the wrong thing
- They take too long at standups, or don’t participate appropriately in meetings
- They distract your slack channels with questions that could be answered with a 10 second google query
Worse, instead of these new developers adding velocity and capacity to your team, they often instead become a net drain:
- Your team gets burned out and becomes less productive (or worse, you lose some great people)
- You waste time and money onboarding talent that ends up departing less than 18 months later
The junior developers you hire end up concluding they’re “just not cut out for it”, and they quit the industry entirely.
This is not just an unfortunate outcome. This is a disaster for our industry.
Why does everyone get this so wrong?
Maybe you’re an engineer who wants to hire junior developers onto your team. Maybe you’re a bootcamp grad who wants to pay it forward. Or maybe you’re one of the junior developers hired onto a team with disastrous results.
I’ve become convinced the primary reason we are so bad at hiring juniors is because we’re actually bad at hiring and managing engineers in general.
Hiring experienced engineers, in some ways, allows more wiggle room in your management practices. Experienced engineers can squint and see what needs to be done, without the need to invest time and money in scoping tasks for projects. Experienced engineers can sometimes be self managing – you can survive with slack-based asynchronous standups, and more. They know how to get themselves unstuck, how to research and break down a problem, how to review code, and more.
Juniors have to learn all of these things. And most organizations are simply not prepared to help them do so.
It can be your superpower
I’ve been decently successful hiring junior engineers and getting them to a place of productivity. I cofounded the original online developer bootcamp in 2012 (bloc.io) and oversaw the instruction, mentorship, and job placement of thousands of developers. I’ve seen it work really well, and I’ve seen it result in disaster.
The following collection of patterns is based upon those years of experience as well as my many conversations and efforts helping organizations successfully bring junior engineers into their teams.
What I’m proposing here is not just a way to hire juniors. It’s a different way to run your engineering organization such that people of all skill levels, including junior developers, can come on board, do the most productive work of their lives, stay for a long time, and build a lasting relationship with you and your organization that survives and thrives years after they’ve ended their professional relationship with your company.
Junior engineers can and should add a healthy new element to your culture and process. Done well, it can result in a superpower to your organization that will reap dividends for years to come.
The best time to plant a tree was 30 years ago. The second best time is right now.
Kind words from clients & fans
People who can individually move small mountains are rare. Those who can do that and also get those around them to that level are even rarer. Dave is one of these people.
Jason, Chief Product Officer @ Maven Clinic
Dave created an extremely valuable asset out of a product that was sliding precipitously towards liability. I’d recommend them to anyone looking for professionals who get the job done.
Ryan Wehner, CEO @ Compass Multifamily
Dave helped me out a ton in building an apprenticeship position at Proton. If you’re interested in bringing junior talent onto your team check him out!
Brad, Software Engineer @ Proton Radio
Dave’s been an invaluable source of advice for me in my own entrepreneurship travails. He has strong principles, and isn’t afraid to voice them, but does so without an ego, just a humble, genuine desire to help.
Charles, Cofounder @ Coder School
Hi! I’m Dave Paola and I was the co-founder and CTO at Bloc, the world’s first online developer bootcamp where we helped thousands of students transition into technical careers.
I’ve been developing software professionally since 2004 (and coding since I was a kid) and have been an engineering leader and manager since 2012 in a variety of industries and team sizes.
I’m passionate about building great apps and helping early career developers be successful, and my goal is to build long term relationships with clients.