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)
I didn’t find it surprising, because I do stuff like it every day (except I’m using Copilot integrated into my IDE, not ChatGPT).
What he did was very cool. But he’s a game developer who already knows all the parts he needs and what to ask for, and he still has to do a lot of work by hand. He glossed over it quickly, but there are parts where he had to add code to specific, already-existing blocks of code in his program, and in order to do that, he had to know and understand what the current code was doing.
And throughout the video, he had to know not only what to ask for, but how to ask for it. That takes experience and understanding.
It’s possible that eventually, programming for a lot of people will mean expertise in interacting with large language models + lesser expertise in the actual programming language, but I don’t see that as likely to end programming as we know it. In fact, it might cause a surge in developer demand as the bar to entry lowers again, much like it did in the 2000’s. And there will always be demand for people with a deep understanding of the actual code, because they’ll be necessary for things like performance improvement, bug fixing… and writing the next generation of large language models.
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.
I didn’t find it surprising, because I do stuff like it every day (except I’m using Copilot integrated into my IDE, not ChatGPT).
What he did was very cool. But he’s a game developer who already knows all the parts he needs and what to ask for, and he still has to do a lot of work by hand. He glossed over it quickly, but there are parts where he had to add code to specific, already-existing blocks of code in his program, and in order to do that, he had to know and understand what the current code was doing.
And throughout the video, he had to know not only what to ask for, but how to ask for it. That takes experience and understanding.
It’s possible that eventually, programming for a lot of people will mean expertise in interacting with large language models + lesser expertise in the actual programming language, but I don’t see that as likely to end programming as we know it. In fact, it might cause a surge in developer demand as the bar to entry lowers again, much like it did in the 2000’s. And there will always be demand for people with a deep understanding of the actual code, because they’ll be necessary for things like performance improvement, bug fixing… and writing the next generation of large language models.