DEV Community

Cover image for Will ChatGPT replace human software developers?
Thomas Hansen for AINIRO.IO

Posted on • Edited on

Will ChatGPT replace human software developers?

I wanted to put ChatGPT to the test, and see if I could combine it with Aista Magic Cloud, to have it create a complete full stack software system for me, and the result might surprise you. You can see the entire process in the video below.

The point of course being that you can ask ChatGPT to create any code for you, and it will understand your request, implying if you can phrase your request correctly, it will deliver code for you that is roughly 95% correct. I asked it to create an SQLite SQL DDL script for me, that encapsulates a small CRM database.

Notice, it did include some 3 bugs, and also didn’t entirely get the references and primary keys 100% correctly applied. For instance, it could have added auto_increment for my primary keys, but in general this is a better SQL DDL than what 98% of the world’s software developers could produce if given the same task. Check out what it gave me below.

CREATE TABLE contacts (
  contact_id INTEGER PRIMARY KEY,
  first_name TEXT NOT NULL,
  last_name TEXT NOT NULL,
  email TEXT NOT NULL,
  phone TEXT NOT NULL,
  company TEXT NOT NULL,
  position TEXT NOT NULL,
  notes TEXT NOT NULL
);

CREATE TABLE companies (
  company_id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  website TEXT NOT NULL,
  industry TEXT NOT NULL,
  notes TEXT NOT NULL
);

CREATE TABLE deals (
  deal_id INTEGER PRIMARY KEY,
  contact_id INTEGER NOT NULL,
  company_id INTEGER NOT NULL,
  value REAL NOT NULL,
  stage TEXT NOT NULL,
  notes TEXT NOT NULL,
  FOREIGN KEY (contact_id) REFERENCES contacts(contact_id),
  FOREIGN KEY (company_id) REFERENCES companies(company_id)
);

CREATE TABLE tasks (
  task_id INTEGER PRIMARY KEY,
  contact_id INTEGER NOT NULL,
  company_id INTEGER NOT NULL,
  deal_id INTEGER NOT NULL,
  subject TEXT NOT NULL,
  due_date TEXT NOT NULL,
  status TEXT NOT NULL,
  notes TEXT NOT NULL,
  FOREIGN KEY (contact_id) REFERENCES contacts(contact_id),
  FOREIGN KEY (company_id) REFERENCES companies(company_id),
  FOREIGN KEY (deal_id) REFERENCES deals(deal_id)
);

CREATE TABLE appointments (
  appointment_id INTEGER PRIMARY KEY,
  contact_id INTEGER NOT NULL,
  company_id INTEGER NOT NULL,
  deal_id INTEGER NOT NULL,
  subject TEXT NOT NULL,
  start_time TEXT NOT NULL,
  end_time TEXT NOT NULL,
  location TEXT NOT NULL,
  notes TEXT NOT NULL,
  FOREIGN KEY (contact_id) REFERENCES contacts(contact_id),
  FOREIGN KEY (company_id) REFERENCES companies(company_id),
  FOREIGN KEY (deal_id) REFERENCES deals(deal_id)
);

CREATE TABLE emails (
  email_id INTEGER PRIMARY KEY,
  contact_id INTEGER NOT NULL,
  company_id INTEGER NOT NULL,
  deal_id INTEGER NOT NULL,
  subject TEXT NOT NULL,
  sender TEXT NOT NULL,
  recipient TEXT NOT NULL,
  date_sent TEXT NOT NULL,
  body TEXT NOT NULL,
  FOREIGN KEY (contact_id) REFERENCES contacts(contact_id),
  FOREIGN KEY (company_id) REFERENCES companies(company_id)
);
Enter fullscreen mode Exit fullscreen mode

Then I created a cloudlet and simply executed the above SQL. Which gave me the following database. I asked it to create between 10 and 15 tables, and it only gave me 6 – However, I could have continued asking it questions, correcting it, to refine the result. Something I did not do, I simply used the first iteration it gave me, and manually fixed the bugs.

