Hacker News new | ask | show | jobs
by masijo 54 days ago
AI has automated my favorite part of the job: coding.

Gone is all the experience in clean code, good idioms, etc. All replaced by easily generated shitty code that can be removed and generated again as we please, until it works. No thought about the quality of code itself. Some companies are straight up forcing programmers to live in Claude Code and never even see the code, just write the spec.

It’s disgusting. And the worst part is that you can’t opt-out. If you give even the slightest hint that you don’t like AI you’re seen as a Luddite and you’ll be put next in line for the upcoming layoff.

5 comments

I think you do a good job capturing an actual microcosm of the real problems here at an emotional level - why people "hate" it.

(a) loss of fulfillment (b) lower quality of output and nobody will care so the world will just "degrade" and (c) a perceived lack of autonomy ("forcing", "you can't opt out") around how adoption itself is executed

(d) making you feel like an idiot because you care about the craft and intimate knowledge of the software you're working on
This is surprising to me because I found that I am able to invest even more of my time in considering the good abstractions and idioms that I want to employ for a particular problem, and now most of my day is spent in discussing patterns and architecture rather than what brackets I have left to close.

Although, full disclosure: I have quibbled with Gemini quite a bit over the trailing comma, which clutters the diff, and buries the lede at code review.

But it's been very gratifying to refer to modules entirely by their role in a given design pattern (eg "driven adapter") and be understood. To define the idiom, and see it adhered to.

But am I operating still at too low a level? Would I be penalized, at these "some companies" for not producing shitty code?

Ah, but in my particularly forward-deployed line, there's always an element of showmanship compelling me to write demonstrable code.

But, also, how can I specify the behavior if I can't name the component? Is it really possible to "vibe" code à sophisticated piece of software entirely from the user's domain terminology? Without any intermediate abstractions in mind? Inconceivable, frankly. There are invisible walls, invisible shapes beneath the surface.

Then again, I'm young enough to have never allocated memory manually in my professional life.

A programmer thinks and directly engages ("works with their hands") at many abstraction layers at once. You must admit the scope of this has been dramatically reduced. You may personally love one of those abstraction layers so much that you can be happy without the others, and without even the hands-on half of the one layer you love. Many people aren't so lucky.
I've experienced myself that even if you explain to your AI-loving boss in a well reasoned manner that an LLM is not the right tool for the job he wants you to use it for, you simply get labeled as anti tech and your chances of advancement plummet (he was explicit about that). But I still do it, because dammit I'm still a human with a brain. The thought of being a corporate drone who just falls in line with any demand no matter how asinine is worse than the thought of being unemployed.
In my observation, this is becoming more common over time.

The "boss" is often not a promoted engineer, but an MBA brought in to "manage" engineers.

Engineering is where idealism hits reality, and the increasingly undisciplined cronies who "manage" us don't like hearing that their idea is incompatible with physics.

We are subject matter experts who are burdened with responsibility but denied agency and authority in our area of expertise.

Just because tractors are here doesn't mean you can't garden as a hobby. I'm also tired of the slop, but this is a culture and management problem. Every software job I've had there was tension between speed and maintainability.
Many (most?) adults do not have time to write an appreciable amount of software outside their jobs. Further, this doesn't address the enormous impact that losing the option of doing something you find engaging and don't hate for a job has on mental wellbeing, life satisfaction, just being happy at all, etc.
We can have 2 out of 3:

* artisanal, handmade products

* affordable products, not just for the rich

* well-paid workers

This was true of clothing, agriculture, and will also be true of SaaS. I choose affordable products and well-paid workers, but that requires embracing automation.

Are you claiming that software is unaffordable? I get the sense that it was so cheap people were unhappy with how much was shoved into places where it was unwanted.
custom software has traditionally been out of reach for everyone but large enterprises who can afford to pay 7-8 figure checks
Wow, this comments exhibits a stunningly anemic appreciation for human dignity and self-determination.
> It’s disgusting. And the worst part is that you can’t opt-out. If you give even the slightest hint that you don’t like AI you’re seen as a Luddite and you’ll be put next in line for the upcoming layoff.

So we found something much worse than crypto.

You can opt-out of crypto, but you cannot opt-out of AI and have no choice but to participate.