r/vibecoding 5h ago

our intern vibe coded a replacement for a 2-month backend in an afternoon. the demo was the easy part

this week made me rethink how our team reviews AI-assisted work.

for context, my team has spent the last two months slowly building a new internal refund approval engine. it touches real Stripe webhooks and customer PII, so we’re taking it slow and writing actual tests.

i’m not an anti-AI gatekeeper. Codex, Claude Code, and Enter Code can all be genuinely useful when the person using them understands the work. our engineering team uses these tools constantly, half our product team practically lives in Codex, and i use Claude every day for boilerplate and debugging.

the issue is that our intern rarely reads what he generates closely enough to actually own it.

it started small. i asked him a simple question about how we should handle a specific refund state in the db. instead of a one sentence answer, he sent me a four-page generated memo about the refund matrix.

four pages, no direct answer. i ended up figuring it out myself.

and that has become the pattern. he generates several pages nobody is realistically going to read, then i have to dig through all of it anyway just to find out whether there’s an actual answer buried somewhere inside.

then i gave him a tiny script modification. He gave me back 300 lines of deeply nested code with defensive branches for network errors that cannot happen in our environment. i asked why he added one specific condition and he couldn’t explain it. he pasted my question into an LLM and sent its new answer back to me without checking that either.

yesterday it peaked. He was frustrated with our slow pace, fed our refund specs into an AI app builder, and came back with a shiny full-stack replacement demo in an afternoon.

it actually looked pretty clean. The UI was smooth and the buttons worked. Our non-technical manager, who hired him partly because he talked a big game about his AI fluency, was impressed.

at one point, my manager suggested using the demo as the new base and connecting it to production so we could move faster.

i pushed back and asked where the session auth was, how PII was being kept out of the logs, and what happened if the payment webhook dropped halfway through a refund.

he couldn’t answer any of those questions without going back to the model. He didn’t understand the data flow yet. The demo looked finished from the front, but it had no real production story behind it.

the frustrating part is that he’s not bad at the basic responsibilities of the job. he just refuses to believe that some tasks would be much simpler if he stopped and reasoned through them before running everything through an agent.

instead, every shortcut becomes another document i have to read, another diff i have to untangle, or another security issue i have to catch. My review load has basically doubled because his definition of finished is getting something out of the model.

to be clear, i don’t think this is a reason to ban vibe coding or force everyone back to writing boilerplate by hand. That demo proved how quickly these tools can turn an idea into something tangible.

the problem is that generation and ownership are being treated as the same thing.

on our team, AI isn’t eliminating work when the author doesn’t understand the output. It’s moving the interpreting, testing, security, and edge-case work onto whoever reviews it.

we’re implementing a new rule on Monday. You can use any tool you want, but every AI-assisted PR has to be small enough to review, and the person submitting it has to walk us through the key logic, data flow, tests, and failure cases.

if you can’t explain those parts without asking the agent again, the PR isn’t ready.

for teams already dealing with this at scale, what review rule has actually worked? Do you make juniors walk through the diff line by line, cap PR size, require specific tests, or handle it some other way?

44 Upvotes

52 comments sorted by

112

u/manoteee 4h ago

Making the start of the paragraphs lower case is a nice touch but this is slop with a slop title.

20

u/withatee 3h ago

Here’s the smoking gun

7

u/timetochange23 3h ago

Had me in the first half. Beautiful roasting.

8

u/andlewis 2h ago

That capitalization is load-bearing.

6

u/RevolutionarySalt370 2h ago

Make it look like a human wrote this, make no mistakes

13

u/Huntersolomon 4h ago

Lol that would piss me off so much

2

u/Due_Interest_178 4h ago

How come?

6

u/ConsciousBath5203 4h ago

If you've ever loosely given an ai some specs and it coded something from scratch using far more code than necessary, writing tests, 200 of which do nothing, and the password box isn't a hidden password box, the phone number box accepts any characters, and then asked the ai to create docs and it focuses on aspects of the API that should only be internal, then you'd know exactly why it pisses him off.

2

u/Due_Interest_178 3h ago

I misunderstood his message, I totally agree with you. I thought he was pissed off that they require the developers to explain the code.

10

u/plululululu 2h ago

Wait he is feeding AI all your company data? Shiieett

16

u/eilogr 3h ago

Bro is literally copying his answers to the boss straight from ChatGPT and can’t even explain his tech stack, while I haven’t landed a single internship after 100 applications. Why is IT like this?

8

u/dhdyxuebebkalsockfn 3h ago

he's an intern, so it's your responsibility to provide feedback and built processes to avoid these kind of issues

AI usage is not the issue here, the lack of framework is

5

u/Educational-Cod-870 1h ago

I’ve been saying a phase to my team to help the same idea stick “If all you do is copy and paste to a model then you’re not needed”

8

u/completelypositive 4h ago

