Why do you believe this? Everyone I know who has used copilot has found it made them more productive. Admittedly, reports differ wildly on how much more productive from ~10% to ~100%.
IRL a lot of what people do is rehashing or gluing together things as others may have done before. We all stand on the shoulder of giants - code is a tool to enable an outcome.
I don’t agree with your definition of “code uniqueness is productivity”.
It might be better now they've improved it, but for the sort of work I do (maintain a mature Kotlin codebase) the prior version wasn't a productivity upgrade, it was a downgrade because the type system and IDE generated more accurate suggestions that I don't have to double check for errors. Copilot and ChatGPT both seem to have error rates too high for this sort of work.
I can see though, that once I switch to some other sort of work it might be more valuable.
The code it suggests is always highly suspect and writing raw code never was the problem in the first place (for me). I was “discussing” with it for far longer than it was making me “productive”. I give it -5%.
I do however love occasionally using GPT directly for converting some weird list of values to JSON or coming up with plausible test data. Sometimes some text or ideas for emails (especially English, which is not my mother tongue). Sort of a secretary of sorts.
I found ChatGPT however outputs good code when I want it do simple things. Writing unit tests is tedious, and ChatGPT is pretty good at that. Optimizing a SQL query, etc. Things that used to take some time are now either instantaneous or get me 90% of the way there, and I can do the final edits.
and will never contribute to public open source again
(I guess MS have finally managed to kill open source)
so we'll see :)
The easier it is to produce code, the more code will be produced. The more code is produced, the more complex and short-sighted the architecture will be as a result.
This is much older than AI. You can take a one-person task that takes two weeks to perform, assign it to a five person team, and they'll solve it by producing 25 times the code.
We create abstractions to cope with the noise of a large code base, but in doing so, we also create a noisier and more complex code base that needs more abstractions.