I'm sorry, but you still have to think (itsallaboutthebit.com)
273 points by drogus 7 hours ago
variety8675 4 hours ago
This article just reminds me that workslop is so hard to counter because it takes no effort to produce and immense effort to debunk
jamienk 4 hours ago
The focus on "code" is sometimes too strong. This isn't just a code/quant issue. All of this applies too to any "answer" the LLM gives. Experts very often track their lineage - what teachers they had - because the details and slant of what they were taught guided their way of thinking and defined the "handle" they use to grab a problem. There is no "right way" to do most things - there are ways of approaching. Imagining that you are free-flowing and not in a channel is a rookie mistake! Encouraging this way of thinking is like the uptight enforcer of minor social mores: "Elbows!" no elbows on the table is how things are done and this is reified. Like you said "it takes no effort to produce and immense effort to debunk" and sometimes the stakes are high. I'm convinced that racism, for example, operates exactly like this: 0 friction go-with-the-flow insist it is natural...
pixl97 4 hours ago
rzzzt 3 hours ago
Mark Twain is halfway around the world before Brandolini puts on his shoes.
jayd16 2 hours ago
Make it clear that workslop is produced by the human committer and not the Claude. The human has a reputation and this is hurting that reputation.
You can do this in a professional way but still get the point across that they're stealing productivity from others that have to pull up their slack.
If the commits are too big or too dense. Make them break it up, clean up the comments etc. Otherwise they are simply doing a poor job. Not Claude, them.
geraneum 3 minutes ago
> Not Claude, them.
Can’t have the cake and eat it too.
If they “solve” navier stokes and mathematics, they sure as should be able figure such menial tasks out on their own, shouldn’t they?
xgulfie an hour ago
Sorry the corporate initiative is to use AI for that
gumby 10 minutes ago
chmod775 3 hours ago
This is why the adverse reaction must be proportional to the effort required to counter the destructive behavior. It must be strongly discouraged.
One of the worst things you can do is pull punches when you get "contributions" that are net-negative because they waste everyone's time.
ctkhn 3 hours ago
That's very hard to do in a work environment where you have someone above you who doesn't understand or care about this. Instead of keeping things sane so they can run smoothly, you will be seen as slowing down progress.
chmod775 3 hours ago
CoolestBeans 4 hours ago
If AI does anything, it amplifies asymmetries. Hacking, scamming, reducing code quality... its really good at making defending against those hard problems even harder.
treetalker 4 hours ago
The Bullshit Asymmetry Principle, a/k/a Brandolini’s Law: “the amount of energy needed to refute bullshit is an order of magnitude bigger than that needed to produce it".
plasticchris 3 hours ago
Illuminati propaganda!
MacZentra 3 hours ago
Aurornis 3 hours ago
My strategy is to skim the workshop to find suspicious sections, then prioritize debunking at least one part that makes the creator look bad.
Then respond with that addressed, with a firm but polite explanation that the document has some problems that need to be addressed carefully before we invest time on it.
None of this works if it’s coming from your boss, but it’s very effective at making people think twice before sending you slop.
People only do the workslop thing when they believe the benefits of showing the work outweigh the reputational risks. If they get caught every time they do it and exposed on an email chain, they start doing less.
OptionOfT 3 hours ago
Sadly not my experience. When I give this kind of feedback on a document, highlight a gap, or give constructive feedback, most of the time this feedback is fed back to the AI and a new revision of the document shows up.
BUT because it is AI it's not that section that's addressed, it's about 90% of the document that now has changed, and I need to spend another gargantuan effort to review it. It's like by trying to be helpful I actually lose more time.
The AI has made it so that the thinking before writing is mostly gone, and shifted that step to the reviewers.
saltcured 3 hours ago
manmal an hour ago
intended 2 hours ago
newCrotchSmell an hour ago
This is about computer code. Debunking is either "it runs or doesn't". Not hard.
Presentation layer code doesn't control how the machine and kernel prioritize anything; so "proof" Ruby code is doing the right thing is proving the machine does the right thing from the factory.
As for abstract theory and math, well shit since any English and any math are...mathematically possible...well shit I guess we gonna have to live in the real world and not inside a rhetorical bubble; religious or atheist philosophy... cause they are not evenly distributed frameworks as religion clearly shows; so why live by the syntax and semantics of some mathematical rando who taught a stats class years ago?
Same shit as living by religious allegory
Goodhart's Law has come for 1900s means of scientific inquiry; every technology follows an S-curve and the same for every social society. In the US we aren't all defaulting to calling ourselves British or speaking Latin.
Physics will always be there. The stupid glyphs and bird song we came up with to communicate about it isn't physics. It's just a human language system.
shiandow 3 hours ago
Honestly the mere possibility is undermining my trust in my colleagues.
userbinator 29 minutes ago
Most of this article went over my head, but I think this is key point:
if your prompt is not specific enough, many decisions are a coin flip.
If you are using AI, you still have to know what you want it to do. If you are a project manager and give your team incomplete requirements, the result may not be unlike this.
discreteevent 4 hours ago
It's worth noting that the context here is a system that was translated by an LLM which is the ideal use case for it. 90% of the thinking had already been done by developers of the existing system.
ionetan 3 hours ago
Yeah, I think most success stories in AI seem to come from ports, or from projects where a deliberate architecture has been laid by humans who understand it, and AI is sprinkling features on top. Adding features and drivers to a Linux distro seems like one of those places where AI is uniquely well positioned to bring value, because the foundation has already been laid. I wrote a post the other day on how agentic code still needs this kind of architectural foundation to not end up in a tangled mess. It might interest someone: https://ljtn.github.io/epiq/blog/the-soft-fabric-of-agentic-...
amelius 3 hours ago
LLMs are great at translation. That's why language translators were among the first professionals losing their jobs to AI.
tripleee an hour ago
anecdotally this has been a huge help for my projects. I'm seeing AI one-shot porting from one library/framework to another with very minimal handholding. It used to be that these decisions needed to be thought through a lot because they were hard to change later on
plasticchris 3 hours ago
It's foundations all the way down. The difference is people have reality as our reinforcement learning environment.
Schiendelman 4 hours ago
That's a really great point, and you can often start with documenting current behavior with tests and then carefully going through to figure out what bugs you've just enshrined in test cases…
throwaway2836 3 hours ago
“Ideal use case” such a wild take. The “10%” (assuming you mean all the issues pointed out in the article) are the things that take the most time and effort to do (or fix now), which you can’t do without understanding and fixing the “90%” of “translation”.
PKop 2 hours ago
You simply pointed out that challenges remain in what the other poster said is otherwise the ideal use case, which was his point. What is the ideal use case in your opinion, since you disagree?
Fr0styMatt88 36 minutes ago
Yep AI will just invent the missing stuff; that's not purely an AI thing, we do the same as well until we become experienced enough to know what questions to ask in order to narrow down vague requirements.
If I'm tired, yep I'm going to write more sloppy code, I'll put less thought into it and be more tempted to tell the AI 'just do it'. That hasn't changed. I'm not sure where this new breed of "don't read the code" is coming from when it's actual software engineers making the statement; maybe it's just over-excitement and it'll die down (hopefully).
Or it's just over-simplification -- I don't read ALL the code either anymore, but at the same time I'm reading SOME of the code. Tell your AI agent you're doing a code review workshop, ask it to select ten files at random and then go through them with you one at a time. Ask it to review common anti-patterns and put them in your coding standard. Then you can start asking it to review and fix code against your standard as a first pass. You'll still need to manually review the code to keep it in check, but at least you can make it a bit less daunting and a little more fun by actively collaborating on the AI with the review.
I'm learning it's just a 'different kind of tired'. AI has made some stuff much more efficient, including the choice between efficiency and carefulness. You can make that choice at a micro level and very quickly now if you want. There's still fatigue though, it's just a different kind of fatigue. You still get tired from all the thinking. You can still choose to put the work in or not and it still makes a difference. It's just a different kind of difficult. Doesn't mean that the thing to do is to throw your hands in the air and declare that your job shouldn't be difficult or include hard work anymore.
Ozzie_osman 4 hours ago
You need to understand the system you're working on enough to make well-informed decisions about its current and future states.
In some cases you can get away with not reading the code. And maybe in the future that will be more common. But for now, I personally prefer to read (or skim) the code, and not abdicate to AI.
adventure331 2 hours ago
Yes I agree thinking is still needed off course, but it has never been easier to ship 'half baked' things that don't actually matter and just works. What I mean is, if something has little proven business value, why waste time making sure it is correctly implemented? I'd rather spend time thinking about things that has actual proven business value, otherwise I'm not opposed to shipping something that I understand only 60 or 70% and save energy. ie: how it works at a high level.
If we are going to the moon, then by all means I think we should probably scrutinize every single line of code, but most business aren't going to the moon.
wdr1 32 minutes ago
All of this "you need to understand the code" discussion reminds me of when I was an undergrad. I worked in a computer with someone a fair bit older -- they had even worked with punchcard systems. He was always happy to oblige us with war stories from the olden times & we would lap them up.
He favorite axe to grind was how my generation put too much trust into the compiler. "Just because it compiles doesn't mean you're done. You need to look at the actual assembly. Compilers can be VERY inefficient."
This was in the 90s. There was some merit to his claim.
But today? How many people who write Javascript look at the actual assembly code that is run? Not many.
I can't help but wonder if this current "you need to understand the code" is the same thing all over again. And if in a few years, almost nobody will look at the generated Python, Ruby, etc.
rootusrootus 27 minutes ago
A compiler is far more deterministic than any LLM. I am skeptical that the two situations are really comparable.
cyclopeanutopia 6 minutes ago
> But today? How many people who write Javascript look at the actual assembly code that is run? Not many.
They don't look but they should.
facundo_olano 16 minutes ago
> If you want a reliable system you should know when to fail
I think the main problem is that most people pushing for heavy AI delegation either
1. Don’t really care about system reliability or 2. Don’t understand the difference between code and system, and assume that a system must be reliable if some automated checks pass
lordnacho an hour ago
It's not clear how the re-writes were done.
If it were me, I would start by getting a summary of what problems the existing solution solves. I would also make sure that summary had the non-functional requirement. Maybe write a test suite that opens the page and does all the stuff.
Then ask the LLM to implement in another language, with those solutions in mind, but first coming up with reasons why the target language might not be as good, and where it might have useful features that the original language didn't. Use the test suite to check if things are working.
I honestly don't think you would land far away. You would have to answer a few questions along the way, but it would mostly be plain sailing.
I would expect to be able to do this with very little human attention, whereas a language rewrite two years ago might take a whole month, not including learning the new language.
as1mov 4 hours ago
I dread for the future where "you have to think" is considered a controversial statement.
rubyfan 4 hours ago
It’s not the future.
yuhmahp 4 hours ago
> "as soon as we started thinking for you it really became our civilization"
remember this timeless Agent Smith quote
zelphirkalt 4 hours ago
moffkalast 3 hours ago
pixl97 4 hours ago
Thinking is expensive. A lot of people try to avoid it for that reason.
godwinson__4-8 2 hours ago
deadbabe 4 hours ago
At work, all thinking has basically become discouraged.
If you are not using AI agents for everything, you're doing something wrong, and wasting company time. It has been emphasized that no one should be writing code by hand and if you think an AI has implemented something wrong you need solid reasoning to show why or else people just label you as some anti-AI troublemaker, who just becomes an obstacle standing in the way of things getting done.
If your human generated opinion is in any way wrong or simply not a true homerun then you get snubbed in future reviews, people stop listening to you.
hyperpape 4 hours ago
> and if you think an AI has implemented something wrong you need solid reasoning to show why or else people just label you as some anti-AI troublemaker,
I'm going to read you charitably, and assume that what you really meant is "the burden of proof is entirely on you, and is set unreasonably high." Because of course, if you do think someone has done something wrong and want to say it publicly, you do need a solid reason.
ThunderSizzle 4 hours ago
I'm probably one of the heavier AI users for agentic workflows. I'm really enjoying it.
However, it doesn't take away the concern of architecture, design, etc. and questioning if the current solution is well designed or not.
In other words, if you can't question the AI and refute it in a topic, you aren't expert enough to use AI in that area in a engineering manner.
Granted, not everything needs an engineer behind it. A shack to store some tools will survive long enough probably
vorticalbox 4 hours ago
Schiendelman 4 hours ago
j4yav 3 hours ago
God help me, my manager (product director) has taken this approach for product strategy docs. Everything has become very stupid and extremely shallow. It’s easier than ever to coast, but man.. that’s not really what I wanted.
as1mov 3 hours ago
Huh, I don't use AI much/or at all anywhere, apart from googling something and reading the Gemini answer before scrolling down, without facing any backlash. Though people are more likely to discuss and brainstorm their work/problems with me because of this, which I consider a positive. Maybe I've been lucky at where I work.
That is if I ignore the slop MRs with 60+ files changed that I have to painstakingly go through and then politely tell the author to fix the crater sized holes in it, while a vein in my forehead almost explodes. And some part of my sanity is lost forever.
pphysch 3 hours ago
Free-thinking, critical thinking, has been considered taboo, or an exclusive privilege of the elite, in most human societies since the dawn of civilization.
dvh 3 hours ago
You know who else was thinking? Hitler!
nicfio 2 hours ago
LLMs produce code faster than humans are able to check it. Today's systems are able to generate thousands of lines of code per day, no human team would be able to keep up with them. The problem, in my opinion, is the way LLMs are used. An LLM reasons and makes mistakes according to the logic it was created with, but different LLMs reason and make mistakes in different ways. I'll give an example: take 2 black boxes, each one with 2 inputs and 1 output. Inside, the boxes work in a different way: with the same inputs the outputs are different. The real key is to use the method of adversarial development: this reduces to a minimum (even if it doesn't eliminate completely) the possibility of errors. So to humans the task of checking the output, and to have quality output you need to spend, and a lot, at least 2 frontier LLMs. But the question is: is quality as a goal an expense or an investment?
sublinear 2 hours ago
"Quality", as you're referring to it, is often a strict requirement expected and enforced by regulation and contracts.
In the past, I could have just easily said that there's more code out there online than I could ever hope to write. There's simply no value in gluing that code together mindlessly or even probabilistically. All the value of code is in gluing it together intentionally as an organization. The value is in knowing the precise results including all side effects.
Let's call this type of AI development what it really is. It's an attempt to jiggle the wrong key in the door. You're trying to circumvent existing standards for profit and then launder blame for it.
stephbook 4 hours ago
With all these ports, I always wonder: Who implements new features, and in which code base?
It's easy to port a codebase (at least, if you have automated tests), but once you've done that, do you
- Implement features in the old code and port again?
- Implement them in the new, unfamiliar codebase?
- Just write a Jira ticket and let the agent YOLO it?
bocklund 2 hours ago
I'm struggling with this with an open source project I work on (that has users). I have a port that passes all the tests, but there's enough code that it's hard to review that the LLM didn't change implicit design decisions or implement things in an unmaintainble way. It not clear to me how to build confidence to switch over and implement new stuff and leave the old one behind.
tomrod 4 hours ago
Informative thought process here. Pre-committing benchmarks to measure real efficiency gains might have helped, but hands-off complex rewrites are still not shovel ready.
rob74 4 hours ago
> hands-off complex rewrites are still not shovel ready
...which is a bit disappointing, actually. I mean, if you give an AI agent the complete code for a working application (ideally including tests), it should be able to translate it into an equivalent application in another language. I can understand if it makes mistakes because of ambiguous or incomplete prompts etc., but for this task you shouldn't even need a prompt, any information it might need is right there in the code?
CoolestBeans 3 hours ago
Agreed. You would expect this to be a task that AI has a massive advantage over humans as it has both the testing suite to keep it on track and has the source implementation to reference. The classic failure case for agents is that as the task increases in complexity, it requires more steps to complete. With each step there's a chance for error. As errors accumulate, they become more likely. With verification functions, like test suites or comparison to some source, the agent is more likely to catch errors and recover.
So porting should be perfect conditions for an AI agent. It has the testing suite. It has the original implementation. Hell, it can A/B the original with its working copy and attach the original to a debugger.
So yeah I dunno. I guess despite some people's rhetoric on this site we shouldn't underestimate how difficult these tasks are "in the real world" (as opposed to like a game port which doesn't have real money on the line so far). And it is kind of a miracle these tools can even get in the ballpark and fool a lot of people.
softwaredoug 2 hours ago
These articles IMO suffer from good data. It seems we could probably at this point study open source projects longitudinally and see what we learn depending on their AI policies. Are there patterns in stability? Bugginess? Performance? Readability? Etc.
tiemster 3 hours ago
Or as someone in 2025 said..."it's better to be competent".
tediousgraffit1 an hour ago
came here looking for someone to point this out. the flip from "it's more fun to be competent" to "just let the machine do it for you" has told me everything I ever need to know about DHH. The man has no principles.
duncangh 3 hours ago
My preference is to not think, then act and then perpetually think about what I should have done instead
Waterluvian 2 hours ago
It’s easier to beg for forgiveness than figure out the right thing to do first. Unless you’re going to the moon.
Tractor8626 2 hours ago
I agree what you have to think. But example is kind bad.
We got strictly better version of application for cheap. What is there even to complain about?
dsjoerg an hour ago
When you read the article you’ll see it gives numerous examples. Eg “The Rust version doesn't maintain 100% backwards compatibility, for example it drops the CSRF token so that caching is easier”
tripleee 3 hours ago
My suspicion is DHH is intentionally creating controversy to drive interest to Omarchy
If he truly believed in the idea of never reading the code, he'd fire all his developers and have the designers do it all - create very high level feature descriptions and iterate on them. Put your money where your mouth is
easton 40 minutes ago
I think he said the agents couldn’t make features in their existing codebases as well as in new ones, so he needed devs to still work on Basecamp. Maybe that has changed.
tripleee 8 minutes ago
That would be very odd. Agents work better in codebases with established conventions
baobabKoodaa 2 hours ago
Don't give him any ideas
royal__ 2 hours ago
"If you looked at the code, and yeah, I know, we should not be reading code anymore"
I'm pretty sure this is sarcasm, but it's also a major factor in what differentiated slop from non-slop AI work: did a developer actually take the time to review and clean up generated code. Which is, itself, an extremely time consuming process
wuhhh 4 hours ago
Really appreciate the time taken to dig into this with solid improvements to boot, great work
titzer 34 minutes ago
The quality of anything is proportional to the time people spend paying attention to quality measures they care about. If you care about the quality of the code (and I am extremely bimodal about when I do and do not), then spending time looking at the code, whether said code is written by a clanker or a coworker, will lead to tinkering with and improving it. If you care about UI functionality, and you spend time tweaking the UI functionality, then it will get better. If you care about performance, and you spend time measuring, displaying, improving, it will get better.
Clanker code is no exception. Slop is slop because it's low effort.
There are projects I've put most of my career into (necessarily pre-AI), and those I definitely care about the code quality. I look at every line and I don't take clanker code without going around the mill a few times with it. There are lots of things in the code I like and things I don't like and want to refactor. I care about the code quality. But there are projects I've put only weeks or month into, and some only minutes. For most of my vibe-coded projects, I've only cursorily glanced at the code. For these projects I don't care about code quality as much as the architecture and interaction. The ones where I consistently tweak it to work how I want are...just better.
thomascountz 4 hours ago
This post resonates a lot with me and my approach to counter the idea that an LLM (as amazing as a tool it is) gives programmers permission to stop engineering. To me, executing a decision in the face of trade-offs is what the job is all about.
So, I want to keep pulling the thread: is it worth reading—meaning, understanding—the code in order to prevent p95 latency from skyrocketing, avoid OOM death, and keep our apps reliable for customers?
The cost of understanding the code is ostensibly very high relative to just using a clanker (citation needed), so does paying that cost translate to value—what is it worth? Concretely, if vibe coding increases bugs and enshittification, but decreases spending without decreasing revenue (read: customers suffer, but they don't leave), do we still need to pay the cost of reading code? Is it better to invest in stickiness, lobbying, and market capture?
This comment shouldn't be read as advocating for this; it's a thought experiment about pragmatism and trade-offs, and reflects what I'm witnessing companies (and "programmers") asking themselves. I personally care a lot about understanding systems and code, and I believe I'm paid to do exactly that (I very much enjoy understanding code and nobody is paying me to run a business, so I may be biased in this). In everyday SaaS-land—not talking about critical safety systems—we've seen production databases destroyed, personal data leaked, platforms unwittingly exploited, and UX bugs creep into our operating systems, and yet the companies involved keep on keeping on.
Is thinking, meaning taking the time to actually understand what our systems are doing, going to increase their shareholder value?
dimbletimbers 21 minutes ago
I feel like the AI debate is our last best chance to agree that human values are more important and have higher long-term utility (to humans) than pure financial maximization. I think it’s very very likely that money does not capture or convert to a large subset of morally good choices we can and should make to be happy.
as1mov 3 hours ago
> (read: customers suffer, but they don't leave), do we still need to pay the cost of reading code? Is it better to invest in stickiness, lobbying, and market capture?
Translating this from Linkedin-speak: Is it okay to subject our users to shitty software and while we use the money saved to bribe politicians, circumvent laws and buy our competitors to kill them?
thomascountz 2 hours ago
I don't generally think of myself as cynical, but yeah; this is what people in our industry seem to be asking.
oulipo 3 hours ago
I agree. I'm using AI on a mid-complexity system (IoT devices, encryption, concurrency, etc) and the number of errors / bad decisions taken "at first" by the AI (or if I don't guide it precisely enough) is huge, and I can only imagine how feeble and unmaintainable an entire codebase done without review from a senior coder would be
IshKebab 4 hours ago
I dunno. You still have to test, but in my experience if I noticed unreliability during high load I could just tell Claude "I noticed unreliability during high load" and it would easily have set up a high load benchmark, discovered this broadcast channel issue and fixed it.
It definitely improves the results if you do think but I don't think "you still have to think" is a safe space that's going to save us from unemployment.
B56c 4 hours ago
Author is saying that some decisions aren't as obvious as "my code should be reliable under high load". Some decisions are tradeoffs that require you to have domain/technical expertise to answer.
skydhash 3 hours ago
And some do require design thinking. Like sndio or alsa, drm, caddy, … With no domain expertise and technical knowledge, a lot of software are out of scope.
catlifeonmars 3 hours ago
> It definitely improves the results if you do think but I don't think "you still have to think" is a safe space that's going to save us from unemployment.
Who said anything about saving people from unemployment?
> I noticed unreliability during high load
This is pretty ambiguous. You still need to provide more context, such as which failure modes you are trying to benchmark.
wilg 3 hours ago
I think attempting few-shot agentic ports of an app as an exercise and having the results not be perfect is really a referendum on thinking or using AI in coding in any particularly meaningful way.
RobRivera 3 hours ago
smokes cigarette
Life, eh?
indrex 4 hours ago
I had to google “clanker”.
purerandomness 4 hours ago
You're one of today's lucky 10,000 [0]
habinero 4 hours ago
There's a youtuber I watch who's playing through Zero Company, and I was very amused to hear NPCs yell "clanker" at enemy droids.
swiftcoder 2 hours ago
Pretty sure the term was popularised by the Clone Wars animated series. I was always hoping we'd go the BSG route, and call them "toasters"
antonvs 4 hours ago
For me it’s a strong indicator that we’re not going to hear any serious thought from someone that uses it. It’s part of a herd behavior, to signal an ideological position.
nostrebored 4 hours ago
lol what are you talking about, clanker is a pretty ubiquitous term in sf right now
sailfast 4 hours ago
antonvs 4 hours ago
sergiotapia 4 hours ago
I feel a bit sad DHH did the elixir one so dirty. It's the only language with the rule to follow rails to the T and of course Elixir can fly and be incredibly powerful without redis and other bullshit. It feels deliberately hamstrung. Almost maliciously because heavy hitters like Jose Valim have told him about this and he just ignores it.
Not a good look tbh
sagarm 3 hours ago
All that requires _effort_. A stunt where you AI-translate a library into multiple languages is clearly not a context where you'll see that kind of effort applied.
Fr0styMatt88 24 minutes ago
Yeah, someone should just do an Elixir port that blows his out of the water if they really want to prove the point, with benchmark numbers.
Mawr 3 hours ago
Oh wow, he's actually delusional:
"I didn't do anything. I asked two frontier agents to make the most of Elixir and this is what they came up with. Please do send a PR to speed things up! But also realize that it's not exactly extra points for Elixir if frontier agents can't find the magic "go fast" switches."
swiftcoder 2 hours ago
> Oh wow, he's actually delusional
<astronaut always has been meme>