In the hands of a skilled craftsmen, the machine enhances the productive process of the craftsmen. In their shop, as part of their labor process, making bespoke things, the machine serves the craftsmen.
However, the machine also reduces the socially necessary labor time for the mass production of a given thing. The laborers within this production environment are not craftsmen. All they know is how to operate the machine. Making parts of an eventual whole they'll never have a full hand in producing.
As the laborers are replaced and the machine persists, there is less demand for the kills of a craftsmen, and the new laborers do not need to be trained at the same capacity as the craftsmen. This process naturally deskills the labor force as time progresses.
You find it useful because you are trained and can more effectively describe the issue its resolving because the code is the result of your skill and training. You are the craftsmen in this situation. Soon however, you will become the supervisor to juniors who have even less of any understanding then you had in their position. Producing code using a machine, with little understanding of it's output, leaving you to pick up the slack.
is about though. You want a codebase built in a coherent, consistent, repeatable way that can be independently worked on by dozens of people often at the same time, and LLMs cannot do that in any real capacity. It might serve as a decent tool for spinning up quick proof-of-concepts (I've poked it to figure out a new framework before, mostly due to terrible documentation making it difficult to figure out how to use specific features) but none of it was production-worthy and never would be.
me writing spaghetti code
AI writing spaghetti code