In a recent post over on MasterWP, I explored the crazy rabbit hole that is Github Copilot – basically an AI-assistant that helps you code. One of the conclusions I drew there was some concern about the sheer amount of code we’re dealing with in our jobs today.
In some ways, it’s sort of obvious. We write code. Each day we add more code. More features, more code. More projects, more code. There’s just so much code. Frameworks like WordPress (or React or Laravel) help us minimize the code we write by offering reusable packages of code. But even those projects are just a hell of a lot of additional code: a Zip file of WordPress clocks in at around 24MB these days and I doubt any WordPress site uses every single feature the CMS offers.
The flip side of this much code is that it’s become increasingly hard for one single person to grasp an entire codebase- even in a project we’ve seemingly written ourselves. I know a pretty fair amount about WordPress, but I have no idea what’s really happening inside of all those .js files for the block editor. I just have to trust that if I want to extend the Media Library, for example, the core developers will have left their code clean, well-commented, and well-documented for me.
As we rely on AI-partners to help us write even more code (and I have no doubt that we will. It’ll be a basic job requirement in five years, like having a vehicle is a requirement to deliver pizza.), it will be even more important for us to recognize that there’s simply no way to be accountable for every single line of code. Sure, when I use a tool like Copilot, I’m checking each line of code and making sure it’s doing what I want. But that’s a very different feeling than writing the code myself- I don’t really own it the way I would if I wrote it myself.
In that way, it’s very similar to copy/pasting code from Stack Overflow. I’m a fan of Stack Overflow and used it a lot as I self-taught my way through development, but unless you took the time to unravel what you were copy/pasting, you weren’t actually growing as a developer. You weren’t actually coding. With Copilot, I’ve seen both options- sometimes I’m just taking code without a second thought, other times I’m actually using Copilot to help explain abstract code to me.
And as these tools get even better, we may find ourselves completely losing any “junior developer” type of roles. Why train up a JR dev when I can simply use an AI to write the bulk of the more basic code. Perhaps we’ll all be senior developers overseeing our “team” of AI tools writing the code for us. The skillset of evaluating, synthesizing, and creating (the later parts of Bloom’s taxonomy) becomes even more important, while the equally critical earlier pieces (acquiring basic knowledge and comprehension) feel like something we can outsource to AI.
The point is – there’s going to be a lot more code going around, which feels insane because we’re already surfing a wave of someone else’s code. And while it sometimes feels like overkill that I need a 24MB framework (not counting the plugins, themes, node_modules, and so on) to make a five-page marketing website for an auto parts manufacturer, this is the world we as web developers are building. Understanding how to live in this world, and how to coexist in it with AI tools like ChatGPT or Copilot that can write thousands of lines of code each second, that will be the next great challenge.