As a senior developer, my most productive days are genuinely when I remove a lot of code. This might seem like negative productivity to a naive beancounter, but in fact this is my peak contribution to the software and the organization. Simplifying, optimizing, identifying what code is no longer needed, removing technical debt, improving maintainability, this is what requires most of my experience and skill and contextual knowledge to do safely and correctly. AI has no ability to do this in any meaningful way, and code bases filled with mostly AI generated code are bound to become an unmaintainable nightmare (which I will eventually be paid handsomely to fix, I suspect)
That’s what I suspect. ChatGPT is never wrong, and even if it doesn’t know, it knows and still answers something. I guess its no different for source code: always add, never delete.
Yesterday it tried to tell me Duration.TotalYears() and Number.IsNaN() were M functions in the first few interactions. I immediately called it out and for the first time ever, it doubled-down.
I think I’m at a level where, for most cases, what I ask of LLMs for coding is too advanced, else I just do it myself. This results in a very high counts of bullshit. But even for the most basic stuff, I have to take the time to read all of it and fix or optimise mistakes.
As a senior developer, my most productive days are genuinely when I remove a lot of code. This might seem like negative productivity to a naive beancounter, but in fact this is my peak contribution to the software and the organization. Simplifying, optimizing, identifying what code is no longer needed, removing technical debt, improving maintainability, this is what requires most of my experience and skill and contextual knowledge to do safely and correctly. AI has no ability to do this in any meaningful way, and code bases filled with mostly AI generated code are bound to become an unmaintainable nightmare (which I will eventually be paid handsomely to fix, I suspect)
That’s what I suspect. ChatGPT is never wrong, and even if it doesn’t know, it knows and still answers something. I guess its no different for source code: always add, never delete.
Yesterday it tried to tell me Duration.TotalYears() and Number.IsNaN() were M functions in the first few interactions. I immediately called it out and for the first time ever, it doubled-down.
I think I’m at a level where, for most cases, what I ask of LLMs for coding is too advanced, else I just do it myself. This results in a very high counts of bullshit. But even for the most basic stuff, I have to take the time to read all of it and fix or optimise mistakes.
Getting to deprecate legacy support… Yes please, let me get my eraser.
I find most tech debt resolution adds code though.