CRM database

Then I used our CRUD API generator, to generate an API, which gave me the following endpoints.

CRM API

Finally, I generated a frontend wrapping my API, using our frontend data grid CRUD generator.

CRUD data grid frontend generator

Below is the final result.

ChatGPT generated CRM system

Approximately 20,000 lines of code (LOC), entirely created by combining AI with Low-Code and software development automation. Effectively eliminating some approximately 50% of our professional software developers with something that’s a 234 million times faster than a human being …

As to if it will steal our jobs, the answer is “not yet”. It needs to be refined a bit, since currently it doesn’t for instance understand it cannot use CREATE DATABASE for an SQLite database, etc. But in general, it produces code that’s 100 times better than most software developers I have worked with in my professional life.

However, if you’re a mediocre software developer, you should be very very afraid – I’d rather hire this thing in fact, than most human software developers I’ve ever worked with in my entire life. The difference being of course that this thing is free, and delivers 10x quality, in 1% of the time. In fact, most software developers I have worked with wouldn’t be able to produce the above quality at gunpoint. It still needs a “human touch” though. However …

Following Moore’s law a couple of more years down the rabbit hole, implies it will replace everything! Not only software developers, but lawyers, doctors, teachers, EVERYTHING! And I LAJK it …!!

Top comments (24)

Collapse
 
cppshane profile image
Shane Duffy • Edited

I think the first real-world use cases for it will be frontend development.

Mostly because backend stuff requires a lot... more. Caches and databases and servers and a shitshow of different pieces all interacting. I think it would be difficult to train an AI to manage these things.

But frontend is a perfect use case, imo. Of course, you'll still need a dev to fine tune it. But it would be excellent for whipping up quick boilerplates (assuming the code it writes is reasonably structured and readable).

Collapse
 
polterguy profile image
Thomas Hansen

Actually, I fundamentally disagree. But then I've got Hyperlambda, which is so simple in syntax and simply "takes care" of everything that's complex. In fact, I'm starting now, as I am writing this to signing up for the API to integrate it and have it create backend code for me. Normally I would say you're correct, but with Hyperlambda it's a "special case" ...

As to who it will replace, juniors or seniors, obviously it would be harder for a junior to compete with something like this. However, at the same time, it would arguably also make a junior dev seem to be much better, and rapidly rub off its lessons to the junior. So I am not sure if it turns a junior into a senior and hence replaces the senior, or if it does all the minute tasks for the senior, rendering the junior obsolete.

However, this thing changes the game ...

Collapse
 
cppshane profile image
Shane Duffy

Suppose you want to create a frontend for a music streaming app. You could probably request the following from your AI:

Make a music streaming frontend app similar to Spotify, but with a blue color scheme instead of green, and with sharper edges.

And then tweak it from there:

Adjust the profile image to be on the left, increase the margins between the songs in the playlist sidebar, etc.

Now suppose you wanted to create the backend infrastructure for this streaming app with specific performance demands in mind, so you make the following request to your AI:

Create the backend infrastructure for a video streaming app that will be able to support 1 million concurrent users.

Do you see how this request is wildy different from the previous requests?

Of course, if you were to already have a plan for infrastructure, and you specify exactly to the AI what it should implement and how these things should interact, then yes it could do it. But then that would basically just be Hyperlambda with verbosity turned up to 100% haha.

Thread Thread
 
polterguy profile image
Thomas Hansen

Yes, but how many developers are actually creating a streaming API for music? Most of us are doing simple CRUD stuff for medium sized companies, such as banks, insurance companies, hospitals, and the public sector. In fact, probably 90% of the world's professional software developers have never created a streaming API for anything during their entire professional careers, and probably never will either.

Thread Thread
 
cppshane profile image
Shane Duffy

I was just using that as an example 😅

My point is just that if you were to ask an AI to build your backend infra with some requirements, the fundamental design of your infra must be "solved" by the AI in such a way to meet your requirements.

