I recently wrote about the concept of the pragmatic crafter – an approach that merges installer techniques with a crafter philosophy. In that blog, I began exploring how AI fits into that philosophy – an important question, no doubt. Now, I’d like to take a step back to consider an even more fundamental question: what does AI mean for the junior developer?
In case it’s not clear, I harbour a healthy dose of concern when it comes to AI, and – until recently – this often manifested as a reluctance to fully incorporate it into my daily workflow. Sure, I’ve installed the Tabnine extension in VS Code, and yes, it often predicts my code with adequate accuracy. I also regularly use ChatGPT to explain unfamiliar concepts, troubleshoot bugs, or find solutions in environments and languages where I lack expertise. AI is, and will continue to be, completely transformative in how we develop modern web apps and software.
But it’s one thing to be a senior developer grappling with how I integrate these new – and often flawed – tools into my established work patterns. It’s another thing entirely to be a junior developer navigating how to learn, grow, and contribute in an ever more complex industry.
It’s always been a challenge to break into the tech industry, as evidenced by the scores of blog posts and how-to articles. The reasons are multifaceted. For one thing, the barrier to entry is high, the field is fiercely competitive, and the rapid pace of technology change makes it difficult for newcomers to keep up while also learning the basics.
I remember when I was first learning JavaScript, struggling to grasp brand new concepts while still trying to master HTML and CSS. In the midst of a crisis of confidence, a mentor reassured me, “the first 2 years are the hardest for everyone.” It’s not necessarily that you slow down after that, but once the foundations are built, everything starts to feel a little more manageable.
But, while AI is being hailed as the great democratiser – you can read about how it will revolutionise almost every industry, from art to healthcare to finance – the reality is slightly more nuanced. As Addy Osmani highlights in his recent blog, The 70% problem: Hard truths about AI-assisted coding, AI presents a knowledge paradox.
Through his observations, Addy discovers that AI coding tools tend to benefit experienced developers more than junior ones. As he explains, the senior developer is constantly assessing, correcting, refactoring, and enhancing the AI’s output. They are able to leverage the speed and efficiency of AI, supported by their seasoned experience, to make themselves more productive.
The junior developer, on the other hand, often readily accepts AI’s output without much scrutiny, potentially overlooking errors and gaps. This can result in what Addy describes as “house of cards code” – code that is fragile and prone to failure. While troublesome in the short-term, the greater long-term danger is that, instead of using AI as a tool for learning, juniors may come to rely on it to tell them what to do. If that happens, they may never build the foundational knowledge necessary to assess, correct, refactor, and enhance.
The fact remains that AI is here to stay. We – I’m speaking to myself here as much as anyone – must come to terms with the reality that it will play an increasingly significant role in the way we live and work. While this shift raises all sorts of practical, moral, and ethical questions, one thing is clear: we still have choices. The way we integrate AI into our lives is not a foregone conclusion.
As Kate Darling argues in her book The New Breed: How To Think About Robots, “we have some control over how robots impact the labour market.” In other words, at every stage of AI’s adoption, human intervention shapes how and where it is applied. Darling continues, “Rather than pushing for broad task automation, we should be investing in redesigning the ways people work in order to fully capture the strengths of both people and robots.”
To this end – while we currently don’t employ a junior developer at Tilt – we anticipate that we will at some point in the future. It is essential for us to plan ahead for how we will support and mentor that person when they join the team. The landscape of development has certainly evolved since my time as a junior: technologies have advanced, and our tooling has grown increasingly complex. Yet the challenge for junior developers remains unchanged: to learn these systems and tools quickly, in order to become productive and independent contributors to the team.
The question is: how do we mentor our junior developers in a way that enables them to take advantage of the opportunities that AI presents, while avoiding the potential pitfalls? As is so often the case, there is no single straightforward solution. The specifics will depend on the tools you use, the workflows you have set up, and the individual needs of your team.
As a senior, one of my key priorities is to avoid the potential trap of offloading responsibility for mentoring juniors onto AI. While AI can be a powerful tool, it cannot replace the guidance and context seniors can provide by drawing from their real-world experience. And so, I believe we need to double down.
For me, this means prioritising my role as a mentor by making myself available to answer questions and review code. In the past, I’ve struggled to balance mentoring responsibilities with client work. I’ll admit that I have often prioritised client work – not because I didn’t value my role as a mentor, but because in the moment, the pressure of looming deadlines feels more immediate.
In the age of AI, this challenge becomes all the more pressing. More than ever it’s critical to ensure that juniors have access to real-world guidance. Of course, there are areas where AI can effectively complement mentorship. It’s great at providing quick explanations of concepts or listing common troubleshooting steps. Encouraging junior developers to direct these low-risk queries to AI can be beneficial for everyone.
My point is this: instead of creating an environment that encourages reliance on AI, we must teach juniors not only how to use it effectively, but also to be critical of its output. In short, the goal of mentoring juniors will remain as it has always been: to nurture a growth mindset. While I use this phrase with my tongue firmly pressed against my cheek – it’s a favourite with our MD, Jon – it’s true. As mentors, our role is to create a safe space that cultivates curiosity and excitement for our industry. We must encourage juniors to experiment, to be creative, to explore, to question.
With careful consideration of how we integrate AI into our workflows, combined with the appropriate support, we can ensure that AI is a tool for aiding growth and understanding, rather than a crutch that inhibits the development of our junior team members.
SHARE: