Code has been getting automated since basically day one of programming.
The funny thing about automation in programming - it has always opened up more doors - and led to more employment in programming.
We are so far from anything that resembles real automated coding - that coding automation should continue to be celebrated by engineers for a long time.
GitHub Co-Pilot and VS Code aren't going to replace you - they're just going to let your company offer a better product, release a new version sooner, test different versions, etc.
It doesn't perfectly translate IMHO. A bricklayer contractor that has a mostly automated machine doing 80% of the job would probably hire maybe 1 guy to get shit off the truck and clean dropped mortar. Normally he might have 2 or 3 extra guys to do some stretches or turns or something like that.
Look at houses now vs houses from 200 years ago. Modern house are much more advanced and complex. Automation such as a bricklaying machine would allow these 2 or 3 other guys to do something else that would support further complexity and advancement in house building, or anything else for that matter, just as automation doesn't cause loss of jobs in programming.
Frameworks like react are a type of automation of coding. Any framework. Or any higher level language. Anything that isn't just entering ones and zeroes is already a level of automation in coding.
Automated tools will lower the difficulty of coding to the point where it'll be easy to pick up and be massively productive. Developers will be replaced by domain experts becoming productive developers easily with automated tools.
There's an assumption that great coders eventually write themselves out of a job. It's only half true. The reality is, they write themselves into a better job. Because the more divorced these "domain experts" become from the underlying processes and scalable systems that back their GUI-based decisions, the more of a technological elite the coders are who can delve into a mess of hardware and software stacks and explain or fix it when something goes wrong. If it used to be the height of corner-suite hubris to believe that code and coders were replaceable in building a simple app, it's now become something like magic to them that it gets done at all. And we can see in realtime how this system breaks down when there aren't enough coders at any price to fix the system. To ever get system A to write system B, someone has to write system A and then know how to fix it. You're imagining a miraculous future where system A diagnoses and repairs itself. If it could do that (although it never will), it would have long ago dispensed with useless business managers, and supposed "domain experts". Every coder is a domain expert by the time she's done writing a serious piece of business software. The execs who sit on the fragile shell of a company to both parasitically raise funds and exploit coders are the only people who hold the fantasy that one day they'll never be at the mercy of investors or coders. It's a neat way of reassuring themselves that they have value, but not much else.
Ha ha. I remember people making those claims about 4GLs and visual programming tools 30 years ago. It wasn't true then and won't be true in our lifetimes. Domain experts typically lack the mindset to think through edge cases and failure modes.
Lowering difficulty of lifting boxes doesn't eliminate warehouse personnel: it means that now every worker can lift hundred of heavy boxes a day and the company can deliver 100x more stuff. Businesses don't want to get rid of personnel; they want to increase profit-per-employee and automation does just that.
The funny thing about automation in programming - it has always opened up more doors - and led to more employment in programming.
We are so far from anything that resembles real automated coding - that coding automation should continue to be celebrated by engineers for a long time.
GitHub Co-Pilot and VS Code aren't going to replace you - they're just going to let your company offer a better product, release a new version sooner, test different versions, etc.