Written on 2024-06-08 by Adam Drake - 13 min read
As soon as the world realised the potential of ChatGPT there has been a constant chatter about “This is the end of programmers”. Apparently it’s only a matter of time before AI improves to the point where it can take over everything that a software developer does. Recently the latest and greatest AI implementation to replace developers was introduced — Devin — and of course the internet was flooded with reaction videos.
So I thought why not try and visualise what a world without developers would actually look like. To see if it’s possible to imagine this world and how it would function. To actually look at some practical day-to-day examples to see how AI could work in this potential future.
The situation I want to imagine is for a small to medium company, let’s say 50–200 people. They have some sort of hardware products, some internal web tools and some web presence too. They work with dynamic applications, not just static websites and they have customers that they produce and sell things too.
We can start with a custom application that internal users use. It’s a custom built web based application that interacts with a backend API that acts as a interface to some business logic.
The user of this application wants to add another field to one of the views to capture some kind of data that currently isn’t being captured (let’s assume this person has been deemed the responsible one to make changes on the existing application). What do they do?
My immediate thought is there is some AI interface they can talk to and they bring it up and say something like:
“I want to add a field here to capture the manufacturer of this particular part in our product”
What happens next? I guess there are a whole host of choices:
And what about under the hood? Well I guess I am making a massive assumption that AI produced applications will use the same tech stacks as we use now but lets roll with it:
I mean it’s not beyond the realms of possibility but I have a few questions:
Likelihood of Happening (out of 10)
7 — Definitely some questions around this but not beyond the realms of possibility.
Let’s take a little leap now and imagine the user of this internal application wants to add a whole new complex feature. They have a vague idea of what they want but they would find it very difficult to articulate their idea out loud.
With an AI application that relies on voice instructions this would prove tricky to say the least. The user could certainly have a go and maybe it would just be a case of many many refinements.
I am not sure what would happen if this new feature was truly something novel. Would the AI be able to utilise all it’s datasets and piece together something novel? Who knows… but I can imagine that building out this feature could be very frustrating for the user.
In a current setup, very often the user will come with a vague idea to the software team who will in turn interpret what they heard and there would be a back and fourth dialogue in which the idea gets flushed out and the details slowly start getting filled in. There is also inspiration in these group chats as ideas are bounced off of each other.
Maybe in this imagined future with AI, it would require a group of people flushing out the idea first and then interacting with the AI? I can’t help but think someone of technical knowledge would be very useful in this situation (i.e. a Software Developer) to give an idea of whats feasible and to translate and interpret to the AI.
Likelihood of Happening (out of 10)
4 — I suppose it could happen in the right situation but I would imagine in reality the bigger the feature request, the more chance AI just won’t be able to interpret what is needed.
What about the building of a completely new application? How would this work in a world without developers? In most companies I have worked in when there is an idea about a new application, a MVP (Minimal Viable Product) is usually built. This is done for a number of reasons:
With AI cheapness and quickness could potentially be taken out of the equation. AI theoretically can build things very quickly compared to a human developer. It also doesn’t require wages so it is relatively cheap. Plus it doesn’t sleep so can work around the clock. (You can see why investors and business people are getting so excited about the prospects of AI).
The big question here for me is would a human be able to articulate well enough what they want in order for an AI interface to be able to build out an accurate representation? I think in time they would be able to. I would imagine it would be similar to carving a statue with a stone. First start off with the main large pieces and gradually over time start redefining all the details.
However, I think one thing that has been grossly underestimated is the amount of effort it will require to build a production quality application with the help of AI. Even if the AI models have evolved from what we currently have it’s still going to be working from a human’s instruction. The initial idea will come from humans and the reality is that a real life application has so many details in it that are so far away from the initial idea of that application that AI or not, it still takes many iterations to get there.
Likelihood of Happening (out of 10)
3 — Depends totally on what app is being built. For a generic blog or dashboard app I’m sure AI will manage quite well. For anything custom I think it would be a disaster.
One thing is to consider is that the whole paradigm of:
This may well change. The only reason we have mockups these days is it’s a quick and easy way for the developers to understand what is actually being requested and for the users to get a realistic example of what they are requesting. It’s an interface that brings a whole load of clarity to something that words just aren’t able to provide.
With AI, it can almost instantly code the solution which is being requested. Therefore it can iterate in code just as quick (if not quicker) than a human could in a tool such as Figma or Photoshop.
Therefore, you can realistically see the removal of a couple of steps from this current process. Obviously this ignores the whole part of “design” which is so under appreciated by businesses it’s not even funny. AI does everything off of data. Basically everything is produced off of the past, off something else that already exists. Which brings me to innovation.
It’s easy to see a few DALL-E images and believe AI is creative. I guess in some way it is, but is it innovative? Is it coming up with completely fresh, original ideas and perspectives on how to look at things?
I would argue it isn’t. At the moment it’s quite easy to spot an AI generated image. Some are blatant whilst others rely on paying attention to little details. However, you can recognise them.
The questions still remain though. Can AI push the boundaries of design? Can it introduce new styles and fashion into the App world? Can it truly innovate and move our App world forward?
Almost all major programming languages have a package management system these days — Javascript has npm, Python has pip, Rust has Cargo etc. What about all the libraries that come along with any ecosystem. All that innovation and development coming from human developers that other developers are able to utilise to build out products faster and of much higher quality. Is AI going to replace all that?
One final thing that I think requires mentioning. Whatever AI exists in the future it’s going to be managed and run by a company or group of companies. A company like OpenAI or whoever that impose their rules and their ideals on the AI which in turn influences everything it produces.
Even if all developers disappear and are replaced by AI and the whole thing is just working seamlessly, who is controlling the AI? If this is adopted globally then a small change by this company can trickle down to have massive implications. Who will oversee what it is producing?
The more I go down this rabbit hole the more I get scared by the places we could end up as humans. And all so we can get more quicker?
One thing that has also become apparent in the writing of this article is the meaning of the word “Developer”. It seems to me that some of the tasks a developer does these days will be easy to replicate with AI. Others however, will not be.
If you are a Software Developer at the moment I think you have to aspire to become a Software Engineer. Engineers have been around as long as civilisations and they will continue to be. Throughout the ages, depending on the technology, engineers have worked in different domains but they have always been needed. To build, to innovate, to create and to push things forward.
I have realised in life that things change but also they don’t.
Even if all developers are removed from a company, it seems you still need some person to act as an interface between the business side of the company and the software being produced. It seem’s to be we aren’t going to get rid of developers, rather the developer’s specific roles are going to evolve.
There are concerns about quality too. Who’s overseeing the AI work to make sure AI is not adding complete rubbish? What about data? For many companies these days, data is their product. How much trust can you put into AI to make sure it doesn’t jeopardise the data integrity? In a current software team you have Pull Requests and Retrospectives and hierarchies within a team to address quality. This is all in place to try and maintain a standard and quality of the codebase and data for the company.
Innovation and novelty also leave a big question mark for me. AI is currently LLMs built on top of lots and lots of existing data. But if there are no developers surely it won’t take long for the whole development ecosystem to become stagnant. AI has no agency or intent. How and why would it try to innovate?
A world without Developers seems to me like a pretty sad affair. Sure, efficiency and productivity will soar and the fat cats sitting on the board will be content counting their coppers but what about all those positive human qualities that developers currently bring to the table. Innovation. Novelty. Quality. The spirit to improve. Without human developers the whole development lifecycle would just plateau because the spark of change would have gone. The world of technology would become dull and lifeless.
Loading...
Adam Drake is a Frontend React Developer who is very passionate about the quality of the web. He lives with his wife and three children in Prague in the Czech Republic.
Adam Drakes Site © 2024