Will ChatGPT replace human software developers?
Tags: machinelearning, chatgpt, lowcode, productivity
Published: 2022-12-23 07:31:19

I wanted to put [ChatGPT](https://chat.openai.com/) to the test, and see if I could combine it with [Aista Magic Cloud](https://aista.com/), 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.

{% embed https://www.youtube.com/watch?v=UH0-D14hbh4 %}

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.

```sql
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)
);
```

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](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yqqi6j1sh6orzghdbuda.jpg)

Then I used our [CRUD API generator](https://aista.com/crud-api-generator/), to generate an API, which gave me the following endpoints.

![CRM API](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h3bkxl5usteuwkznopf2.jpg)

Finally, I generated a frontend wrapping my API, using our frontend [data grid CRUD generator](https://aista.com/crud-datagrid/).

![CRUD data grid frontend generator](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3prxxjc4pnqu1ic0mt4d.jpg)

Below is the final result.

![ChatGPT generated CRM system](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wlrev5ltgg0sv3fzqi3r.jpg)

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 …!!