Hacker News new | ask | show | jobs
by simondotau 11 days ago
In all sincerity, what do you mean by wholly unpleasant?

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.

4 comments

> 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.

Your examples indicate that you're working with unproductive people.

The truth may just be that you're wasting time and energy engaging with a non-productive coworker's poor outputs.

Which is the case for probably 90% or more of the companies/offices/situations. There are ALWAYS going to be non-productive people, or people that are less productive than you. And guess what, that is OK. We learn to live with them, to work with them, and we make the best out of it.

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 think the tool itself might be at fault.

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.

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.

> Skip the vibe coding, just let AI be a helper.

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.

> 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.

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.

Please see my other sibling comment reply, the analogy is about how LLMs will be used rather than what they are.
I'm with you up to the point where you compare AI to CNC, because AI is the polar opposite of a CNC machine. People wouldn't have nearly as much of a problem with it if that were the case.
The analogy is about business impact, I understand CNC and LLMs quite well and realise they are not the same technology.

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.

the people I know who hate AI have a bizarre and unrelatable love for the pure math aspect of software engineering - the elegant software architecture, the efficient programming languages. the people who only care about getting stuff done are loving AI but people who spent their life learning how to properly craft high quality software are weeping - as they should be - now they know how kasparov felt
There is room in this world for Mcdonalds and Michelin Chefs.

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.

that is so true in fact I have only heard a few people say that actually, most say it more in theory than practice. Because in practice I have always been asked to solve pretty simple and boring problems far removed from the Dijkstra algorithms i did in college. i never used a graph data structure in my entire life lol
AI as helper is basically a better google search, which is not much different than what we did before AI (copy paste from stack overflow)
That’s not been my experience. Not even remotely like that. I was never much of a stack overflow block copier. AI lets me do rapid refactoring without messy search and replace. AI lets me rip through logical pinch points without pulling out a whiteboard. And I couldn’t have ever “stack overflowed” my way to diving into a project in a brand new language.
> And I couldn’t have ever “stack overflowed” my way to diving into a project in a brand new language.

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.

I wish I had that kind of effortless motivation.

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.)

> I wish I had that kind of effortless motivation.

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.