AI tools can generate functional, adequate, perfectly average code at a speed and cost that would have been unimaginable even five years ago. And like the outsourcing wave of the early 2000s, the economics are real and rational. Nobody is wrong for using these tools. The code they produce is often fine. It works. It passes tests. It might ship as-is.
Not the first time I’ve read this kind of statement and I always struggle to reconcile this with my personal experience. I’m seriously doubting that I’m just not a “good enough prompter”. I know how to explain context from domain to tech and vice versa, that’s like, a good 20% of my job. I’d say that AI tools are good at producing code that already exists.
The LLMs are an interface to a corpus of written material. They’ve never had a thought, a chat around the coffee machine, or any experience in the largest sense of the world. This is a hard barrier on any induction they may emulate.
A lot of code already exists. Or at least in a close enough form that it can be easily adjusted to address a new situation.
When someone comes up with an idea for a new App at this point, it’s almost never because it’s an entirely new branch of computing. It’s very likely just CRUD with a visual design, and then a small more complex algorithm to mix the data around behind the scenes.
What’s the difference between a dating app and an automatic meal plan builder? The algorithm doesn’t care about whether or not the recipe swiped back when it matches it up to you.
You’re right that they’re not going to be inventing entirely new things most of the time, that’s just not what’s needed of them most of the time.
Fortunately software is much more than App ideas fishing for VC investments. A lot of us are building actual tools for nurses, teachers, technicians, artists, students, etc. We have to analyze these human beings’ role in society, their needs, their situation, which is different from merely preying on their attention span. Programming languages are still the most reliable way to specify how the software must behave. And once the software is done, it is merely born. It then lives through a steady flow of continuous adaptation until one day it dies as all things do. Downplaying the human condition is a mistake.
A medicine dispenser application for a nurse is still just CRUD operations for the most part. There’s nothing innovative about how the code would be written in an application like that.
Not the first time I’ve read this kind of statement and I always struggle to reconcile this with my personal experience. I’m seriously doubting that I’m just not a “good enough prompter”. I know how to explain context from domain to tech and vice versa, that’s like, a good 20% of my job. I’d say that AI tools are good at producing code that already exists.
The LLMs are an interface to a corpus of written material. They’ve never had a thought, a chat around the coffee machine, or any experience in the largest sense of the world. This is a hard barrier on any induction they may emulate.
You’re both correct, and also wrong.
A lot of code already exists. Or at least in a close enough form that it can be easily adjusted to address a new situation.
When someone comes up with an idea for a new App at this point, it’s almost never because it’s an entirely new branch of computing. It’s very likely just CRUD with a visual design, and then a small more complex algorithm to mix the data around behind the scenes.
What’s the difference between a dating app and an automatic meal plan builder? The algorithm doesn’t care about whether or not the recipe swiped back when it matches it up to you.
You’re right that they’re not going to be inventing entirely new things most of the time, that’s just not what’s needed of them most of the time.
Fortunately software is much more than App ideas fishing for VC investments. A lot of us are building actual tools for nurses, teachers, technicians, artists, students, etc. We have to analyze these human beings’ role in society, their needs, their situation, which is different from merely preying on their attention span. Programming languages are still the most reliable way to specify how the software must behave. And once the software is done, it is merely born. It then lives through a steady flow of continuous adaptation until one day it dies as all things do. Downplaying the human condition is a mistake.
A medicine dispenser application for a nurse is still just CRUD operations for the most part. There’s nothing innovative about how the code would be written in an application like that.