In software development? Not many - and certainly not at smart companies.
ChatGPT is a tool. It goes in the developer toolbox because it’s useful. But it doesn’t replace the developer, any more than a really good screwdriver replaces the construction worker.
More and more, understanding how to use LLMs for software development will be a job requirement, and developers who can’t adapt to that may find themselves unemployed. But most of us will adapt to it fine.
I have. I’m using Copilot these days. It’s great. And the chances of it replacing me are roughly 0%, because it doesn’t actually know anything about our applications, and if told to make code by someone else who doesn’t know anything about them either, it’ll make useless garbage.
Yeah so your job is a harder to fully replace with AI at this moment than jobs like copywriting, narration, or illustration. Enjoy it while it lasts, because the days are numbered.
And before all those jobs are gone, people using AI tools like your Copilot will be more productive requiring less headcount. At the same time there will still be a lot of people seeking work, but now with fewer jobs there will be downward pressure on wages.
In the early 2000’s, there was all this panic about how these newfangled languages and tools were going to obliterate the developer job market. They were too easy to use! Too simple for non-developers to pick up! Why, you could almost code in plain English now! Developers are doooooooomed!
Instead, demand for developers shot through the roof, because the barrier to entry for developing applications had been lowered enough that adding staff developers to your employee roster became a no-brainer.
Part of the problem is one of precision instructions. We call instructions that are comprehensive, specific, detailed, and precise enough to be turned into programs code, and ChatGPT doesn’t change that. It can only do what you tell it to do.
Maybe someday, a large language model will be so sophisticated, you can say something like, “Write a program to do X, Y, and Z. It uses (address) for authentication, and (other address) for storing data. Here are the credentials to use for each. (Credentials). Your repo is at (address). You deploy the front-end at (address) and the back-end at (address). Your pipelines should be written using (file) as a template.” And maybe what it does with that will truly be able to replace me.
But I genuinely doubt it. I glossed over an enormous amount of detail in that example. If I add it in, what it’ll start looking like is, well, more code.
This is pretty low level stuff but every dev I’ve showed this to found it surprising (I hang out on a slack community for designers and devs so it wasn’t just like 2 people)
https://www.youtube.com/watch?v=8y7GRYaYYQg
It’s just a matter of time.