What are we going to do about junior engineers?

I don’t know exactly what the journey from junior to senior will look like, we’re committed to figuring it out together
With the growth of LLM code generation and AI we’ve been exploring how junior engineers fit into this new world. What will the role of junior engineers look like? What skills will we need as AI progresses?
We’re always going to need junior engineers – where else do senior engineers come from? – but the mix of skills juniors have traditionally learned, and the order they learn them on the journey to senior, probably does need to change.
With such a fast shifting landscape, the skills needed earlier in a career may change within a year, 2 or 5. That’s the kind of timescale I think about hiring juniors on – how are we going to support the juniors we hire now in becoming seniors in 5 years time?
Skills we’ve got now that we’ll all still need
In terms of the skills still needed, code review seems to be a big one. The ability to review code, spot errors and talk with colleagues about structural and architectural choices. Other necessary skills include the harder to describe sense of “taste” or “technical judgement”, and the more concrete technical architecture and general software engineering concepts such as design patterns.
When hiring, building and growing teams, I’ve always thought the purely syntactic, programming language or framework-specific technical skills are the least important. They’re the easiest to teach and find out by searching reference documentation, and the easiest for AI to help with.
In both hiring and growing all levels of engineers (and in all disciplines), there are other important skills that are harder to teach. Skills like critical thinking, communication, teaching and mentoring, initiative, resilience, persistence, teamwork and collaboration.
There are also other qualities such as empathy, curiosity, business acumen and commercial awareness. And the ability to see when someone is making an overly complicated Rube Goldberg machine that will be way too hard to understand and expensive to maintain, and steer them kindly and gently back on course.
That’s all just off the top of my head, there’s loads more. None of it is purely “technical”, and AI can’t do most of it (yet).
We’ve all been learning and teaching these skills in the usual ways since forever – via osmosis, training and coaching, line management and exposure to good examples. I don’t think that will change dramatically, hopefully accelerated somehow with new tooling.
Ways we might build skills in the future
I don’t know exactly what the journey from junior to senior will look like, but we’re committed to figuring it out together and supporting developers of all levels. We’ll need to create new opportunities and make sure there’s a seat at the table for learning advanced technical and bigger picture skills. Things like:
- making sure there’s time for juniors to continue to work on smaller tasks that build technical skills. Fixing bugs that AI could fix, trading the hit on productivity for an investment in future skills. Or doing work on internal tools where delivery deadlines matter less
- regular, structured pairing with senior colleagues to learn how to build and lead small projects in line with dxw standard engineering practices
- working with AI to build more complex applications, with AI’s help to both build and learn, via these brilliant Learning Skills from Dr. Cat Hicks – together with wraparound support from more senior engineers
We’ll be fleshing out some ideas and keeping an open mind as we go.