Whereas with frontend, the "request" you make is the fundamental design. Move a UI element? Change positioning, or ordering? Change colors? The mechanism to achieve these things are all well defined.

A more parallel analogy in terms of frontend might be asking your AI to "make this UI more appealing to younger audiences". That would be a highly abstract request, and yeah I don't think any AI at that level will be viable anytime soon either.

Thread Thread
 
polterguy profile image
Thomas Hansen • Edited

Maybe you're right, but realise this is version 3.5 of ChatGPT. I asked it to create a CRM SQLite database DDL, and it succeeded almost 100%. I could have iterated and asked it "add a table for notifications" or "add tables required to handle logistics of soap, since we're a soap selling company", etc - And it would have created these tables.

However, you are right, at the time being it's more like an assistant, helping us to deliver specific snippets of code. However, this is version 3.5, imagine version 5.5?

I read an article yesterday claiming Google has sounded "alarm level red" because of this thing. They are expecting it to a large extent replace Google. This came from the top level at Google. Things I easily see this thing chewing a big chunk out of currently are;

  • Google (no need to search for things when you can ask the thing to answer your questions directly)
  • StackOverflow (do I really need to explain this one ;)
  • Technical blogging (articles not requiring a community). You can ask it to write essay about network adapters in dude speak, and it will deliver perfectly
  • Etc ...

Maybe it'll replace frontend coding in general initially, but I'm already having some success integrating it into Magic, and I've only spent one day with it so far, and it already is producing Hyperlambda code on command for me ...

This is after one day - Imagine after a week ...? ;)

Image description

Collapse
 
techman09 profile image
TechMan09

I would trust ChatGDP for small simple things, but no way would I allow it to create something complex. It’s already mis-used a few HTML elements in my testing, no way would I allow it to create code in a production environment.

Collapse
 
polterguy profile image
Thomas Hansen

You need to sanity check what it does, but extrapolate a couple of years into the future, add Moore's law to the mix, imagine the monetary incentives, and BOOM! Game over ...!! :P

Even today, some of the stuff she does is already beyond what most junior developers could do ...

Collapse
 
techman09 profile image
TechMan09

Very true. I has lead me on hour-long wild goose chases for things that don't exist, so I 100% fact check everything is spits out now. But when it is correct, it normally saves a ton of time, and thinks of things that you may never have thought of.

Thread Thread
 
polterguy profile image
Thomas Hansen • Edited

One weird thing is that the "size of the model" seems to shrink sometimes. Possibly due to pressure I assume. Earlier today it was able to much more accurately describe Hyperlambda to me. A couple of hour later, I asked it what Hyperlambda was, and it didn't even now about it at all. It's like it lost "half its brain" in a couple of hours. I suspect they're economising the thing, possibly due to pressure, according to times of the day ...

However, one of its most amazing traits is that you can teach it stuff. Whenever it messes up, correct it, and later it'll give you the correct answer ...

Thread Thread
 
techman09 profile image
TechMan09

I have not noticed the former myself, but I have had less time to play with it then I would have liked. It did a descend job with that prompt though...

Image description

The learning off of previous mistakes is the best part. And now that it can save your past conversations, you can even come back to it at a later date and extend its knowledge of what you already taught it.

Thread Thread
 
polterguy profile image
Thomas Hansen

Hahaha, "The Fabulous" - I told it earlier today I invented it in 2013. I guess it thinks I'm "fabulous" :D

Collapse
 
whjte profile image
John Snow

you sound toxic in the comment section and pushing hard to sell your product.. At this point I'd rather go with an alternative

Collapse
 
polterguy profile image
Thomas Hansen

I trained ChatGPT on Hyperlambda. I was able to acquire a 90% accuracy

Collapse
 
whjte profile image
John Snow

I won't buy your product, stop it already 😂

Thread Thread
 
polterguy profile image
Thomas Hansen

You don't need to buy it, it's open source ;)

Thread Thread
 
canmingir profile image
Can Mingir

