25 years in my case, by the way, and I have found this to be the most liberating and creativity-boosting period of my career. And it’s not even close. I’ve written code in more languages in the past few years than in any other period. I’m finishing more projects than ever before. I’m learning faster than ever before. I’m enjoying programming more than ever before.
And to be clear, I don’t use AI for anything other than as a pair programming partner, or to build single-use scripts. I agree that full-blindfold vibe coding is unpleasant, it’s like getting into a debate with a forgetful and emotionless monkey paw. Skip the vibe coding, just let AI be a helper.
“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.
The truth may just be that you're wasting time and energy engaging with a non-productive coworker's poor outputs.
If a new tool makes you classify as "unworthy to worth with" a really high percentage of humans in a really high percentage of situations for not being up to your standard, so you can be a bit more productive, I think the tool itself might be at fault.
AI has made me more productive, yes. I can also see myself start loathing the job I used to love, and hating the people interactions that I used to like. I would trade my extra productivity anytime.
I don't think so. I don't think it's about being "unworthy to work with" (your quote not mine).
I think the uncomfortable truth is that AI is making it harder for all of us to prove that we're productive.
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.
This I think will explain the differences in experience in industry. As pressures increase, control and power moves away from developers who have historically had a pretty strong position to dictate how they work.
Not everyone is going to be able to use AI as just a tool. The reality I have seen is that AI has sped the time-to-pr up for those who don't care what they ship, so that gets baked into estimates and expectations.
Eventually those working carefully with AI will be like the carpenter still using hand tools while the shop is operating CNC machines. The business can't afford the craftsmanship, no matter how right the craftsman is to point out that their work is better.
This is why I love AI as an enabler for myself personally, but still think it's going to ruin the experience of being in the industry.
> Eventually those working carefully with AI will be like the carpenter still using hand tools while the shop is operating CNC machines. The business can't afford the craftsmanship, no matter how right the craftsman is to point out that their work is better.
The analogy doesn't work. CNC machines can be faster and better than a guy with hand tools. AI isn't like that.
What you need is some other race-to-the-bottom situation, because that's what AI is.
At some point LLMs will be used like CNC machines. Prompt in, output shipped to the customer after minimum wage QC oops a sticker on it.
I would also take your comment with a grain of salt. If the people you are talking about are javascript developers or people who do leetcode in interviews but never write that kind of code on the job, they are probably delusional. Ive seen many people call it a “craft” and what they produce is nothing of the sort.
If you really are good, you’ll still be in demand where it matters.
It's a very tiny project, but I dived straight into a new project in a new language completely by hand this month, precisely because I'm miserable and exhausted from my job requiring me to drive a bullshit machine instead of solving problems by thinking.
Getting a few minutes in the evening to actually program, and learn new things as I do it, has been crucial to maintaining any sanity at all in this brave new world of unending heaps of slop.
Learning any language involves internalising a massive pile of arbitrary syntax / core library knowledge. I find it flow-destroying and demotivating to be continually hampered by having to look up silly little things like how to get the length of a string, or how to work with dates. Being able to use AI to instantly turn a line of pseudo-code into a line of real code is not just great for productivity, it teaches me the language faster than any way I've experienced before.
My pre-AI coding style has always been to write terse pseudo-code first, just so I can map out core logic, what I'm iterating over, and what the meat of the routine will do. I formatted this pseudo-code as comments, and then treat them like headers, where I write the real code underneath. AI tab completion has made this way of coding insanely more productive, and gives me an incentive to write better pseudo.
(I also don't mind getting AI to write a whole page at a time, especially when it's a slab of uncreative boilerplate or glue code. AI routinely does a perfect job of smashing that out. But I will always pick through it line by line, renaming and rewriting in my personal style.)
It is definitely not effortless - it's a battle. https://en.wikipedia.org/wiki/The_War_of_Art_(book)
Over the decades, it's become one I love, and I can see how the struggle has helped me become a better musician, writer, programmer, and person.
Being compelled to use genAI by my employers has largely removed that struggle from my day-to-day, and I hate it passionately.
The replacement of careful thought and fighting to create something compact, elegant, and robust with reading thousands of lines of mediocre generated code, slogging through page after page of uninspired just-good-enough dreck in order to catch the LLM's inevitable moments of absolute failure is mind-deadening and tedious.
I am figuring out what other careers I can swap to if this becomes the new normal.
Vs ordering delivery.
Cooking for you and your friends is satisfying as a craft and labor of love, as well as being experience. There is enjoyment to be gained from the process.
Compared to delivery, You may get the food quicker/easier. But for most people who cook it was never about that. There are certain people that enjoy generating as much food as possible. Some might call that gluttony or greed, over-indulgence, or in it for the wrong reasons. Perhaps these two groups of people have fundamentally different motivations. Try telling a chef that he should stop cooking and just order the food as delivery.