I hope this is true. I would like to have a job again.
It’s true, although the smart companies aren’t laying off workers in the first place, because they’re treating AI as a tool to enhance their productivity rather than a tool to replace them.
I don’t know if it even helps with productivity that much. A lot of bosses think developers’ entire job is just churning out code when it’s actually like 50% coding and 50% listening to stakeholders, planning, collaborating with designers, etc. I mean, it’s fine for a quick Python script or whatever but that might save an experienced developer 20 minutes max.
And if you “write” me an email using Chat GPT and I just read a summary, what is the fucking point? All the nuance is lost. Specialized A.I. is great! I’m all for it combing through giant astronomy data sets or protein folding and stuff like that. But I don’t know that I’ve seen generative A.I. without a specific focus increase productivity very much.
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.
AI as it exists today is only effective if used sparingly and cautiously by someone with domain knowledge who can identify the tasks (usually menial ones) that don’t need a human touch.
The biggest point is that you must be an expert in the field you are using it in. I rarely get fooled by hallucinations and stupid bugs because they are glaringly obvious to me. The best use case is having the llm write code for using a library that has poor documentation, that am going to use once, and I am too lazy to learn. These tools are scary when used by juniors, they are creating more work for everyone by using llms to code. I just imagine myself using this when I was a fresh grad, it is terrifying. It would have only been one step up from vibe coding.