> In all sincerity, what do you mean by wholly unpleasant?
“Wholly” was too strong a word now that I think about it.
But I’ll give two main things I find unpleasant.
One: Normally I like working with other people. There is nothing more satisfying than collaborating on a complex problem with smart and conscientious colleagues. However, the bad experiences are now amplified:
- a random colleague gets sent down a wild gooose chase of an LLM claiming there is an issue with something I wrote. It’s a full blown hallucination because it found a confluence page which mentioned me and just decided to connect things together.
- another colleague is suddenly empowered with being able to vibe code websites and is now copying and pasting my replies into an LLM and pasting the LLM back at me over Slack.
- a colleague gives a quick drive by vibe coded PR to add a feature into something I own. It reimplements the same business logic that is already done elsewhere. It takes me more energy to explain all this than just do it myself.
There are dozens more examples. In isolation I can shrug each of these off, but it’s draining. Large organisations have become more “agile” with local optimisations and missing the bigger picture.
Two: while I agree that everything is getting done faster and I do get satisfaction out of that, I’m a deep in the weeds technical person. I don’t have it in me to be a big picture person or a people leader. I love having to think about algorithms, data structures, schemas, etc. While I can use AI has a pair programmer, it’s doing a lot of the thinking for me and it’s usually faster. So yes it makes me a better engineer, no I don’t enjoy not thinking as much. I don’t enjoy shifting solely to a higher level of abstraction. Maybe that makes me a bad engineer, but I cannot change how I feel about it.
That is understandable. It’s bad enough dealing with vibe slop that you personally asked for, I can barely imagine how bad it would be having to disentangle vibe slop when you weren’t even the one writing the prompts.
I strictly avoid allowing AI to change the level of abstraction I program in. Defining and orchestrating the architecture of an application is the most fun part anyway — quite apart from being the most important when others are touching your code, whether meat bags or LLMs.