Learning, despite AI
In many ways, making certain tasks too easy too quickly can have its own pitfalls.
Before the age of ten, every child in most modern societies will have learned to read and write. Children who don’t or can’t learn this most basic of skills are either diagnosed with a learning disability, like dyslexia, or with social issues. On the case of the former, specialized teachers can help re-educate the child and even severely dyslexic children can learn to read and write. They might not pick up a book to relax, going for an audiobook instead, but they also might.
Similarly, before the age of ten, every child in most modern societies (and many not-so-modern ones) will have learned to count, add, subtract, multiply, divide, work with fractions, decimals, and percentages. They might not be very good at it, and the way they learned may be different between learning systems, some putting emphasis on finding the right way to do things organically while others just do the proper algorithm into the child’s head with rote repetition, but eventually, everyone with a primary school education knows these basic skills.
Why, though? Text-to-speech and speech-to-text, and just recorded voice messages between friends, obviate the need to read and write in daily life, and what you still do need to write can be expressed with emojis. A pocket calculator, or better still, the equivalent app on your phone, is better at primary school arithmetic than you will ever be, and Wolfram Alpha takes care of all math after that. Why would anyone except the most brilliant professional mathematician learn more than how to use their phone’s calculator, and why would anyone except the most ardent literature geeks learn to read and write? Why, even after having acquired the basic skills, do we insist on spending another decade honing this skills?
The feeling of frustration an adult reader of the previous paragraph is getting right now, all the reasons angrily bubbling up to the surface, some of them articulate, some not so much, is answer enough to that question.
Fast-forward a few years: junior developers are trained with some of the most popular technologies, such as C#, Rust, React, etc. and are able to write basic, and sometimes not-so-basic, software, solving problems as they go. They’re typically paired with more senior developers, as part of their on-the-job training, for peer review and quality assurance. The conversations between junior and senior developers, often complained about by the seniors as a waste of their time, them being and to do the junior’s job faster and better themselves, is a valuable experience to the junior, who typically learns a lot more from these interactions than just better code skills in the language of the moment.
Many companies are now trying to speed up time-to-market by introducing tools like GitHub Copilot to the development environment. Impressive results have been reported, though anecdotal evidence says orherwise.
One of the problems with an approach like this is that it slows down the training of junior developers, having them rely on a generative AI, akin to a very junior peer programmer with excellent internet access and a good stash of weed, as one would on a pair of crutches. As long as they stay within the standard practices explained and extolled on the blog posts and documentation pages used to train the AI, they’ll be able to produce passable code without really needing to understand what they’re doing nor having to explain their thinking to their senior counterparts. This deprives them of important opportunities to learn, which in turn slows down their learning and, in the long run, affects code (and product) quality.
The literature shows the biggest gains from using AI for junior developers. This is exactly what one would expect: just like a young child will get through reading a book much faster if they listen to the audiobook rather than read it themselves a junior developer will make fewer mistakes and write code faster with AI, but just like that child with the audiobook won’t learn how to read as quickly (barring special cases, such as dyslexia or other learning disabilities), the junior developer won’t learn from those mistakes, won’t get the opportunity to learn from a senior developer’s explanation, and won’t learn to avoid the pitfalls that experience teaches us to avoid.
I’m not saying all AI is bad, but businesses that want to invest in their employees’ careers and leverage this most important of their investments long-term should be careful not to deploy AI too aggressively, prioritizing short-term gains and incurring long-term losses by seeing their productivity plateau at a lower level than it could.