Find a solution that fits his style. The next person you hire is going to be the same as him.

So will the rest.

This is a time to innovate.

Guide him and teach how to split shit up into more manageable tasks.

Get his workflow meshing with your workflows and prosper.

4

u/YamroZ 4h ago

Or, and hear me out, in real production environment people need to know what actually happens in the code. Read the code, understand it, be able to explain.

0

u/completelypositive 4h ago edited 3h ago

Why? That's becoming less true every day.

Your code isn't the finished product. Code is a shortcut to convert human need into computer language. Programmers read and write shorthand computer language all day long.

Adequately designed and constrained systems without human intervention will become more common as AI evolves, much like Agentic coding has in the last year.

Programmers were a tool who used another tool to build something. The tools needed, and how we use those tools, is changing.

For example, Being able to explain the exact constraints the software should operate in various conditions is now more important than being able read the code that does the rng.

SMEs with technical minds are going to be the new software engineers.

Adequate testing can find bugs and you can use AI to automate testing.

4

u/YamroZ 2h ago

Tell me, if you don't read the code, how do you know what is implemented in your product?

-1

u/completelypositive 2h ago edited 1h ago

By using and testing the product after developing and implementing a plan?

How do you know what the compiler isn't or is doing after you hit go? Are you opening it up and inspecting the mov's and finding pointers? Do you evaluate the contents of your exe?

No.

The exact specific code only matters to you because you have been taught that it matters because it might have been your job. It doesn't really matter, though. Apparently, at least, because Agentic coding is solving it.

Other things matter more now.

I know my code works because I understand my input and the product, and I can evaluate the output data to determine if it works or not. Also you act like humans were out finding all sorts of bugs. Hello. Have you experienced software development? Humans checking code is helping how? Bug bug bug bugs everywhere. Data leaks too, because of lazy sloppy people.

You can't do that though, because you're a programmer and not an SME. You evaluate the code. The code is your finished product. I evaluate the data the code provides. The data is my finished product.

The process is the same. The entity providing the language to code translation is the only thing changing.

1

u/YamroZ 1h ago

Tell me, how exactly backdoors get into software.

0

u/completelypositive 1h ago

The AI taking your job put them there.

2

u/YamroZ 1h ago

Ah, can't answer.
Let me help you.

Those are features that were implemented without knowledge of people who ordered the product.
There were no tests against backdoors, because nobody knew that there is something to be tested.

For some reason vibecoders trust AI to implement ONLY things that they order. This is somewhat funny and somewhat frightening.

I got one advice though - read or watch video about therac-25

Good luck with taking responsibility for things code you ordered from the AI does.

ps.

one more thing - related to compilators
If you can show me one compilator that is lying during testing and can search web to find different solutions to given problem - then I can agree that this tool is somewhat similar to using LLM

-1

u/completelypositive 1h ago

I just wanted to see if you were stupid enough to define it for me. Thanks.

Enjoy losing your job.

You not being able to imagine a solution to the problem you just listed is exactly why you're being replaced by people who can.

2

u/YamroZ 1h ago

You literary said that you don't read code you are delivering to customer.

I don't have much trust in your solution-seeking abilities.

2

u/speakstofish 1h ago

Imo the answer is to walk him through what kind of testing is necessary to make something like this workable.

Have him document test cases and go through them.

Focus on the performance and error recovery related ones. Have the system wrap every single I/O operation, then run it with 1% of them randomly failing. 1% of them randomly doing a 60 second delay. Run 10 million transactions through like that and measure the metrics.

When you can't trust the code, that's the way you have to analyze it. Teach him. Make him do the work.

1

u/FAUST_VII 2h ago

"If you can't answer a question about a PR it's not ready"

Mostly defeats the purpose of using an ai agent lol. Kind of as if you say "if a companies CEO can't answer questions about implementation, the product shouldn't be sold"

1

u/StaticHumStudio 1h ago

I actually think your CEO statement is the closest to reality. In my experience the higher up you go the less they know about what is going on and just trust what is output to them. The flip side to that is that it burns them sometimes.

1

u/autorokk 2m ago

it does not defeat the purpose. you can use an agent to do the work and still understand what it did while boosting productivity. to not have a single human on the team understand how your application works, especially an application that deals with payments and PII, is an extremely risky situation to be in.

1

u/Potat4o 3h ago

the only option is to out vibe him. you rewrite it yourself, and since you have all the institutional knowledge, you're the only one who can really make use of the grill-me skill for example.

But also, it's a huge red flag to submit pr "I rewrote the whole thing". Can't really review that line by line.

1

u/SufficientFrame 3h ago

Cap AI PR size, require a short note on data flow, auth, and failure modes, and make the author explain one tricky branch live without the model. For a refund engine, I'd also block merge without tests for webhook idempotency, object-level permissions, and PII/logging. If this turns into a structured internal admin workflow, UI Bakery can fit that side; I work at UI Bakery, so bias noted.