@kiro whether he is pushing or not, dev.to is the platform people promote their ideas/projects/products, discouraging people is toxic!

Thread Thread
 
polterguy profile image
Thomas Hansen • Edited

Thank you Can :)

It's a community, and it's huge. The thing about huge communities is that we can simply ignore what we don't like. Things we don't like, we can simply scroll over. "Expelling" people from communities because they "wave opinions we don't happen to agree with" leads to a very, very, very dark place ... :/

For instance, I don't like Justin Beaver's music particularly much. This doesn't give me the right to publicly disagree with everybody that thinks he's the best musician on the planet. Etc, etc, etc ...

After 22nd of July, and the Norwegian terrorist thing that killed 77 people, I studied ABB's writings, in an attempt to try to understand what happened. And my conclusion was that what had gone wrong was that he was "expelled from society" because of having what others perceived as "wrong ideas". Of course, this became a self fulfilling prophecy, that ended up isolating ABB, without any real close friends to talk to, resulting in that 77 people were murdered. We see similar things in every single US school shooter's mind. The more we disagree with others, the more important it is for them to be allowed to speak their minds. This is the very foundation of freedom and free speech.

I disagree with your words, but I will lay down my life for your right to speak those words

The above is a quote from Voltaire, arguably the backbone of modern democracy and society. Once a large portion of society no longer believes the above, very, very, very bad things are happening ...

I wanted to say what you said, but I am extremely happy you did, such that I didn't have to ...

Thank you :)

Thread Thread
 
whjte profile image
Comment marked as low quality/non-constructive by the community. View Code of Conduct
John Snow

sesini kes!

Collapse
 
gilfewster profile image
Gil Fewster

However, if you’re a mediocre software developer, you should be very very afraid – I’d rather hire this thing in fact, than most human software developers I’ve ever worked with in my entire life

Good luck with that!

Collapse
 
polterguy profile image
Thomas Hansen • Edited

She'a already producing higher quality code than most software developers I have worked with. I'm not sure about how skilled you are, but following Moore's law, she will inevitably replace all of us some 2 years down the road. Including your professors, doctors, psychologists, "whatever". This is not something you've seen before, unless you've seen ChatGPT previously ...

This is a 10 generation leap forward to everything that's been publicly available previously ...

In fact, we will see people using her for job interviews, to get jobs they're not qualified for. In fact, some people will probably even use her while they're working, not even being noticed how unqualified they are, remote workers, simply accepting payment for work done by ChatGPT, etc, etc, etc ...

If you know what to ask her, and how to ask her, and how to sanity check her output, you're already positioned to triple your salary ...

Facts are, I could contact your employer, almost regardless of what you do, take your job, and deliver 10x as much, 10x as high quality, and 10x as fast as you do in your job currently. Then I could find 100 others like you, and do the same with, underbidding your salary by 50%, multiplying my own salary by 50 times, doing 50 peoples' jobs, yet still have time to spare in my weekends. This is today, by simply using ChatGPT to solve whatever problems you're solving today, only solving them better ...

This thing changes everything ...!!

Collapse
 
emil profile image
Emil • Edited

Time will tell, not you. Don’t panic

Thread Thread
 
polterguy profile image
Thomas Hansen • Edited

If you saw the video you'd realize I am way far away from panicking. After having been a professional software developer for 25+ years, used to cleaning up other devs garbage code, I'm looking at this thing as the Messiah, redemption from our Gods, and the solution to all my problems. I'm ready to hire her 😉

In fact, simply using the current chat interface, I could easily triple my salary and profits 🥳

Collapse
 
lorenz1989 profile image
lorenz1989

Have you ever wished you could see the answer to your Google search immediately on the page, without having to click on any links? Now it's possible with the chatGPT Chrome extension, which enhances your search experience. You can give it a try:
https://chrome.google.com/webstore/detail/chatgpt-for-search-engine/feeonheemodpkdckaljcjogdncpiiban?hl=en-GB&authuser=0

Some comments may only be visible to logged-in visitors. Sign in to view all comments.