A World Without Software Developers

Written on 2024-06-08 by Adam Drake - 13 min read

Image of A World Without Software Developers

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.

Setting the Stage

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.

Scenario 1 — Simple Feature Request

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?

Even if all developers disappear and are replaced by AI and the whole thing is just working seamlessly, who is controlling the AI?

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:

  • The AI produces a few mockups almost instantly allowing the user to decide which best aligns with what they requested.
  • The AI just implements the field straight away on the live application for the user to try out and iterates from that directly in the live code.
  • There is some staging application the AI implements the field on for the user to test out.

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:

  • They update the relevant schemas and models on the backend.
  • They update the relevant API endpoints
  • They do any require database migrations
  • They implement the Frontend from the design that was accepted by the user
  • They deploy all this to the production servers

I mean it’s not beyond the realms of possibility but I have a few questions:

  • If iterating on the live app, are they updating all the backend and frontend code simultaneously?
  • How is the code base structured? Would it be separated into modules and nice and readable to a human like it is now or will it just be raw machine code?
  • What happens if the AI just doesn’t understand what the user wants and every iteration is just not close to what the user is asking for? How to rectify this situation?
  • How is the design produced and made realistic? AI images from DALL-E and Midjourney are fantastical looking but I’ve noticed that “Iteration” doesn’t seem a familiar concept to AI. You ask it to tweak something on an image and it comes back with something quite different.

Likelihood of Happening (out of 10)

7 — Definitely some questions around this but not beyond the realms of possibility.

Scenario 2 — Complex Feature

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.

Would the AI be able to utilise all it’s datasets and piece together something novel?

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.

AI does everything off of data. Basically everything is produced off of the past, off something else that already exists.

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.

Scenario 3 — New Application

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:

  • It’s a way to get something up quickly that resembles the initial idea.
  • It’s cheaper than building out an app of production quality.
  • It allows the opportunity to actually try something out to see if it will actually work if implemented properly. With a new app it’s often not obvious if the whole thing will actually do what is expected in reality.
  • It focuses attention on what are the essential aspects of the app and only include those in the initial version.

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).

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

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.

Will the Whole Paradigm Change?

One thing is to consider is that the whole paradigm of:

  • User wants a feature
  • Developers gather requirements
  • Mockups are created
  • Iterations occur
  • Solution coded and implemented

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.

What about 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?

What about third party packages and libraries?

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?

What about the Companies that are providing the AI?

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?

Engineers vs Coders

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.

Conclusion

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 AI Selfie

Written by Adam Drake

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