204 comments
Yes coorporate “ship as fast as possible” is draining, but that doesn’t mean LLC coding isn’t also to blame.
The difference between corporate salaried programming and freelance programming is who is on the hook in a direct sense for the bug the LLM introduced, or for maintaining the massive pile of code or the cognitive burden of ownership.
My experience of freelancing is that most of the people I am competing against for the work care less about the code (and things like quality, security, appropriateness, user burden), are faster, are happy to nickle-and-dime the bill, will charge more to fix their own bugs, churn out meaningless requirements specs that they cannot stick to, and rely on lack of client knowledge to get through.
So there has always been a problem of competing against the slapdash; they always win the quote. I care about longer-term maintainability, cost control and quality, and I lose out because of it. (I'm often asked to maintain or finish the work of people who beat me to the quote and then failed; nowadays I say no.)
The problem is, those people now use LLMs. For the immediate future, LLMs may actually be improving their output, certainly at the prototype stage, and they will now be including one-shot, vibe-coded demos with their quotes.
So what is a freelancer who still has a sense of ethics to do?
The long bet is that those people who do not care for quality will still be disappointing their clients, but how do you avoid using LLMs while still getting, at least, back to where you were in competing with them?
For example, I collaborated together with an agency that was working on a popular regional banking app. I was on another project with them and at one point decided to check out what they were doing.
It was a clusterfuck, to say the least. Four developers, four different architectures in the same codebase. One doesn't really understand the others, so he just sticks to his part.
The seams between the ownership parts are full of hacks. Concurrency issues are dealt with via hacks, just make things global and poll to check them. Navigation issues were solved by basically just reseting the app back to homescreen. Testing wasn't really a thing, and the tests that were there were mostly broken ages ago, and nobody cared enough to fix them.
Product didn't care much, designers would prototype a feature, then devs would implement it and wait until the backend is done, then fix things because they never really aligned on the specs. Sometimes, there would be no design review or QA and they would just ship, while sometimes the product person would jump in and test something because it's "an important feature".
Then I got asked to collab with them on another project. Huge customer, huge project, existing codebase. The codebase was so bad I just wrote it from scratch. It was Java written like it's C++. Backend was python code, not updated in years, quadratic scaling everywhere. At one point, the inital GET request was taking over 3 minutes. I took a look and ofc, they didn't even use indexes in the DB.
For these environments, AI coding will just scale up the shit they have, but also allow the small amount of people who might care to deal with this mess and fix it up much much faster than they could before.
I think in these contexts AI has an overall positive effect, because it's a bit like having a competent developer that can solve technical debt, albeit in a narrow form.
So I think that software will be better in a certain way due to AI, because even a terrible developer can ask AI to identify the bottlenecks and solve them.
The downside of blindly using AI in software development is that the software becomes poorly defined. AI-generated logic can be arbitrary, and as the codebase grows, more rules and assumptions become unclear.
If you're looking for a decent job with even an ounce of creativity then an agency/consultancy shop is rarely the place you want to be and I can't see it getting any better.
We went heavy on AI at my place of work, like many did, but not really to the level of being AI-pilled and orchestrating dozens of agents and shit like that. It's still a force multiplier if you just use AI to walk through something one task at a time and use the spare time in between to collaborate on bigger picture stuff and think a bit beyond the code alone.
And in our twice-yearly self-improvement reports, we have to write how we can use AI further. To reach grade 4/4, you need to "trust" the AI.
Before you used to sometimes having more tech savy customers put out a VB or Delphi click demo over an weekend kind of effort, and then complain why is the delivery so expensive.
Now they do the same with AI agents.
And then people still think their developer jobs are safe.
From my experience, most developers are actually very anxious and scared about their future.
This is all going to end very badly--or very well, if you understand this basic rule of markets, which many managerial types don't.
On one hand you have AI enthusiasts who are shipping more than they ever have, they are super excited about being able to use the models and build everything they've ever wanted to. Utopia, amazing.
The other side is this complete, absolute disconnect from the job function, absolute dissatisfaction, empty feeling where the whole world is burning.
The burnouts are employees who are being asked to produce 10x the output, do their own project management, design, QA, devops, customer development, work long hours to make up for the gap in how much executives think AI boosts productivity and how much it actually does, and for 0.05% equity at best.
In my day job I have 30 different instances of the coding agent all running simultaneously and it is still not enough to do all that is asked, while simultaneously doing all of the human interaction and do things previously delegated to the project managers they fired. Everything gets shipped half finished before being put on the next hot thing.
You can't ship faster than you can comprehend, unless you stop caring about comprehension.
Up until the last year the best developers were generally those who valued comprehension and wanted to really understand the libraries, code and infrastructure of their projects because that comprehension was what led to quality software.
Those who didn't care tended to ship buggy crap and weren't great devs.
In my experience those who didn't really care about deeply understanding the systems they were working on are loving AI. But those who did care are now literally unable comprehend the state of the codebase and are being forced to work in a way that's extremely unnatural to them.
I say this because I've personally struggled with this over the last year as I've was one of those people who spent a lot of time building comprehensive mental models for the systems I worked on. Now I just assume the AI understands and just do what I need to do to get whatever functionality I'm working on over the line. I don't like it and I've lost all technical interest in coding at this point, but it is what it is ultimately. Coding is no longer about comprehension, it's just about asking Claude to do something.
That is the best thing I’ve read on this topic in a while.
Of course you can. "You can't ship a nuclear aircraft carrier because no one human comprehends it all." Again, obviously wrong. Humans have been shipping systems that no one person understands for a long time. If it all had to fit in one human's brain, it would quickly stunt the growth of civilization.
The fact that AI agents are really fast at generating code suddenly moves the bottleneck to the review step. The fact that AI agents are great at attacking computer systems moves the bottleneck to log analysis and triage. Neither of these are going to block forward progress for long. AI agents have to be reading the logs, because there are not enough human eyeballs to keep up. AI agents will be reviewing code soon enough, and they already are in high performing organizations.
... or never started caring about comprehension. In which case you are primary audience for the con trick of so-called AI.
Entrepreneurs currently are in heaven, and tinkerers are in hell.
I just one shot a plugin for my wife's sketchup(the ability to easily export 2D from sketchup) in Ruby. I don't even know what Ruby looks like.
Simultaneously, I am fine tuning my mail setup(FreeBSD/postfix/dovecot/OpenDKIM/etc) using ChatGPT and Claude.
I set it up long before these AI things was a thing... But I am loving that I can take my rickety server held together by duct tape(though I had done things "right") STRONG, simply because it frees me from tedious, tedious shell scripting. I can focus my energy on that fun shit, not trying to remember the shell dialect I am currently employing...
AI lets me flesh out both hardware and software side projects quickly that I never had time for. Most of them are experiments that won't be shared.
It's nice to have Codex/Claude whip up an SPI DMA driver while I'm doing something more fun, for example.
I consider myself a professional. I lean towards understanding problems, making sure that they're fixed once and for all, and being able to foresee issues that the users will encounter and that product cannot see. And while I enjoy coding, code is secondary to all this. Yet I'm in Hell.
We're losing our ability (and time) to understand problems, we prefer churning out patches fast than actually fixing them, we delegate meaningful choices to an AI that has no ability to predict issues, we remove the opportunity to review and we end up leaving testing to the end user. As far as I can judge, we have stopped building products and are now shipping glorified demos.
Also, I can't speak for other products, but on the type of features I work on, AI is blatantly incompetent, but our C-suite just refuses to believe it, assuring us that it's just us having difficulties with the transition.
The same comparison could be said the other way around: there are entrepreneurs, who care deeply about the product, inside and out; and scammers, who don’t care about the problem itself or the beauty of a a neat solution, but only the sales of the end product.
Entrepreneurs currently are in hell, and a scammers are in heaven.
I don’t think either is more apt or more offensive, they just appeal to whichever side of the fence your on.
I think we are seeing bloat accelerating and the boom will eventually go bust.
My hope is that from the ashes of the current boom/bust cycle we might actually get "software engineering" once the dust settles and society catches up with technology in terms of culture, regulations, education etc.
Software engineering as we knew it is not coming back, except maybe for very niche fields and your own crafting.
Many other engineering fields have experienced this change long ago, where the majority of the "craft" is done by algorithms. Think chip design, aerospace, automotive, structural engineering, material design.
Their engineering is now focused on higher level design (and even that, less in some cases), and verification.
Programmers are not a special species, immune from this trend. Heck, we are the ones who did it to the other fields, and so it is quite amusing that we're not crying when it is our turn.
But the damage that LLMs have done to the social aspect of work is horrible. Beyond horrible.
I get that there’s cognitive debt. Some just seem to never even pay interest or get a basic understanding of the domain model.
My suspicion is that these people were always lazy programmers, but now they can take the laziness to a point where, after weeks of working on a project, they don’t get the basic vocabulary right.
I just want to say: #notallvibecoders
Read the full thread on Hacker News →
Related stories
- I_am_done_with_this_shitreddit.comHacker News · 2 points · 9 days ago
- The Verge · 0 points · 9 days ago
- Geometric Type Theory, Done Two Waystopos.instituteHacker News · 4 points · 6 days ago
- When Is Software Done?mooreds.comHacker News · 2 points · 10 days ago
- Well-done hack flames 3.2M Burger King Russia userstheregister.comHacker News · 1 points · 8 days ago
- Show HN: Kosh – Browser's native bookmark manager ui, done rightchromewebstore.google.comHacker News · 3 points · 6 days ago