Software Developers vs ChatGPT & Friends

The machines are coming to steal our jobs. It took the jobs of the farm labourers and the factory workers, and in a twist of irony, it’s now taking the jobs of those who developed its predecessors – the software developers. At least that’s what many alarmist headlines are saying now. But is it true?

Ever since the public release of ChatGPT last year, many have made prophecies about how the this new technology may work itself out in future. Software developers who have tested it have noted how with the ease of a few prompts, it can spew lines of code that would take a non-trivial amount of time for a junior developer to figure out. I’ve seen people I know deploy working software in a programming language they do not know, all with instructions provided by ChatGPT. So if it can do all this, what will the need for software developers be?

This is not the first time that software has come onto the market to take away the pain of having to write software that others around the world have already written gazillions of times. You find Habibo sitting on his laptop in Mogadishu writing exactly the same code to display products that are stored in a database on a web page, that Zoleka sitting in Gqeberha wrote last week. And though this duplication results in job creation, in a world of non-physical digital goods, it may be seen as inefficient. So it would make sense for the AI machine to just find the average of how it’s been done before, and do it for you.

But it’s not the first time that such a thing has been done. Applications like WordPress were created so that individuals and organisations do not have to have whole software developer teams to create some kind of web presence. Shopify was created so that someone can open an online store with a few clicks of a button. And on the large enterprise stage, Backbase has created a way for banks to engage digitally with their customers without the need for a large number of highly specialised software development teams. The only difference with ChatGPT is the natural language prompts given to configure the intended output.

The ironic thing with many of these tools is that it has resulted in a greater demand of software developers. Take the WordPress example. When it and other similar tools such as Joomla became popular, the number of websites online also increased exponentially. It was now so much easier to go from zero to web hero through the site registration, selection of a template and writing of content. And a natural result of the ease of the tool is that most of the websites online started looking the same. Same “About Us, Contact, Home” menu at the top. Same footer with company information at the bottom. Same picture with a cheesy company intro in the middle.

With the ubiquity of these new websites, to customise and differentiate, many organisations then needed developers. Php was the most popular programming language for a very long time because of the success of WordPress and the demand for developers to develop plugins and new templates to customise it for specific needs. Many software developers attribute this as their entry into the software development industry.

The same thing may happen with ChatGPT and friends. Simple software applications will start sprouting all over. Yet these simple applications will not remain simple, requiring extra development effort from software developers, increasing the demand for them.

The one big challenge that these tools pose to software developers is loss of skill. It’s not only non-technical people who will be using these tools, but software developers too, significantly reducing the time it takes to get features to customers. Because these tools will be doing a lot of the grunt work, developers may not end up understanding what the tool is actually doing. Today, there are many web developers who do not understand how web pages actually work, because they use tools that do a lot of the grunt work for them. When fixing a problem with an application, one just needs to do an online search for the problem they are facing, and copy and paste the answer without understanding the underlying technology and cause of the problem. As a result, many fail to properly optimise the applications they build for different conditions (such as network speed and screen size), as well as for long term maintenance.

At this early stage, it’s difficult to predict the long term effects of these new technologies. But the future does look more unpredictably exciting with them around.

Cover Photo by Matt Noble on Unsplash