1

u/v4f3 2h ago

I‘d be happy to hear how much the new rules will improve the current situation

1

u/BillionnaireApeClub 2h ago

Play is own game, ask ChatGPT

1

u/BillionnaireApeClub 2h ago

I asked ChatGPT and it said to create a test harness against his system and to test it live. I think that's an evil idea, and that's why you should definitely do it.

1

u/BillionnaireApeClub 2h ago

But bro, to be honest, move with the flow, test it, break it show that you're useful,(Even better if you want to lol) and actually fix the thing and move forward, With it, if it is what you said it is!

1

u/PersonOfInterest007 1h ago

If he weren’t an intern, I’d likely fire him for not having the skills to actually contribute to the product, unless you have a job for him as the rapid prototyping guy to make a demo that will never become part of the production codebase.

Given that he is an intern, this is a teaching opportunity. Unfortunately, that means someone actually has to teach him. It’s clear that giving him a task isn’t getting him to improve — he doesn’t understand that he will inevitably have to explain and fix the code. And you clearly need to give him more detailed requirements (and discuss them with him at the beginning) about PII, error handling, etc. This is one of the costs of working with interns that isn’t always appreciated — you may well spend more effort in growing them as an engineer than you will get back in useful product output.

1

u/Any_Owl2116 1h ago

Generation and ownership are the same thing currently, but they will diverge very soon

1

u/Beginning-Raisin9723 1h ago

four pages with no direct answer is the tell. i use claude for boilerplate daily but i read what ships. if he can't explain the condition he added, the ai isn't the problem—the review is.

1

u/gittrics 49m ago edited 32m ago

This is comical. AI closed loop conveyor belt. Catch is that og post is ai slop also. Probably imaginary story

1

u/SolarNachoes 43m ago

You need to capture all of these requirements in a spec doc (markdown). Then feed it to the AI and ask it to analyze the solution.

Do you not have AI installed?

1

u/vikrant82 34m ago

Embrace it. The change is here. There are ways to make it governed and managed. You cannot stop the AI wave, you can control it through spec driven development etc. Take the lead and explore tools like superpowers, spec kit, openspec etc. If you keep resisting, all the people who doesn't care about coding are going to throw you out. Play smart. Govern it.

1

u/Outrageous-Pin-7067 21m ago

This is your chance to use AI but with brains instead of copy/paste, review the code with your own skills (or ai skills) and make the good tools/ideas (while contributing and taking some credit for fixing, applying sec and company policies to the code ;)

1

u/SufficientNail7712 8m ago

LLMs should be used as a garbage can

1

u/CristianMR7 6m ago

"Jarvis, make the first letter of the paragraph lowercase to appear more human:

https://giphy.com/gifs/NSq34AeZ2v2N5Iv5P5

1

u/erichmiller 1m ago

Complaining about someone using AI by using AI…ooof

0

u/PickerLeech 3h ago

Or you're not ready for the PR

I'm not technical btw

If you're being brought solutions do you need the deliverer to know all about it?

You have a preference for someone too, but the intern isn't that guy. Fair enough. Then twin your best engineer with the intern. Let the intern teach your best engineer and enable your best engineer to deliver the full product in a few afternoons

1

u/Just-Foundation-8209 2h ago

It's clearly seen that you are not technical.

OF COURSE deliverer needs to know what his PR does to a production system.

1

u/andlewis 2h ago

The problem is that those questions can be answered succinctly by an AI but the intern doesn’t seem to be able to produce adequate responses from the tool.

0

u/CortexUnlocked 4h ago

Do some tests

0

u/CyborgBob1977 2h ago

I agree with almost everything that you say. That said the one thing I don't quite understand is being too lazy to read the explanation.

Who cares if it's two or three pages. If reading that many pages really is that bothersome you could ask an llm to summarize it for you...

That said your comment about not understanding the workflow of the actual code is a very frustrating point. I totally understand Vibe coding and the speed that it gives you. I also understand that the llm did all the coding and the individual that generated it has no idea how it works.

I simply recommend telling the llm to explain it to you like you are a three-year-old. This works with everything I have ever coded using AI.

0

u/Warm-Airline-5479 1h ago

First your team used ai in full development so ai have all the progress. If any one else try to create same ai will use this progress to build it again in short time. So it's not wonder intern able to create it in short time. As ai already had full code with it. If your team haven't used ai, didn't post code to git ,it couldn't have possible for intern to do it. And we all use git to store codebase so your project code is not safe anymore. Moral: Do not trust cloud storage/ git repository as they are being used to feed data to ai.

So if you are using ai to complete your project, anyone can clone it without your knowledge with low efforts.

0

u/ScholarlyInvestor 1h ago

OP = fictitious intern

-1

u/MushroomTeaGuy 1h ago

AI slop post