Software Engineers vs ChatGPT
Are you an innovative, forward-thinking tech leader ready to cut costs, democratize app dev, and embrace AI by using a code generation tool to replace your software engineers?
Maaaybe hold off.
Not that I don’t appreciate the situation. In Gartner’s 2021-2023 Emerging Technology Roadmap for Large Enterprises, 60% of IT executives said that the single biggest reason they can’t leverage the latest technology is a lack of tech talent. With AI code generators like ChatGPT, the thinking is you might not need tech talent anymore. Human tech talent, anyway.
Of course, democratizing app dev and replacing software engineers with laypeople who don’t need any particular expertise is an old hat. Low-code/no-code has been promising that for over a decade now.
We’ve heard this before…
FINN auto is a car subscription service founded in 2019 and has almost $1B in funding in 2023. They built their initial product on a combination low-code/no-code platforms before switching to pro-code (that is, writing code themselves). Their Staff Software Engineer, Ishtiaque Zafar, explained why.
“Airtable was our database of choice in the initial days. Reason: Ease of use, easy schema changes, quick rollbacks and snapshot recovery. We chose Airtable because everyone (and not just engineers) could work with it. Soon enough we had a database with more than 40 tables and the ‘cars’ table having nearly 400 fields! (Highly inefficient, we know.) To add to that, we had dozens of automated workflow reading and changing that data and soon our database gave up. Airtable comes with a limit of 5 requests per second per base. We were constantly hitting that target and started having more than 100 timeouts per day.”
That was just one of the issues they encountered.
Some low-code/no-code advocates pushed back, saying that FINN simply used the wrong technology for the job. That could have been the case. They might not have known which tool was the right tool. Maybe they didn’t know enough about database architecture or have enough expertise to properly evaluate the low-code/no-code platforms they wanted to use.
Do you see the problem with that argument? No matter what the circumstances of Finn’s transition from low-code/no-code to pro-code, whether it was a failure of Finn’s team, the tech itself, or a combination of both — they needed experts with deep technical knowledge.
That’s because building complex software is really hard. You can drag-and-drop a UI widget, but you can’t drag-and-drop data governance best practices.
Today, low-code/no-code is a popular choice for simple apps and static web pages, but that was true a decade ago. In all of that time, how low-code/no-code is being used hasn’t really changed.
So how are ChatGPT and other AI code generators different?
Low-code/no-code platforms promise you don’t need any expertise to be a software engineer. AI code generators, on the other hand, are in many ways promising the exact opposite — they’re platforms offering all of the expertise.
But it’s crucial to understand the difference between access to expertise and being able to use it.
To be very clear — this is super impressive. It generated the code for an entire game with a wildly simple prompt (“Write a program to implement the game of snake in Python”), and this isn’t even the latest version of ChatGPT.
But it couldn’t do it on its own, and it still can’t.
It needed a human expert to pilot it. That’s why another popular AI code generator, GitHub Copilot, is called, well, Copilot. AI code generators aren’t replacements for software engineers. Not yet. They are, however, great developer enablers.
And as cool as generating “Snake” is, it’s relatively straightforward (not including the part where you have to package and distribute the game). Ask a layperson you know to build a simple login system with ChatGPT for a mobile app and see what happens! Could they do it? Not today. Even a professional software engineer couldn’t rely on ChatGPT exclusively because software development isn’t just about writing blocks of code.
Bionic software engineers
So… when will you be able to replace your software engineers? That depends!
The more complex and integrated your software products are, the less soon you’ll be able to ditch humans. Probably not this decade. Plus, future laws and regulations we haven’t even conceived of yet governing pseudo-autonomous AI might bar it access to certain data types and services or from performing certain kinds of tasks.
In the meantime, instead of focusing on when you can replace flesh-and-blood software developers with machines, try being an advocate for AI as a tool for developer enablement. In sci-fi terms, think cyborgs instead of robots.