My weekend read was the paper titled “Redefining the Software Engineering Profession for AI” by Mark Russinovich and Scott Hanselman. I’m grateful to them for bringing focus to the need to rethink and reframe software engineering roles, workflows, and responsibilities.
Link to the article: https://doi.org/10.1145/3779312
As someone who regularly speaks at community events and does 1:1 mentoring, this article resonated with me.
Their core point is simple: AI tends to amplify experienced engineers, but it can make it harder for juniors to build judgment. Their answer isn’t “stop hiring juniors.” It’s pairing them with seniors who make their thinking visible.
They call it preceptorship.
This isn’t about juniors being careless. It’s about how difficult it is to develop engineering instincts and decision-making ability without seeing how someone more experienced reasons through problems. That context isn’t something you’re born with — it’s something you build over time, usually with guidance.
After more than 20 years in this field, I’ve learned to recognize when an AI-generated solution “works” but will likely cause trouble later. It meets the requirements, passes the tests — and quietly violates some deeper assumption in a large, long-lived codebase. I’ve been on the other side of that six months later, untangling a shared abstraction that nobody wants to touch.
A junior engineer using the same tools usually doesn’t yet have that context. The code compiles. Tests pass. It looks reasonable. Shipping it feels like the right call.
The paper refers to this as “seniority-biased technological change.” Some research has started to suggest that early-career hiring has slowed since large language models became widespread, while senior roles have continued to grow.
That made me stop and think:
If we allow AI tools to absorb most traditional junior-level tasks, where does the next generation of senior engineers come from?
Over the years, I’ve run SQL courses, Python mentoring sessions, and one-on-one design coaching. What made those work wasn’t polished material — it was people wrestling with real problems and learning how to think through them. That struggle builds intuition. AI is a powerful tool — but like any powerful tool, it changes what we need to pay attention to. It can sometimes shortcut that struggle in ways that feel efficient now, but may cost you later.
The answer isn’t banning AI. Juniors should absolutely use these tools. But they need guidance around them. Let them see how you review AI output. Ask them why they believe a solution works. Walk through why something that “passes tests” still makes you uneasy.
If AI gives senior engineers a productivity boost, one of the best ways to use it might be this: spend part of that gain helping the next generation learn how to think about systems — not just how to generate code.
