You need to put as much effort into the question as you expect someone to put into the answer.
It's not "fairness" or "AI" or anything else, it's that doing this any other way fundamentally fucks up the team dynamics.
You have a problem. You want someone's help. If the cost to you is effectively nil (or negative, since you're asking someone to do your job for you), but the cost to the other person is non-zero, then incentives aren't lining up here. Pretty quickly that person is going to start carrying too much load and become a bottleneck.
It can also mask that the context of the work is too concentrated in one person, and does little to nothing to help build that elsewhere in the team.
The other end of this is exactly what you're saying--put as much effort into the answer as they put into the question. You're not doing anyone a service by taking their low effort input and giving them high effort output, least of all yourself. If someone asks "how do I X", that's low effort. If you happen to know the answer off the top of your head, spare a few sentences to explain or point them where in the code they need to be. If you don't know, don't go track it down for them.
Related to this, I will never for the life of me understand why people think it's okay to say "I get an error" without saying what the error is.
I don't expect a non-technical person to understand the error, but I do expect a non-technical person to know that what the error message is is useful to the person trying to help you and to proactively provide the contents of the error message, even if it's a shitty cell phone picture of the error.
I guess we all have different styles but some may be more inclusive than others.
"Teams" are also going to have different dynamics than "strangers on a help forum."
https://www.freecodecamp.org/news/how-to-ask-good-technical-... is a pretty good example.
Going back more than two decades is ESR’s “How to Ask Smart Questions”. http://www.catb.org/~esr/faqs/smart-questions.html
You could say that people have the responsibility to demonstrate that they put in the effort and created value, but then you get the situation where people naturally optimize perception of effort or value over actual effort or value, because in the end that is what is rewarded. Then you can also say that people also have the responsibility to look a bit closer before estimating real value, but that takes more effort and people naturally strife towards efficiency. I would guess that the problem today is that the balance between these two is off, and we're doing too much of the former and too little of the latter.
Hmmm. Your choice of words here has just sparked a realization for me.
Before you said this, I was completely on board with the original post. But in juxtaposing effort with value, it illustrates that we're basing the idea on the Labor Theory of Value. That idea seems intuitive, and Adam Smith wrote about it 250 years ago. But it turns out that LTV is very wrong. Economists showed that effort does NOT impart value.
Even in performative scenarios, like say someone gets promoted at work over another person because they are a great “performer” and always make noise, whereas the other actually delivers - they’re being promoted because the promotion is defensible and legible for their superior. That is true value for them, just not to another viewer.
1. HM: AI generated email with "tailored" questions
2. Me: AI assisted response with answers (I confess)
3. HM: AI generated email with a "thoughtful" response + invite
4. Me: AI generated "thank you & looking forward" response ...
Looking back at the thread, I have to laugh and cry at the same time. It's so obvious and sad.
"I have made this longer than usual because I have not had time to make it shorter." - Blaise Pascal.
The length of the response doesn't indicate effort.
For HN comments, 99.9% of the time, a short comment is a low effort one and should be disregarded.
I tried to recall the last time I saw what I felt was an ego-driven tirade on HN comments, and I'm currently drawing a blank. There's a lot of what's called "performative erudition", and there is the occasional lengthy diatribe, but I would call neither one of those ego-driven tirades.
(brevity, purposeful /s).
With LLM's, we are in a new state of the world: it can expand any one sentence off hand remark in an essay.
Or, depending on the context, perhaps give a thorough enough answer with citations that it should either answer questions on the topic fully or explain where anyone interested in the topic can do their own research, such that if the question is asked again one could just link to your previous post.
This might not satiate a poster if they're dumb enough, but it's worth remembering that the post will be searchable and usable for reference by other people.
!
"If it isn't important to you, it isn't important to me."
This single headline perfectly captures what I have been thinking. It's not that I reject AI content, but it takes _effort_ to review and weed out any mistakes. When your thoughtful reviews that take an hour(because the PR is typically large, and you want to be _right_ when you're pointing out a hallucination) gets an AI-generated response with AI-generated amendments, It doesn't feel _nice_. I feel dismissed and it has continuously trained me to subconsciously avoid his PRs. After all, the team is fully onboarded with AI, so it's not like there is a lack of PRs to review.
It looks like the sentiment isn't just isolated for me.
And the exact same things you would need to safely give up on PRs for human developers (auto-formatters, linters, comprehensive end-to-end tests, continuous deployment pipelines, etc), are also things that place meaningful guardrails on LLMs, and help them maintain a reasonable quality bar.
If that's genuinely your attitude then your org has a problem.
Code review is slow and less fun, for the average sw eng. But for high quality work it's indispensable. So treat code reviews as a scarce resource. Optimize for code reviewer time and attention. Have your PRs the right size? Are they well described? Do you give context? Do they fit in the bigger story? Do you mix in unrelated drive-by fixes? How easy is it to deal with you once you have received comments? Do you address them promptly? Do you give your reviewers credit (if not praise) for their help? Do you give back by doing code reviews yourself with high quality feedback? There are lot of things you can do to streamline things and give code reviews the place in a teams workflow that it deserves.
And that's not rare in teams. Lots of teams and developers do code review wrong.
I even hear other people complain that I "block" their code review. I mean, if there are issues in your code, of course I am going to flag them, what do you think the purpose of code review is?
In this sense, I'm not sure I've ever seen a team that does codereview "right".
In the before times, most PR feedback was stylistic, with the occasional bug identified. Now that we have ubiquitous auto-formatters/linters/CI, most PR review falls into either "you misunderstood the spec", or "I disagree with your architectural choices" - and my personal feeling is that your process ought to catch both of those well before the PR stage
I think that only speaks for your own experience. I have definitely seen more than a few PRs that needed significant work.
I'm not sure how much I'd enjoy working on teams who were routinely producing PRs that were in bad shape.
On your original claim, I have seen engineers put up 5x more PRs simply because they paid less attention to the quality or put less thought on each one of them.
I have seen people put up 5x more quality PRs too. But as long as they follow the good practice of doing a code review for every PR they put up (or 2 if you require 2 per PR), they got their stuff through quickly as well.
> your process ought to catch both of those well before the PR stage
We have multiple points where mistakes of any sort can be caught, and code review is one of them.
Yes, most architectural issues should be caught earlier, but some will only become evident in code: some by the dev themselves, others by reviewers.
This is only a problem if you mostly catch architecture issues at code review phase.
The argument here is that all code reviews are done with attention and care, but quality of a code review is highly dependent on the reviewer and the team’s review process, and in the real world the quality of reviews pretty much follow the same distribution curve as, say, agile project management: For the time invested in reviewing, a handful of teams get excellent utility from them, most teams get little benefit, and a sad few actually cause harm.
If most code reviews provide only a little benefit at base for most teams, recommending that most teams should also delay shipping quality work is going to sound a lot like bad advice.
I’ve noticed that large PRs aren’t just a problem for human reviewers: they’re a problem for AI reviewers too.
If I submit a 100 line PR I’m likely to get some useful comments back from both humans and LLMs. In fact the LLM is likely to come back with so much feedback it gets down to the nitpicky/annoying level.
If I submit 1000+ lines in my PR, the humans either don’t have time and/or get scrolling blindness, and the AI reviewer is likely to give me a response that amounts to, “<<slaps roof>> Looks good to me bro: ship it!”
I guess they have a limited token budget for reviews so you can bamboozle them simply by blowing most or all of that budget.
I think the ultimate answer to this is a stacked PR workflow (which we had at Meta), where I can cheaply maintain/review a 1,000 line PR as a stack of 10 incremental PRs. But unfortunately GitHub et al are still not quite there on this one.
It is definitely very grunt-like for an LLM.
Code reviews, documentation, static analysis, only retrieving deps from internal repos, unit tests, integration tests, ....
Especially in domains where shipping software is not the main product, and a plain cost center to the main business of physical goods.
That said, sometimes low-trust environments are the issue, not PRs. In a higher trust environment, PR review is a helpful thing you usually desire, not dread.
Respectfully, in a high-trust environment, feedback should be delivered well before the PR stage. If you've let someone write a whole bunch of code without having a shared understanding of how the solution should work, you may have earlier process issues that PRs are papering over
With human reviewers, I find that by the time someone has churned out enough of a solution to post a PR, they are already quite invested in specifics of the solution, and it makes it emotionally costly (to both author and reviewer) when someone says "hey, I'm not a fan of this whole approach, lets start over and do it this other way"
The emotional toll there is real, but this is exactly the moment when you expose the knowledge of that external dependency to the unbiased party that is the reviewer.
I like combining approvals to satisfy the urge for completion and closure, with a request for fast-follow refactor to better match the newly discovered model of interaction. (The worst code review experience I have seen is when a reviewer accepts it as-is and does a fast follow refactor themselves, depriving the author of the opportunity to learn and remain an expert in that area)
If you have these parties review each other's code, I agree that rarely brings much value.
I think the best way to understand our experience with reviews is to stop and say: in a few sentences, what do you expect out of a quality code review? (sounds like nothing in your case, but I am curious)
For bigger changes, of course you need feedback on designs. But that could easily be in the form of draft PRs.
I definitely would push back on anything that required feedback before PRs. That's way too much process. Just going to slow you down for no benefit.
Code reviews are a productivity tax. No truly effective team would rely on them. The fact that so many software teams view them as indispensable just shows how few effective software teams there are in our industry.
They are akin to a quality check step in manufacturing. Part of what Deming did in revolutionizing manufacturing was eliminating the step in favor of a holistic quality metric owned by all participants and enforced with rigorous statistical process controls. As you say, we in the software industry have all the pieces (autoformatters, tests, benchmarks, etc) to operate this way, but it seems our organizational and management dynamics combat this shift at every turn.
Relevant: When this conversation comes up at work, I like to share Avery Pennarun's post about the review tax: https://apenwarr.ca/log/20260316
I've worked with people who consider themselves 'prolific humans'. Someone always has to tidy upp later, and its never them
I run both infrastructure and security - that means a lot of relatively self-contained PRs to infrastructure-as-code and dependency management systems. I'm also the team lead, which makes me responsible for a lot of throwaway prototyping, as well as cleaning up anyone else's mess...
Yes, the prolific-but-damaging engineers are all too common in corporate. But particularly in startup land, you tend to find your high-performers wearing a lot of hats at once.
So in essence you have one guy working at 4x and e.g. four other getting just 0.7x - net effect is still positive, but everyone save for that one person is miserable.
Mind you, the 4x dev doesn't necessarily have to be particularly talented - they only need to get their foot in the door before anyone else.
Back during the ZIRP days you could immediately tell that this is the case in a team by staff rotation alone. Nowadays people understandably cling to their jobs, so you might now know until it's too late.
IME, it’s because they lack the experience to have the Taste one develops as a senior engineer. “This works, and is somewhat understandable” is as far as they get. Little to no understanding of how this solution could fit better in the codebase.
I've managed some incredibly prolific developers and some very slow ones, and the prolific ones are pretty much always the ones more available, more willing to fix things, more willing to take feedback.
And also: they make less mistakes because their skills are sharp. This anecdote comes to mind: https://austinkleon.com/2020/12/10/quantity-leads-to-quality...
If you have to constantly rationalize performance differences by demeaning others, this says more about you than the prolific people.
Others are just trying to get code done, and don't care about quality. These are the types that are upset that their code gets rejected because their goal is advancement and money, and not doing a good job.
FWIW, it's okay to care about both. But if you don't care about doing a good job, you're going to drive everyone around you insane.
Prolific bad coders are a bane on the company, and AI is only going to make them worse.
That's not prolific, that's just producing slop, with AI otherwise.
I'm just tired of developers pretending that low output is some sort of silver bullet for quality, and high-output is automatic slop. Neither are true. In 99% of cases, low output doesn't correlate with anything positive. High-output can naturally go either way, but slop doesn't make one "prolific".
1. Your skills are >2 standard deviations above everyone else's.
2. You're fast at producing a lot of half-baked garbage, and your coworkers are too shy to confront you, so they just try to ignore it.
(one of these scenarios is much more likely)
We had better management for a few months, and many on the team were actually quickly closing the skill gap with me, but we had another shuffle and things are stupid once more.
So I'd offer that's option 3. (There's always a third option to any suggested either-or fallacy.)
But of course HN has to with the most uncharitable interpretation.
Right? Right?!
Otherwise you place all burden on high performers to not only push PRs but babysit the rest of the team.
It's not an easy fix, especially with AI letting people cosplay as high performers.
If their PRs don't get merged they don't perform. It is trivial to overload your coworkers with secondary tasks due to your "high performance".
We're all aware that a huge portion of the busywork that makes a team successful is not actually reflected in their upwards-facing deliverables (increasing test coverage, improving infra, adopting new tools/methodologies, preemptive security patching, etc). Your actual high performers, if you have any, are doing all that stuff in addition to their regularly-scheduled duties.
If management weren't at least tacitly on board with this arrangement, your high performers would go work somewhere else. So my experience is that good managers don't tend to see this your way.
Reviewers have comments which were not addressed by the PR author - author not allowed to do other work.
No such comments, especially no reviews - author can do other work.
I am not sure there is a good analogue for reviews in the AI world. The human operating the AI should obviously review everything produced but that is clearly not as good as a second pair of human MK1 eye balls from pair programming.
Code review is not for feedback, it’s for ensuring quality (many eyes on the output) and have a shared involvement in the evolution of the code. The time for feedback is earlier, once you have an idea of the solution.
1. Solution under-engineered/over-engineered. 2. Code is hard to read or comprehend. 3. Design/Archtecture lacking. 4. Principles decided upon by team not adhered to.
These are just some of the reasons I've rejected functionally correct code before.
To summarize, in any software engineering course you learn that there are other metrics used to evaluate code other than correctness (maintainability, readability, scalability, portability, efficiency etc.)
While PRs may have been used to correct style, that shouldn't have been their only or even main purpose. That's on whoever was using it that way, not on the concept of reviews.
Then don't review the code. Ask Agents to review and merge it, also shift the responsibilities to the AI agents as well.
If you think human is a bottleneck, then either optimize for humans, or remove humans. What's the problem?
Sadly, in my case, it is the auditor. Our SOC2 documents have this lovely "every change has been reviewed by at least one other human", and it's going to be a fun battle to get that reworded
If a coworker is creating a ton of AI-made PRs, I think the first step should always be to run an AI against them with the "assume this is low quality code and find all problems, big and small" text that was suggested in a comment here, and let that be the first line of defense.
To keep the dev on their toes, each dev should come up with their own prompt for AI PR review and they can switch off who reviews it each time, until there are no problems remaining.
Then a human can start to review it.
It will quickly show the low quality code being produced and the massive waste of time it is for everyone, not to mention all the money spent on tokens for the whole process.
Or it'll work, and everyone will have their way, and only have to review code that's pretty decent.
> first step should always be to run an AI against them
What if they write an agent which takes the feedback and resolves them with a new commit. Which again didn't do anything other than offloading more to humans who are reviewing.
> each dev should come up with their own prompt for AI PR review and they can switch off who reviews it each time, until there are no problems remaining.
This assumes AI reviews are correct most of the time, if so, why do we need even humans. Why not have repository level code reviewer which is run immediately after code has been created?
regardless of where you move it, there is still a bottleneck: humans.
If you don't remove them, you will just pass the ball between agents and at the end of the day human still needs to review it.
Change your auditor and compliance, SOC2 is created for a trust between organizations employing humans, if you think agents can own the things, lead the way, introduce a new compliance, if companies sign up for it, then you will be the first who is removing the human bottleneck.
Prolific humans should scale to the review/test/QA/staging backpressure - not just push to have whatever they produce accepted.
Prolific is not a badge of honor, and "lines of code" is not a quality metric.
I would always feel bad in those cases, because it's clear they spent a lot of time, and I'm going to have to say "no" and they will feel like they wasted a ton of effort.
The thought process around this has started shifting for me in the last few weeks. I'm a lot more comfortable saying "no" with a list of concerns when I suspect the code is AI-generated, and I see others doing the same. CLs that would be sitting around for days because no one wants to be the first to say, "this is bad, don't do this" now get quicker feedback.
The good thing is this feedback doesn't feel like as big a deal as it used to because people are less personally attached to code they generated in 30 minutes vs. code they hand crafted over a week. I had at least 2 LLM-generated PRs that were complete, correct, tested, and pre-reviewed by me, but I got feedback that they were going in the wrong direction. This would have been 8 hours of wasted effort a year ago, but now it's just an extra 30 minutes to rework the direction with LLM assistance.
I get this feeling, too. I do however think the onus is on the developer to make something reviewable by their team members if they want a speedy review. Stacked PRs, scoping things down, properly structuring commits so you can review commit-by-commit for example.
I also think that "I spent a bunch of time on this" is not a valid reason for expecting an approval. It should hurt if you've produced a bunch of code that is way off target, even if it ends up implementing the feature. That's how I learned at least.
A proper way to go about large projects, in my opinion, is the same as with software development at large. Fail fast if possible. Draw up a crude boxes and arrows sketch or just discuss how you want the code to integrate with whatever already exists and invite the team to comment. If no one has anything to say, well then they can't complain later when you implement that approach. But if anyone cares then most likely valueable input will come that makes the end result better.
If they continue to do that, then someone has to tell them they're doing a bad job.
And a some of them never did improve, and got fired for it.
I think slowly opening their eyes to the actual scope of the ticket is a lot easier on them than saying "no".
Like : Here is the ticket, this was the goal. I set out by beginning here- but encountered problems x y z I then refactored to accomplish. Finally..
You just dont drop a blob from orbit.
Ironically, ai could generate that quite well from existing documentation (ticket, tasks and prompts) + https://marketplace.visualstudio.com/items?itemName=vsls-con....
Run several rounds of such reviews until the clanker fails to find problems.
Because the problems AI causes are fundamentally problems of good design. It has the same problems of large teams, but less politics. Do your design well ahead of time, and AI review, or a large team, will amplify what you can do. Potentially by a lot.
Do it badly (or like most companies: do it with bad knowledge of the problem or just don't do it at all) and both team and AI will make a mess of things. If the team is made up of inexperienced programmers, they won't even complain, in fact I've seen teams that like this to be happening. At least in AI reviews I've always seen "grumbling" (in the sense of what you might call mean comments)
I wonder if that's occurred to him.
The fix, imho, is for the reviewers to also use ai to review the code. However, the ultimate responsibility for the outcome(s) should be on the committer - you commit it, you own it, so to speak. If there's an incident, they need to be the one paged in the middle of the night. Bugs resulting from it will land on their desk.
The reviewers aren't a shield/safety net.
Doing something that wastes other people’s time or makes more work for them than necessary makes me feel awful.
I’ve always worked in a way that respects other people’s time and I always tried to make sure I did everything I could to minimize the work I’m asking someone to do for me.
Is it even actually good to get to a point of blaming someone for an incident?
This is false, you’re just oblivious to people who grew up in conditions that would make them that way.
The solution is in the title - he wants human attention, he needs to demonstrate human effort.
This is the complaint:
> he doesn't make it easy for the team to look at.
He has traded readability for volume. The lack of readability is causing him to ship less. This was a bad trade because the readability is the bottleneck not the code creation. He should improve readability.
See this is where I think LLMs can actually improve software engineering. Use them to write better code not more code. The most useful LLM at work so far is the code review bot that occasionally finds things that I missed even with a careful self review and good test coverage.
We should be prompting the LLMs to review our hand written code for security, correctness, style, maintainability, etc., and then use human review for good design and sanity checking. The bots can do things like hold all the C++ correctness rules in their context and apply them sometimes better than even a human expert.
OR - he gets a review for every review he does.
I've been thinking about this in art. Is it the end result that matters, or the process of creating it?
I once saw a hideous sculpture. Didn't like it at all. Then the video zoomed and I saw that the whole thing (quite massive) had been hand-built out of individual toothpicks, and suddenly I thought it was amazing.
Perhaps an even better example: I read a story of a man in india who carved a passage through a mountain, so there would be a shorter route from his remote village to the city. He did it by hand and it took him 20 years. We seem to have an instinctive admiration for heroic effort.
In business, generally only the end result matters. Although, the end result also includes the client's perception of how the product was made... (see also: fake fairtrade etc.) In a meaningful way, the perception, the story, is reality.
If a human put some effort into it, that's a signal.
One of the main reasons that art is valuable is in its ability to communicate emotions. Good art has the ability to serialize emotions within the artist and deserialize them within the mind of the viewer. It's not just "wow, this is a pretty picture", it's "wow, this is how another person sees the world, and now that I understand that, I feel an intimate connection with them".
I think this comment misses the point. Let's forget about AI and assume that there are three developers: A, B, and C. Now, A is supposed to make a PR, but instead they describe it to B, and B writes the code. C reviews the PR and gives feedback. A passes the feedback and the responses between B and C.
As you see, this is not easy for either B or C, and A is totally useless in this scenario. When you replace B with an LLM that doesn't get tired or bored, only C complains about the process.
This was true long before AI. With AI the difference is just a lot bigger. It exposes team inefficiencies quite mercilessly. We have a big glaring issue with the current AI tools not being to suitable for usage by multiple users. All interactions are one on one. Which means hand offs between tools and people are bottle necked on people communicating with each other. So, any issues there with people delaying, gate keeping, etc. become very visible.
The sentiment of pushing back on AI is understandable but probably not a productive reflex. We need to find more effective ways on staying on top of massive amounts of changes. It's not going to slow down and insisting on manually reviewing all code is not going to be a long term sustainable way of developing software. It simply does not scale. I'd question the added value of manual PR reviews at this point. Are they finding real issues? Are we valuing those issues correctly? Could we come up with automated ways to find and fix those same issues? There are a lot of open questions about how we are going to do this. But no question about the notion that we need to up our game on this front.
On top of that, we have been running multi-model AI reviews on every PR through their respective GitHub integrations (Codex, Gemini, Copilot, Greptile, CodeRabbit).
They never fully overlap, and yet they somehow usually all miss the same things. The most significant improvement came from having agents commit their plan along with their work.
On the upside, it means I get to focus my reviews on different things.
Yeah, why not reduce the team size to zero while you are at it?
These generalizations about software engineering have never been useful, IMO. Context is everything, there is no flow chart for building a perfect software process.
Although, I'd say you are absolutely delusional if you think we are universally beyond the point where manual review of pull requests is required.
A bit sick and tired of arguments like yours
What irks me the most with this new trend is when people don't review the code themselves thoroughly enough and you're pointing out obvious flaws that you know that they should be aware of. LLMs can be such a great tool, but it's unfair to make people review your code before you've even seemingly looked at it yourself.
That might teach those people a lesson.
Ultimately what it means to be a professional is that you are responsible for your work. That’s why you get a salary instead of being paid by the token.
This won't help. Your wall of text will just get fed right back into the LLM.
Do you want to put the same effort into your job when nobody else does, or should you reserve your thoughts and just feed it back into the LLM?
The LLMs are being advertised as output increasers but companies so far are using them as excuses to fire people instead of creating previously unbelievable things. It might be better to feed your coworkers output back in and use your thoughts to start the company you thought you never had time for.
And once you start playing the game, then one day - it doesn't take long - you wake up and ask yourself if this is how you want to spend 8 hours of your life monday through friday. I think a lot of us are saying no but now need to figure out where our money is going to come from. I don't have the answers.
We are all throwing penguins at each other.
AI isn’t making developers more productive – it’s making them busier - https://leaddev.com/ai/ai-isnt-making-developers-more-produc... - June 11th, 2026
(And _now_ I'm wondering how hard it'd be to forkbomb their agentic workflow?)
If they can't explain their own code then it is by default a bad pull request.
At the end of the day, everyone's time is being wasted on tokens and on the increasing cognitive complexity of AI generated code.
"""""wrote"""""
Actively drags down the morale and productivity of their team (because everyone is getting flooded with AI slop PR's)
AND costs far too much money relative to everyone else doing actual work? (token usage)
By god they sound like management material
Please, check whether you accidentally submitted other unreviewed code - and close such PRs for now and reopen once reviewed."
Not necessary. Use Haiku.
The response doesn't need to be good, it just needs to be substantial. Presumably the goal here is basically DoS of the problematic colleague through token limits.
I asked other team members to run my custom instructions to perform a review with copilot before they submit...
Of course no one is doing it. It looks like the PRs I get are still straight from copilot. So I tend to run my review prompt. Cut out the 30% BS issues it "finds" and the rest is good.
why not speak directly to the bot yourself instead? then you can drop pretenses and get to the point
I find this to be a new variant of the old behavior where a colleague comments on a typo in a PR, and the team later moans about laborious back and forth for small nitpicks, instead of simply editing the typo right there (and perhaps leaving a note that they did so)
There's no justice in this world.
The bot isn't making decisions. It's not choosing to submit extensive PRs with bad code. The colleague is the one who needs to actually learn something here, and the problem is that confronting him about it directly is widely considered to be bad form. This is, of course, a deeply unhealthy aspect of our corporate culture. We need to be more open to honest communication, even when it's either uncomplimentary of one of the people involved, or counter to the prevailing opinions within the company.
"I'm writing tons of code, and the process is stumbling where the guy whose job it is to review code isn't reviewing it."
"I'm not reviewing code."
Sometimes I wonder: how does someone go and think so much about their coworkers, and never once think about how they themselves look?
Even if I sympathize with the people complaining about their poorly chosen GitHub-based workflow - whose purpose is to let pull requests languish, for the most part - and how they stumble when overwhelmed with solutions. It's obvious to me, that the people who complain the loudest about the anti-sociality of LLM authored code in their precious harmonious low-effort workplace status quo: they are projecting.
You go to a new restaurant, and order some dishes, and one of the plates your server brings out is a big ol pile of dog shit.
Who's being anti-social in this situation? The restaurant is doing its job and all they're asking is that you do yours. On the other hand, you have certain expectations about what you order from the restaurant and they're not being met. Who's anti-social?
If someone’s using AI to generate a large quantity of actually-tested, actually-good code then that’s one thing. If they’re generating a fire hose of slop and demanding that others do the actual human time-consuming work of validating that code then that person is the problem. It’s hard to tell which is the case here.
One of two things will happen:
1. Things start breaking, proving AI generated code sucks and the individual spamming these PRs is incompetent.
2. The code works fine and reviews are unnecessary for anything other than liability concerns.
That includes taking responsibility and accountability so that the software doesn't become a sad and dangerous mess.
If we want to be an engineering discipline, just yoloing in production is not going to cut it.
The thing that makes it scale is to default to "no" and require the other party to convince you of "yes". Just put the burden of proof where it belongs. If they don't manage, then that's their problem.
Communicating this in a way that is viable for a business scenario certainly comes with its own difficulties, but that is a solvable problem.
In fact, you can use AI to stress test your communication there. Just throw what you want to say at the AI but don't tell it that it is you who wrote it. Then tune the input until it stops saying that you're the problem and starts agreeing with you.
Highly recommend. It's a perfect emotion-driven cargo-culting normie simulator that never calls HR on you.
It's silly to have humans reviewing code that a human didn't even write.
I understand that the information may be accurate, even helpful at times, but feeling like I'm constantly talking to an AI chat bot all the time gets tiring. And I don't appreciate having to double-check everyone else's AI generated responses for them.
Before AI they had to actually put in work, or at least play games of trying to steal credit from other people without getting noticed. Now that AI appeared, they see it as the ultimate way to take credit for work they didn't do: Put everything into Claude, let it do the work, copy and past output back to someone else. Minimum effort invested, maximum visibility achieved.
It will continue as long as they think they're getting away with it. If managers aren't willing to intervene, or worse if they encourage this due to the volume of output that seems to be appearing, it's only going to get worse.
On the other hand, my priority isn’t maximising my personal career benefit, but the collective benefit of my team, so I suppose I either see it more as a 2v1 sorta game, or perhaps my “player” is an amalgam of myself and my teammates. Playing this way, outsourcing everything you do to an LLM is the worst move, because you lose the touchpoints that tell you where the friction is in your team.
The problem with the personality above is that the person isn't playing like a team (like you said) but as an individual maximizing their own visibility while loading their coworkers up with the review effort. They found an asymmetry to abuse (they generate text easily, coworkers get a lot of extra work to review it). They don't care what it costs their coworkers. They just like that it makes them look good.
The problem here is that all tech companies look alike. Take for example the interview process (copied by almost any company out there that thinks they are google). Another example: the under/meets/above expectations BS. And now the most recent example of “token usage as sign of productivity”.
So, it’s getting tremendously difficult to simply switch jobs that offer something different
You can also look to change to different roles (product management, even sales) or jump to a different career completely.
There are options if you look. You're not going to find a dream job that pays $600K for 4 hours of no-pressure work per day and perfect coworkers, but there are a range of job options with tradeoffs along the compensation-effort pareto front.
I don’t know how many of y’all did these, but I’m sure I wasn’t the only person. At my undergrad it was very common for a group of students to all to get together, compare notes from lectures and readings, and basically come up with a group study guide of sorts. People were given specific sections to share, you didn’t just send all of your notes - usually 2 people per section’s take on that portion. You could always tell who just copy and pasted their shorthand (usually indecipherable) and who actually took the time to edit it/clean it up. This was at a time when almost everyone did it on laptops.
The people who took the time to make their portion(s) digestible for others were asked back, the others weren’t.
Obviously you have to communicate with your coworkers. But I think the solution has to essential be: "Im not going to read that."
I have had coworkers say "Oh I don't know, Claude added that" in response to questions like that without even a hint of shame or self-reflection.
Or if you don't care you can just ignore this persons messages.
He’s sent a couple more emails like that since. I don’t even bother to read them once I see the format.
Yes, "not actually doing his job". If he's sending you un-reviewed, un-filtered, untouched AI output, that's not doing his job.
Maybe this is just how things are going to be. But in that case, I'm done spending my time being a helpful idiot talking indirectly to a robot through another person.
(Track 31):
https://themountaingoats.bandcamp.com/track/foreign-object-j...
My first instinct would be to have a /very/ direct conversation with that person and their manager, and the follow-on would be to escalate it further leading to their termination. That sort of behavior is unprofessional in the extreme, even in the era of AI.
Have you watched Frieren? Just keep a distance from them.
https://frieren.fandom.com/wiki/Demon
"Demons are deceptive by nature, and typically speak with humans for a specific purpose, such as securing mercy or lowering vigilance. They treat language as a tool, using words without truly grasping their meaning. ..."
I have worked with non-tech employees to set up Claude to help them do small tasks. I’ve helped to review and improve completely vibe-coded projects by such employees.
I’m not sure what my role will be, but I fully embrace that my traditional role of writing code is gone.
We've already established that most of it is noise. You don't need to keep up with producing noise.
So the actual problem statement is not "how do I keep up" but "how do I correctly tune my filter", which is solvable.
The biggest challenge there I think is that many people are not prepared for just how sharp and uncompromising that filter needs to be, but that too is solvable.
feels like its becoming reality that we as a human don't need to this anymore
the honest truth is that maybe 10-20% of SWE (at best) are “good”. sure it is harsh but i won't lie. if you're good you'll probably relate.
the rest kind of suck.
i’ve never gotten anything lower than Exceeds Expectations in my career so I’ve seen how awful some engineers were. i’ve seen how amazing a tiny minority were and i made them my mentors.
these days i have a simple policy.
if they cannot think, they are fired. why waste resources (time and money) on someone who can’t use their brain? i’d rather give AI credits to someone who uses their brain.
thinking is the humans job. the ai needs to execute on what the human thought of, improved, planned.
The absolute worst is someone that tries to brand themselves as a 10x engineer by constantly using programming terms like "dynamic programming", "polymorphism", "recursion" and the like, but they're really a 0.1x engineer because they don't truly understand what any of those are and when they should actually be using them, and so try to shoehorn them in when they don't need them while also not understanding them, and end up writing low-quality crap.
Took too long for management to get rid of that guy.
All my experience in trying to hire developers has been wading through an endless stream of people who were just useless.
Me: I want to represent a 2d grid, what data structure should we use? Them: A string?
This was someone applying for senior engineer. Others I've had filled their CV with SQL related acronyms. But couldn't explain what a foreign key was and then stubbornly insisted that at their current corp they would never ever use foreign keys in their SQL database!
I've had senior engineer when asked how to check if we had a 2d array with an item at x,y tell me if anything is on the same column or row, they couldn't do it, couldn't even verbalise how to approach it.
"Web Developers" who didn't know the difference between GET and POST. Web Developers that have never heard of PUT or what it would be used for.
The answer that almost guarantees I'll hire you is "there's got to be a library function for that, so I look in the manual". Almost as good is somebody whiteboarding how they'd convert ddd to mm-dd (and then account for leap years, etc.)
I get a disturbing number of people who say things like "I would communicate with the person asking for this to see what they're really intending blah blah"
My favorite answer was on a phone interview where he just hung up and wouldn't answer when we called back.
Sounds like they know this question is a “gotcha” question but just misinterpreted which direction you were going with it.
Some will ask a question like this expecting you to treat it like a puzzle and outline how you’d solve it as-is; others ask it as a way to probe how you’ll deal with strange or misguided requests (the case you noted as disturbing); and others yet will ask it to see how you’d practically solve it (your intention).
Seems like a bad interview question without context regarding kind of answer you’re looking for.
I prefer fizz-buzz as a question because it is obvious there isn't a library. It is also a problem you should be able to do in an interview. It has enough weirdness that there is no best answer, despite having several workable paths you could try.
If you would ask someone to write a piece of code, and a part of the problem is this conversion, then you would be right to expect they reach for a library, but even if they don't you would be giving them the opportunity to explain themselves, and judge the explanation, not the answer. Also, if your test is "does this person reach for a library at the right time", you could do a lot less esoteric and confusing by just asking them to add 10 days to a date. If you just ask this one specific problem, it is likely they assume you are looking for them to demonstrate the skills involved in actually solving the problem, i.e. leetcode.
This is also why some people give you the blabla answer, because it is indeed very unlikely that someone needs to do this legitimately. This is because its a toy problem. Someone's professional reaction to the problem in isolation should indeed be: this is weird, I've never been asked something like this, what's up?
Finally, even though the question is terrible, I would still rate the "whatsup?" response higher than the "leapyear" response. I would want a developer to triple check that this problem needs solving, before they would solve it themselves.
Finally finally, if there's one answer to one question that, when answered trivially in a way literally taught in most basic programming courses (use the standard library / a third party library), makes them a "guaranteed hire", I also have significant doubts about the level of talent you are bringing in, as any experienced interviewer will tell you that qualified people will get important questions wrong, and unqualified people will get important questions right.
I understand that this reaction might be quite harsh, and I know better than anyone that its hard and time consuming to do good interviews, but please consider that you are rejecting people who may be very confused and sad by this way of rejection.
Someone who produces absolutely nothing and have no impact has cost, but is still better than someone who produces net negative. And the people who solely act as interface between LLM and whatever might fall to later category.
and even at "good" companies you have people who can game the system to get in, and then they struggle to get anything done on time or be responsible for taking on and completing any initiatives bigger than a single task on a bigger scope.
I still think a single in person LC style (doesn't have to be LC per se, could be domain specific) logical thinking/reasoning exercise is useful. I want to ensure the person can actually put 2 and 2 together and think. This is just a fast filter.
If they seem like they can think, then I like to do 2-3 systems design interviews. I'll try to give them something related to things I like, such as graph structures, writing a complex query that needs to be dynamically generated, or something related to infrastructure or how they'd do something that I've already done. After all, this is MY project they're joining.
So far that has worked well.
Few more things -
I like to test if they are a humble type (they can work on a team putting ego on the side - the mission is our number 1 priority). if they say they know something that i know and asked, then they can be sure I'm going to drill them on it. if it turns out they lied, i'm not wasting more time. Thanks for your time, take care. This is very important to me. Just say you don't know, it isn't a big deal because ever since like 1994 that has not been an issue. You can just learn things online, and AI makes that even faster. I am never afraid to say I don't know something, and I've asked plenty of "dumb" questions (while doing some due diligence first) so I don't really mind.
Can they handle information overload? I am the type of person who has multiple branches in my head of actions I can take next, so while I may appear stressed I'm really not. Can they keep up? Our goal as software engineers should be to come up with solutions that solve the problem in a way that makes building on it simpler in the future. My goal is simplicity and effectiveness. So I'll see if they can keep up, and eventually reduce the work to be done into atomic pieces. This is a fun exercise because it is collaborative and we get to bounce ideas fast back and forth.
Finally, I like to let them use their favorite tools, including AI tools (codex, claude, some ppl have esoteric custom stuff which is cool), to solve a problem together. It might be code related, it might not. Really depends on my mood. I like to see how they work and what sort of output they can come up with. This filters out people who only ask AI stuff, instead of having some framework they've already developed to be effective.
Honestly I don't know how to scale this process. I'm not really going to feel bad either about firing fast, ultimately this is a business and I don't want customers to suffer because we have some issues internally.
At the same time, I wonder if I even need to build out an org with 100s of people. That was an inefficiency (look at all the layoffs), and it is traumatic.
If I can find a few great people who can be supercharged and turbocharged and electrified with AI, then they can take on & own bigger responsibilities. My number 1 goal is to ensure they're with me on the mission, and after that all things seem to sort of fit into place.
mass effect 2 is my favorite game ever. it is all about putting together the team, and ensuring you work with each one of them to get their whole loyalty.
each member is a badass, in their own regard. it’s also a video game and it’s linear unlike real life. but the mission is super important to me.
and when others have their own passions they want to express and carry out via fulfilling the mission, that’s super key imo.
so far it’s worked out fine. people get the fast firing thing. they know if someone isn’t onboard with carrying out the mission they also don’t want to be burdened.
like we are seriously helping people in an underserved industry. it’s insane.
i hate working with mids and bads, they are going to bring everyone else down. so i want to work with the best people i can get. they don’t need to be MIT grads paper weight types. they just need to be mission oriented and focused.
Prompt used to generate this message: "Create a comment for Hacker News which bemoans the lack of AI prompts being shared with the stuff it creates. Speculate on the reasons and create a call for engagement. Use quantum hyperthinking. End with a typo to prove your humanity."
(Shitty Handwriting As A Service).
Because you could also just point the better model at the generated code and tell it to improve it, so why save the prompt too?
If they're gonna spy on me with AI cameras, I can oppose them with AI research. :)
Please tell me you did the work to validate that the quotes and figures were not made up by the cheap model. These things make stuff up all the time, you absolutely cannot rely on them without validating the output yourself.
https://arstechnica.com/staff/2026/02/editors-note-retractio...
https://www.loweringthebar.net/2026/06/its-finally-happened-...
Edit: it's a joke people
...is "Rule of Law" IMO
The serfs will till and sow the server fields!
Actually made by a human, signature: https://possiblymadebyahuman.com/7PuEdZs1i1
The signature includes a hash of the text, done at the browser so that the server does not have to see the content.
https://chromewebstore.google.com/detail/possiblymadebyahuma...
"it didnt work" - providing neither the code nor the error
"I ran this" - dropping 500 lines of code into slack, not specifying where he ran it, what line it broke or what the error was
Either mode required 15 iterative questions to get to a useful state of information.
(6 month old repost: <https://news.ycombinator.com/item?id=45936352>)
I don't care what your offer is - if you can't even be bothered to even dress up your stuff for me, a human, I'm not going to consume it
The problem is that this realistically is only applicable and actionable to a subset of the labor pool, and that subset is decreasing.
There are a lot of people who discovered that their "deep knowledge" and "deep skill" wasn't as deep as they thought (read: "deep" enough to make them irreplaceable to their employer). People are generally pretty good at overestimating their value.
I find that I actively filter all "computer generated" attempts to contact me: Mailing lists, "engagement" notifications, ect, is pretty much ignored. I only respond to human-initiated contact.
This is especially the case with cold outreach from recruiters: I get a lot of poor AI-generated outreach from recruiters, which are time-consuming on my part to engage with.
But if the art instead beems with intention and effort, chances are that it will be interesting. And in order for anyone to create something so brimming with signs of effort, they must have cared about the piece, the message, the artform, or something along the process. This post talks about effort and attention, but you could phrase it as a question of reciprocal "caring". If you want me to care, show me that you even care yourself.
It is getting harder and harder to suss out what is genuine though.
Atlassian's in-built AI assistant for JIRA will generate a task description with a complete SDLC task breakdown, requirements and deliverables.
While the person creating the task will need to provide some details and modify some of the generated text (if they bother to read it) - the sheer verbosity and the fact it's clearly generated just makes you not want to engage with it.
I think I've been following this subconsciously as LLM artifacts reached some threshold of pervasiveness across the work I do. If I can sense (maybe eventually I won't be able to because of how capable the technology becomes?) that what I'm reading is wholly regurgitated out by an LLM, I automatically care less and feel inclined to respond in kind by generating an artificial response in return.
And I write my replies before, I often have a LLM check for any errors or miss thing.
LLM can help me catch blind spots or mistake.
I think LLMs can't replace our own thinking. For me, an LLM is good tools for discuss ideas and talk me more knowledge.
My english is bad, but can help the LLM tto translate paper, help me quick get the infomation.
I like face to face talk with others, Can help me triggers deep thinking and funny
In some however, you should. For instance, yesterday I sent a lengthy email in a language I barely speak threatening legal action against a business. I had an LLM translate/write it as it’s a language Google translate makes a mess of, every time.
So in that case, you’d be advised to read it lest you end up in court.
In my experience, people who make requests like this don’t care about your attention, they only care about getting you on the hook for something. Your application of attention as a requirement for that is irrelevant to them.
This makes me absolutely SURE that the general public is fucked and that we're going to start seeing huge AI generated fuckups on a regular basis. If people in this industry, basically experts compared to the general public, are misusing this tech in such seemingly obvious ways, imagine the ways non technical people will misunderstand and misapply it. Of course, with the help of overhyped BS from everyone hyping and selling it.
This is extra work on human.
Many artist and content creator is now asked to show the "behind the scene" or a full session recording, which nobody care enough to check. This is frustrating and demotivating the artist.
Expect the same demotivating effect on the software contributor.
If you think reading _forwarded_ AI response are cheap, you can run your own LLM. It is the same amount work on you
</end devil's advocate>
In the past you had coworker who produced volumes of code. Same principle.
I remember a time in the ancient past (2025 maybe) that your PR was your responsibility, whether or not you typed it with your meat fingers or cranked it out of the Giant Plagarism Machine. It’s absurd to think that the above quote is now something approaching controversial.
You can't say "you can't feed me machine output directly". Machine output is meant to reduce the cognitive load for human processing.
If your colleague is forwarding AI output directly to you, that means they think the AI has reduced the cognitive load for you, and also you are the best person to process that output, instead of them.
You just need to change your perception about the purpose of AI.
Human -> Human (think we have this sorted)
AI -> Human
AI -> AI
If you are doing AI -> Human, then you need to be curating the response and understanding what it is saying, also, make sure its not leaking internal details or committing you to have phone calls/video chats (it does that). This works really well for the most, and humans respond with requested content. Quite often my AI debugs problems with their systems which I know little about. But humans do odd things like send screen shots of logs rather than text (they also leak internal details of their systems they potentially shouldn't). I used to tell people the content is partly AI, but now I just send the curated email without mentioning AI.For AI -> AI you kind of want a hand over document as an attachment to an email. Only thing here is making sure there's no injection of security risks. But quite often instead of getting a human response to my AI generated emails, it would actually be nicer to hear from their AI which could give a better context/details. It would be really nice to be able to go, can you have your AI talk to my AI :) (security is a major issue here)
Just send them the prompt instead, let them see how little effort you care to place into communicating with them
If the creator exerted human effort, they'll be able to maintain it. They can take responsibility for it. Even if the value of the 100% AI generated artifact is amazing, and the "creator" of it can't actually maintain it, then what's the point?
It's similar to scenarios I've seen where a brilliant ML person comes into an org, trains a model, that seems to solve an important problem. Invariably when that person leaves the org, the ML model stops being used, the team falls back on older / technically worse methods. But the team can be responsible / own it in a way they couldn't the brilliant one-off work.
I reported it to my manger and stated that I will not have my time wasted this way. She was delighted to have this ammo because we have a long standing beef with our QA for not putting in due diligence. LLMs are like candy for them.
But this HN submission also highlights something else: AI content should be labelled. It is not always obvious that an AI has produced a PR.
Lots of companies are led by people who think that GenAI should increase productivity and are going to make damn sure that it is. There's no room to figure out things like "etiquette" for how to pass along AI-generated content to coworkers.
Labeling what is "AI" would be like highlighting in an email what I'm obligated to say by HR, my boss, etc. It doesn't make anything less boneheaded.
Human effort was already low before AI and now it's even lower. Garbage in, garbage out.
Because the prompt is the quintessence of intent regarding the information to be conveyed.
We developers understand this when we are forced to read slop, and most of us recognise it in art and music.
I wonder if we forget that people using unthinking, default interfaces in AI generated apps might start to feel the same way: “it feels like no care was taken here so why should I give it my time?”
Sometimes human effort doesm't have to be complicated though (concise communications)
2. allow people to filter out the AI content if they want
3. enforce draconic punishments for violation of 1
We might arrive at the moment where this is regulated by law.
So feel free to use AI to pimp your resume, they will use AI to process it.
Now you have to add typos and not use completely standard elements of style that some people have been using for ages, like emdashes and "it's not X, it's Y"
That said, roguelikes are awesome. So there is definitely a place for simulated effort.
Reading AI-generated text for hours every day, it's obvious to me.
I take care to make my messages easily readable. I don't care if they're AI-made, as long as they're short.
I'm a very verbose person, and if I don't make an effort at being concise, I'm just as annoying as the average AI.
Being flooded with AI text every day has made me appreciate brevity because I'm exposed to so little of it.
With half a dozen people who don't read or listen to half of what the others do, slop + cognitive drift is a bad cocktail.
It's just not as big of a problem on my own projects, because the ideas that get fed to the slop-machine are not that different from one day to the next.
---
> For human code review requests, I always review my AI-generated code first.
For human code review requests, I always review ANY code I submit first.
This is partly because it's the agreed-upon culture where I work now.
And partly because the codebase is not robust enough for slop.
I have hobby projects where this does not apply. I spend half of my time in those projects building hard guardrails.
---
> Keeping AI generated content clearly labeled and demonstrating human effort helps show consideration for teammates
I actually like the shamelessness, because it's honest.
So often this year when I ask "why did you do X?" pointing at a line, my colleague doesn't know.
Because they didn't really write that line, and they didn't really internalise the choices made.
When my colleague sends me a text dump from Claude, I know that my role is just being a sub-agent.
Demonstrating human effort: I'd like to see more of it.
One way is to spend more time owning "cognitive debt" as part of the daily cycle.
If people are now wincing at longform text because they automatically assume it was LLM-generated, then that bodes ill.
The labor theory of value doesn't work for documents any more than it works for anything else. If I do something that's easy for me, and it's valuable to you, you'll still want it. If I do something that's difficult for me, it will be less valuable to you, because the difficulty I have with it implies that what I produce will be of lower quality.
This is all equally true of automatically-generated documents. If they're valuable, people will want to read them. Whether it was unpleasant for someone to create them isn't a factor.
So where is this slogan coming from? Are people just afraid to admit that the documents they're getting are valueless?
Therefor if you are not putting human effort on the document it is low-value.
We have seen this before when big data started to be a thing, tons and tons of reports being auto-produced weekly (or even daily), but even if they contain relevant information they are low-value because no one can take action on so much information.
If someone wants me to spend my time and attention on something they have shared, I would like them to demonstrate that they put a proportionate amount of time and effort into its production.
First: why? How does that help you?
Second: Is that actually true? Do you ever watch videos that a friend recommends to you? Even if the amount of time and effort your friend put into producing that video is zero? Do you ever read anything that a friend recommends? Even if they didn't write it?
How much time and effort, in your estimation, did jjfoooo4 put into producing this article on tombedor.dev?
Your post sounds logical at the first glance, but has nothing to do with the reality. The topic title is totally on point! If the user would put human effort in it, I wouldn't get those crappy emails.
The script was excellent because it simplified the review process for a single repo (that had many competing dependsbot PR’s) and it also happened to do this across increasingly many many different repo’s simultaneously.
Funny thing is, however, that it also created a team dynamic where who ran the script became almost a race because the effort in creating x pr’s didn’t correspond at all to the effort required to review x pr’s.
The optics were also lopsided since the script would operate on the runner’s local machine and so it would have seemed as if the person who made all these PR’s was highly efficient at producing when in fact it was the reviewer doing the majority of the work.
Also reviewing represented a chunk of a developer’s day so it would affect other actual work the developer was tasked to do anyways.
In an agile workplace points (correctly or not) completed are attributed only to the code creator with no points at all being shared by those who reviewed the work, and rightfully so I’d argue because tangentially reviewers can also tend to just click “approve” (or slap a LGTM) without much effort into critiquing a piece or giving a thoughtful review. Why? It slows down the introduction of the feature (the PM won’t like that, why would you slow down the process eh? You grumpy goose), it messes with team dynamic (you may end up offending those who you review, who also happen to be the one who you need to review your work, who then may be petty or worse, mud slow to review your own PR’s), it takes additional time to provide reviews that seem as if you even read the PR or don’t come off as flippant (did you provide examples or a suggested refactor or detailed reasons), and it takes context because you may be working currently on a totally different project (regardless of your experience/authority in the PR’ed repo), so giving an honest review may sacrifice even more time to first review the purpose of the PR and how that lands in the context of the target repo(s) and then sacrifice the time necessary to reorient yourself to the task you previously had in process. With all this…that “approve” button becomes sooooo tempting.
It’s funny because fast forward some of the ways I battle increasingly prolific AI generated material is through GitHub’s CoPilot bot. I ask it to do the review first and when it gives the review there is none of that dynamic because it wasn’t me who levied the criticism and also it’s not me who is trying to block code integration (so no grumpy goose or team dynamics problems). Having a bot do preliminary checks almost does what git hooks did for team dynamics way back when automation of linting, testing, style, etc was introduced as a common part of the review process. And I say “almost” because a)sometimes the critiques from the bot are wrong and b) the critiques aren’t necessarily deterministic, so just because they are there or not doesn’t mean you are truly relieved of that portion of the review process (for better or worse).
So this post is talking about at work but I think the principle goes well beyond that. Think of all the AI chatbots you have to deal with to get through to customer service at a company. Or get through ATS systems in hiring. If it isn't already the case, this will probably replace or supplement TAs marking assignments.
The problem is that AI makes these interactions too cheap for the party that already has disproportionate power. The cost for them to add another layer, another hurdle, another set of questions, etc is essentially zero. Yet everyone who wants to get through that system has to pay in a human cost.
I just thought of another good example. In the pandemic auditions in Hollywood went virtual for obvious reasons. But this never went away. Now, you might say it's convenient to not have to spend hours driving to Burbank for a 5 minute audition but anecdotally the taped audition seems to be much more work. It requires a lot of prep and more tech for good sound and audio. There are people who help people tape auditions, which has really just added another layer. Plus, instead of only locals, anyone anywhere can submit an audition so where you might've had 30 people previously, now you have 150.
And what happens to those profesionally-produced auditions? They get submitted and the casting director might pick 5 randomly to even look at. If there isn't already, there will also be an AI system that filters those auditions.
At least previously you got 5 minutes of actual time from a casting director, the actual director, etc. So it's actually way more inefficient for you now. Plus, if you're lucky enough to be looked at and they like you, you probably have to go for an in-person audition anyway so what's happened here? You've just added another layer and way more work.
Companies think they're "winning" here by saving labor but I think that's short-sighted. What'll end up happening is AI agents will rise to help people on the other side of that. You can think of using AI to cheat on school assignments as an example of that.
So what will we end up with? AI agents inundating AI systems, which just adds a whole bunch of inefficiency.
I have only made this letter longer because I have not had the time to make it shorter.
The argument that "using AI to generate text is disrespectful because it took no effort to write" misses the point. Respect for the recipient is measured by whether the message serves the recipient's needs, not how it is produced. Similarly, any errors are the senders responsibility, and not the fault of the tools they used.
However, I don't blame anybody for having red lines like this:
1. Don't send me a big long string that is merely LLM output resulting from pasting a trivial prompt + text I already have access to (or my own words!). I know about Claude too, and if that's what I wanted I'd have done it myself.
2. Don't throw an AI-generated argument at me that you don't even fully understand.
3. If you're preparing information for me, and it's overly verbose and wastes my time, I'll be twice as mad if it's obvious AI than if it's obviously human. This is basically the article's point. The asymmetry of wasting an hour of my time reading a bunch of crap that took 15 seconds of your time should make it clear why this is antisocial behavior.
Use whatever tool does the job, and own it if you use the wrong tool and it sucks.
It will be a very sad day if I ever get laid off via Slack and the message is suffixed with "Sent by @Claude"
You don't need an ad when you already have their attention. The blog post title just sucks. They really mean "don't waste my time with this shit".
Because why not? AI will simply on average be nicer to talk to than most humans, with clearer thinking and better arguments, less contradictions, and easier to comprehend.
I don't know how humans could compete with that (but it also does not seem all that horrible, given that it will be available to every human.)
This is not to say that this idea is uncomplicated or comfortable, in different ways. Just that I think it's true and that it might even be good.
I know I’m not the only one who feels this way, and notice more and more people reporting the same. Several of my non-technical
AI generated content is bland and soulless. There’s only so much bland and soulless most people can take in their life before they start to get fed up.
When everything feels the same, nothing is interesting anymore.
Everyday AI writing was not a thing with GPT 3.5. It happened more around GPT 4o. And now some people are entirely comfortable with using AI writing and not even trying to hide it (while, I would agree, it's obviously still fairly garbage and easily identifiable, which helps with triggering strong averse reactions).
However the models are getting better at everything, including writing for the past years. Why would that stop now? It's reasonable to assume that the makers also know about bad writing, dislike it, and thus the models will get trained to get even better at it.
Eventually how will you be able to tell? You won't. You can't. And that goes for the rest of us. And I suspect everything will just feel somewhat nicer.
And as someone who gets dozens if not hundreds of AI generated emails I have to go through every day, it is _incredibly_ easy to spot which ones are AI generated and which are human written.
By its nature AI generated content is statistically consistent, the narrative equivalent of monotone speech. I don’t know anyone that can’t spot it a mile away at this point, and the more people are confronted with slop, the more attuned they become to it.
AI is seen as unique innovation, but in terms of the real purpose it serves, it is the logical extension of something like Doordash. "I don't like people. I don't even want to call one on the phone to order a pizza. Make me a tool that lets me avoid that, please."
Let me pose an alternative narrative. Rather than interacting with humans being intrinsically unpleasant (though for some people it is far more unpleasant than others), the technology is lowering your threshold for discomfort, step by step.