Hiring junior engineers can be really rewarding. But when a junior fails to thrive, it's stressful all round.
When juniors fail, it’s often not their fault. And we can make failure far more avoidable by planning for their success. With the right foundations – environment, opportunity, and support – they can grow into great engineers.
Juniors need a safe and secure place to lay their foundations
Great engineers build a ‘wall’ of engineering excellence that they lean into when solving new problems throughout their careers. A strong wall needs good foundations, built in a suitable place, and that’s where our focus should be when welcoming junior engineers.
Juniors need to be placed in the right landscape, have solid foundations, and be guided to the early learning that will contribute to their wall of engineering.
As a manager or leader, your job is to manage the landscape and set out these foundations. This needs to be done before you can shift focus onto building autonomy and skill that will develop in a strong engineer wall for your junior.
This is critical stuff. When someone enters a new world they require structure and safety to progress. That air cover needs to be provided by you and the team they join. They don’t know what they don’t know, and unchecked, that can lead to disaster.
The image below captures the three steps for setting juniors up for success: creating a safe landscape, laying the foundation stones, and bootstrapping their wall of expertise. In the rest of this article, I’ll walk you through each step.
Step 1: Manage the landscape (so a junior can thrive)
This step is about creating a safe, growth-oriented environment. Picking the right team and situation for your juniors can make all the difference to their early progression.
Much learning happens through doing
Seek projects where your juniors can deliver using skills they already have, or that they can quickly acquire. Ensure there is well structured, suitable (fine-grained) work that lets them build and ship frequently. This will provide much of the early structure and feedback they need.
Positive learning happens in healthy places
Don’t put juniors on projects that are on fire or likely to go on fire. Rarely is your most critical delivery the right one for juniors. Space to learn, fail, and try again is important.
Look for teams that are using modern practices and easy, safe opportunities for devs to build new things. This will provide potential space for ownership. Although there are lessons to be learned from rusty old software, a team that’s maintaining a legacy system is unlikely to provide the right learning landscape for your juniors.
Avoid putting juniors where they can cause a disaster by typing the wrong command – no one thrives one step away from disaster. Ensure teams that contain juniors have adequate automation – safety nets, scripts, tests – to allow your juniors to move and make choices with confidence.
Good engineering happens through doing together
Teams need capability and capacity to help juniors grow. A great team for juniors is one that contains a good ratio of well-rounded experienced engineers. Don’t fill that team with just experts and juniors. Greater learning happens when skill-sets are not too far apart.
Beyond that, find folks who are ready to share their experience and encourage them to invest time in your juniors through mentoring, pairing, and feedback.
Step 2: Lay the foundation stones
Once you’ve placed your juniors in a good location, your job is to ensure that they have the necessary foundations to begin their engineering journey. They need to know how to get stuff done as an engineer.
These three ‘foundation stones’ set up a junior engineer for success, allowing them to learn as they deliver in your organization:
Stone 1: Relevant basics of modern software engineering
Ensure your juniors have enough software engineering basics to operate successfully in the team you’ve chosen.
Don’t try to explain everything right away. Get them to a level of safe delivery of small features or bug fixes as swiftly as possible. Then weave the learning into their weekly work rhythms to help them broaden their engineering breadth and what they can do on the team.
What you teach them needs to fit your ways of working. Ensure that they know your standards and what good looks like at your org. But keep it simple – focus on the beginnings of delivery enablement.
Stone 2: Begin delivery and shipping code
Get your juniors delivering value through software – shipping things – as soon as you can! Hands-on practice will allow them to test learning and mental models. Shipping what they have built builds confidence and gives you feedback they are in the right environment.
The best way I’ve found to do this is to start using the tools, languages, and tech that’s familiar. Can they automate some pain away through scripting, fix up CSS or Vue, make copy changes, or add a feature to an API? Pairing on bigger pieces of work is also great.
Once good hygiene and routine is set, and positive feedback is forthcoming, begin to stretch what they can do and help them seek ownership.
Stone 3: Build reflection through mentoring
Once they’ve begun delivery, your juniors will need regular conversations that help them reflect on their journey and learning. Practice alone makes permanent, not perfect. Reflection is the key meta-skill that will help them progress swiftly.
You should have regular mentor conversations with your juniors. Weekly is a good minimum. These sessions are not for reporting up and should be focused on them and their experiences.
Your job is to help them reflect on what’s happened and how that adds to their learning and choices. You can also direct or advise, guiding them on their early steps.
Consider the possibilities of peer or group mentoring for the juniors in your org. This will help them build a strong support network and develop ways of asking for help.
Step 3: Bootstrap their wall of expertise
Once your junior engineers are settled in and delivering, it's time to start planning growth together. Help your engineers start to build their walls through further relevant study.
Introduce learning in a way that suits them, whether that’s personal study, book reading, group discussion, or training courses. You might be able to identify subjects where providing group training is suitable.
‘The mind does not require filling like a bottle, but rather, like wood, it only requires kindling’. – Plutarch
To onboard junior engineers successfully, you need to set the landscape for success and invest in their foundation through learning and doing. If you find the right situation and provide the right support, your junior engineers will be a joy to grow with.