I can't speak for anyone else, but I find AI to be very effective. It can do nearly all coding tasks many OOMs faster than I can. And I'm able to get it to produce high-quality code in the process. Using AI, our codebase actually has less tech debt than any time I can remember. I would be less effective if I wasn't using AI and if I wasn't finding new ways to leverage it.
That doesn't mean I enjoy it using AI. I loved coding. I was really good at it! I spent decades honing my abilities, and while some of those skills are still applicable when working with AI, many are not.
I want my company to be successful, so I work as effectively as I can. Unfortunately, the most effective method of working no longer scratches the creative/craftsman itch that it used to.
Right now I'm mitigating it by taking up creative writing in the evenings. That's difficult and creative in a way that coding used to be. Identifying and solving character and story problems feels like debugging and designing used to. Learning to craft effective prose feels like it used to when I was picking up a new programming language and learning its idioms.
At least in my work, this is sort of like asking "If you don't enjoy CI/CD or the cloud, why not do without it?" It's becoming integrated into every process at this point.
And many employers now require you to code faster, which is only possible with AI tooling. They don't understand that coding faster isn't always better.
Is this related to what business your employer is in? In other words, is their business producing code, or is code written to support some other business?
Everywhere. Normally adding an extra endpoint to the REST API would take a sprint. Now PM expects you to do two. Only way to get that done is a lot of vibe-coding and delivering sub-par results.
I am amazed that anyone ever needed a "sprint" to "add an endpoint".
It usually speaks to the approach you are taking, but I also believe sprint-based planning leads development teams to make work fit into it instead of needing natural time to do it.
Let's remember that all of have probably built full systems over a weekend. What organizational dysfunction has led to us needing a sprint is what needs fixing.
Of course they do. Generally the end result from this is bad - reduced in scope, buggy, and/or unstable. But that's an issue with communication/expectations/management. It'll keep happening either because of politics or the fact that a sub-par deliverable still meets the needs of the overall organization. Until it doesn't.
While the tinkerer in me would love to, the pragmatic side of me cannot ignore the speed boost, specially for prototyping programs.
If I write everything by hand, I know I'm leaving velocity or quality on the table. If I use LLMs, I can eventually get good output from it, either by going faster with moderate quality, or by going slower and focusing on better code. But that makes me hate the whole development process. I enjoyed modeling a problem with types and, writing functions that work on these types. Automating that process (either the cognitive work itself, or the typing work to bring ideas to life) takes away most of my fun.
As Eric Schluntz from Anthropic put it (not verbatim):
If you're not using AI (I believe he was specifically referring to Vibe Coding), then you are the bottleneck.
That sounds like a good reason not to listen to Eric Schluntz, who both overestimates the ability of LLMs today, but also has a vested interest in it being so.
I am sure Anthropic is full of smart people who are making Claude work well for those who do not want to be vibe coding and who believe that's not productive either.
Yeah, because someone who is trying to sell you something would NEVER try to convince you that you can't possibly hope to compete without buying their product. /s
That doesn't mean I enjoy it using AI. I loved coding. I was really good at it! I spent decades honing my abilities, and while some of those skills are still applicable when working with AI, many are not.
I want my company to be successful, so I work as effectively as I can. Unfortunately, the most effective method of working no longer scratches the creative/craftsman itch that it used to.
Right now I'm mitigating it by taking up creative writing in the evenings. That's difficult and creative in a way that coding used to be. Identifying and solving character and story problems feels like debugging and designing used to. Learning to craft effective prose feels like it used to when I was picking up a new programming language and learning its idioms.