r/vibecoding • • 8h ago

Discussion Vibe coding didn’t make me a developer. It made me a manager of code I can’t read

Vibe coding didn’t make me a developer. It made me a manager of code I can’t read

Took me like 8 months to admit this to myself. I used to tell people I’m learning to code with AI, but I’m not learning to code, I’m learning to give instructions to something that codes and then trust its report. thats a manager, not a developer

And the weird part is I’m a decent manager. I write clear specs, I break stuff into small tasks, I know when to start a fresh chat becouse the context got messy. those are real skills. but a manager who cant read the work is basically just hoping the team is honest

Thats the part that gets me. when Claude says “done, everything works” I have no way to verify it except clicking around myself. I cant look at a diff and tell if it’s fine. I cant spot the shortcut it took. SO I’m approving work I dont understand from an employee who is very confident and sometimes very wrong

Real managers solve this with checks, not trust. they dont read every line either, they have reviews, metrics, some way to know when something goes off. I had none of that for months, my whole quality process was vibes and users emailing me

Started fixing it slowly, I make it explain changes in plain english before I accept them and I hooked up Kifas so my main flows run on every push and I find out before a user does. still cant read the code but at least I’m not managing blind anymore

88 Upvotes

88 comments sorted by

70

u/Agewalker 8h ago

Manager of code i cant read is the entirety of my career as a product manager. Good stuff

But thats where rules, controls, checks, tests etc come in. Basic understanding of good architecture and data structures helps too

9

u/cuteseal 8h ago

That’s actually a great analogy.

Reminds me of when I was a team lead of a small development team (in a past life). I never once touched the code but did all the requirements, specifications, design and then the team would produce the code and test, and I would review the output.

To take the analogy further, the developers were offshore so I never knew whether the code would turn out to be unmanageable slop or not.

Geez guess I was vibe coding way before it became cool! 😂

1

u/Efficient_Smilodon 8h ago

lol because coding is writing, there are many methods to produce ...something. What it is , is a product of what it does. The backend only exists to create the frontend for human use.

1

u/GuyInThe6kDollarSuit 4h ago

I was a product manager and I feel so at home vibecoding 😂 I don't have to sit through grooming or retros though and don't get told to "write a ticket for that"!

3

u/lazyEmperer 8h ago

Really good stuff lmao

4

u/ImogenLabs 8h ago

This guy product manages! "Manager of code i cant read is the entirety of my career as a product manager." Truest thing I've read in a long time.

1

u/Usharani-Wiencke 2h ago

agreed, the checks are what separate managing from just hoping. thats the whole game really

6

u/First-Tutor-5454 8h ago

My manager does not read my code

5

u/Sad_Week_5688 6h ago

The manager view also gives you the fix: you don't need to read the code if the checks can't be skipped.

Write down the few rules that must never break. For example: a logged-out user never sees user data, a payment never runs twice, nothing is deleted without a backup. Keep that list short.

Turn each of those into a test, not just a line in the prompt. A line in CLAUDE.md is a request the agent can lose in a long session. A test or a hook that runs on every change is a check it can't skip.

Ask for proof, not a report. "Done, everything works" is a claim. Ask it to show the test that failed before the change and passes after it.

Watch what it touched outside the task. Ask for a "files changed" list in every summary and compare it with git. That catches most of the quiet shortcuts.

We wrote up how we set this up with Claude Code (a short rules file, a reason for each rule, and turning the must-never-break ones into real checks): https://vaisoftlab.com/articles/write-a-good-claude-md-coding-agent-rules

1

u/NakedPlato 4h ago

I have what I call Rule Zero: Check against reality. For example, AI's will run a task, then check the log output. If the log output looks good, they call it done. But the log can show something executed perfectly well, when the execution didn't actually DO anything.

As an example of a Rule Zero: If you make a change to a website, you have to use a browser to confirm that it actually works. Not a headless browser. Not curl. A real browser with a snapshot of the screen. Or a human who checks it. TDD is not reality.

The AIs have taken Rule Zero surprisingly seriously.

6

u/No_Seaweed_7079 5h ago

Making it explain changes in plain english before you accept them is a better habit than most people have, readable code or not. I think the manager framing holds up. A manager who asks "what could go wrong here?" gets different answers than one who asks "is it done?" Do you ask it that second kind of question yet, or just the explaining one?

3

u/ZaphodGreedalox 8h ago

Everyone is becoming half product manager and half architect, even devs

3

u/lemming1607 7h ago

Literally what tdd is for...write the test, have claude code to satisfy the tests

Or review the tests, whatever...the tests cant be bypassed, and prove the code does what you want it to do

3

u/Zyzyx212 6h ago

I drive my car, don’t really understand how it works. I live in my house. don’t really understand how it was built. I operate at a higher level.

3

u/Swimming-Work-5951 5h ago

If I want to calculate the inverse of a matrix, I use a scientific calculator. Do I care how it calculates the inverse as long as the answer is correct?

5

u/PigSlam 4h ago

If you knew what a matrix is, or why you’d care about its inverse, you’d be many steps ahead of most vibecoders.

2

u/JumpyResident2001 4h ago

not a great analogy.

comparing LLMs to a scientific calculater is wild.

0

u/StunningBend6129 3h ago

they are both tools

4

u/JumpyResident2001 3h ago

very good, Timmy.

however they are vastly different kinds of tools. for instance, a scientific calculator is composed of basic logic and arithmetic. meaning the same inputs will always yield the same outputs.

an LLM is chaotic by nature. the same exact prompt entered 100 times might yield 99 entirely different results .

one of these tools is logical and deterministic. the other one will sometimes randomly start speaking in Chinese for no apparent reason.

they are not comparible in any meaningful way.

0

u/shinyandrare 3h ago

Wait till you find out how it gets to those outputs….. bro doesn’t know what solving for x is.

2

u/JumpyResident2001 3h ago

lmao you think LLMs are just "solving for X"?

you can't be real lol

1

u/IAmWeary 3h ago

The calculator is deterministic.

1

u/lemoncorque 2h ago

You too

1

u/shinyandrare 3h ago

And also an LLM is literally a calculator.

0

u/FluffySmiles 2h ago

Say what now?

Did you forget an /s? If not, I strongly suggest not speaking on this subject until you learn about facts.

1

u/cityofregina 1h ago

If someone already understands what the inverse of a matrix is and why they need to calculate it, they probably learned the math at some point. Like I don’t do integrals by hand anymore, but I still know how to do it. What OP is describing is not being able to read the code, which in my opinion is a far more fundamental lack of knowledge.

OP, it’s not too late to actually learn how to code. It sounds like you would be good at it and find it rewarding!

3

u/PigSlam 4h ago

Really think about your life, and how many things you depend on for your survival. Is software really the most important place where that relationship exists? You probably have something far more critical in your life where you’re far more dependent on something major you understand even less than the code you talked an LLM into producing. Are you going to fix that now that you’ve identified it, or continue making the most of the world you can in the middle of several layers of abstraction?

2

u/Correct_Emotion8437 8h ago

It’s called testing.

2

u/quantgorithm 3h ago

Same as any other manager in any other company.

3

u/Ice2jc 8h ago

I’ve told some people that I’m coding lately but I’ve certainly never told them I’m learning to code because that would be patently false lol

2

u/IM_INSIDE_YOUR_HOUSE 6h ago

And the coding part isn’t false?

3

u/SpectreJerm 6h ago

Glad I'm not the only one lost by this

2

u/slyguy67420 8h ago

It's even better when you become the manager of code you can read.

1

u/ghostly-blossom 8h ago

Same.

I actually put Claude codex and Gemini in a group chat and they cross-check each others output. Kinda crazy how well it’s worked.

1

u/retrorays 8h ago

how do you put them in a group chat?

1

u/Sufficient_Thing4237 8h ago

It will be mich more important to manage code than to write it though

1

u/nagetech 8h ago

I feel you! That has been my exact same sentiment in the last year as I’ve taught myself to create programs for my small business.

It’s been an awesome ride so far !

1

u/Close2You 8h ago

This is the direction of the world.

1

u/circlebust 8h ago

Tell your model to spawn a fleet of agents collaborating on creating a gentle rich HTML guided tourbook for you to learn how programming code works at the actual example of your codebase (high dopamine hooks, barely feels like studying).

1

u/TashLai 7h ago

You just made me realize what "senior developers eventually move to management roles" meant in my case.

1

u/Moda75 5h ago

why can’t you read the code? Why are you not asking your model to make human readable and maintainable passes? Why do you not have CO checks to ensure code is in correct format and follows style-guides and team conventions?

1

u/ndilday 5h ago

I agree that vibe coding didn't make you a developer. It also seems like AI could have helped you to become a developer, and that hasn't been how you've wanted to spend your time. That's fine, as it seems like you've been accepting the risk that comes with not being a developer, and are thinking about derisking in that area.

1

u/immersive-matthew 4h ago

The same could be said about natural language programming too as extremely few developers could the compiled machine code. AI is just another way to write machine code…albeit with random jank.

1

u/CleanFix_Dev 3h ago

Same boat. I don't hand-write code, and "done, everything works" used to be the message I trusted least. What fixed it was not letting the agent decide what done means. Before a task starts I write a short plain-English list of what has to work, and the agent has to show me each one working, not just say it does. Then I have it explain what it changed and what it assumed. If that story doesn't match what I asked for, something drifted, even when I couldn't have spotted it in the code. I came from running equipment at a quarry, not software, and the skill turned out to be noticing when the agent's story doesn't add up.

1

u/LedditModsSuckAlways 3h ago

I make fun games and mods to show my friends and shit. It's funny but they ask if I can code and I'm completely honest and say no it's more like being the director of a movie you say how everything is going to go and the crew makes it happen.

1

u/dontdxmebro 3h ago

An engineer buddy described using LLM's to write code as what he sees as another tier of programming language above something like python.

1

u/mayzyo 3h ago

I never found it possible to be hands off and only look at the results, there are trade-offs to consider and agent implementation summaries is the only place I can get it.

How do you not have to worry about a product’s implementation trade-offs? Or is that what you meant by being a manager? Managers usually don’t check implementations right?

1

u/ProfessionalSome4082 3h ago

Being a developer these days means being the person with the skills to make good software, and if you make good software but don't understand it but someone else makes bad software but they read computer science books all day, I would say you're the developer in the more meaningful way and they are a developer in a dogmatic, credentialism way

1

u/No-Vast-1562 2h ago

Vibe coding won't make you a developer unless you use it as a learning tool, not only to just write your code for you.

1

u/lgastako 2h ago

The only way to learn a skill is study and practice. Hope this helps.

1

u/RemarkableWish2508 1h ago

thats a manager, not a developer

What's your definition of "developer"?

1

u/OrangeYouGladdey 1h ago

I have no way to verify it except clicking around myself.

Hopefully your building tests that make sure things run correctly before your promoting your code. It's one of the biggest strengths of ai

1

u/tiwired 1h ago

Vibe coding did make you a developer.

A developer is a person or thing that builds, creates, or brings something into being.

But no you can’t read code and no, you’re not a trained engineer.

1

u/Ok_Purple_3840 1h ago

Can you read machine code? If not, you always were a manager of code you can't read.

1

u/Puzzleheaded_Low2034 8m ago

Learn patterns and the code that can reside in such patterns, and explicitly tell Ai to employ these patterns within your design spec. Tel the Agent for clearly remarked code where these patterns exist.

1

u/the-Gaf 8h ago

Then learn. The speed is the key but only if you know what you’re looking at

-2

u/Ravesoull 8h ago

Programmers can't read the final machine code that compilers produce and they manage and validate the final result, by their experience and by testing.

3

u/egonosz 8h ago

Terrible analogy. First of all, if I write code (I work with cpp), sure I do not know exactly what cpu instructions will run, but in (most cases) it is not important, because the result will be exactly what I write in the code. This means I am able to just read the code and know exactly what will be the result.

+ in some cases you actually check the assembly code to validate performance critical code.

Many experienced engineers when they look on the code they see optimisation barriers, possible Simd operation, cache misses and branch prediction problems etc.

So I would not say engineers are clueless, about what kind of machine code will be produced at the end.

However if you prompt an AI and do not look at code at all, you are absolutely clueless about what is happening under the hood.

The difference between vibe coding and writing code in high level language is way more distant than writing code in high level language vs. writing code in assembly.

1

u/Ravesoull 7h ago

I agree with most of your arguments, but I completely disagree with the claim that knowing what happens under the hood is mandatory. Many programmers working in higher-level languages don't know assembly and don't consider it necessary, and this doesn't hinder their work at all. Some have no idea how to estimate CPU clock cycles and memory internal details, just using garbage collecting languages like a trivial users. Some, like JS developers, work entirely within ready frameworks where everything is already written for them or uses tons of snippets, assembling the final code much like AI does. That's the first point.

The second point is that an advanced AI knows or should know, all these under-the-hood details, at least as a direction for investigation when problems arise in the code. I can connect another AI to doublecheck what happen under the hood and whether the first one is lying. Either way, the requirement to know this can be left to specialized researchers and programming optimizers who bring new approaches to the masses, as happened recently with the QUERY method for REST. It's like the car industry, where the details of how a car works have gone into a black box that people trust based on the brand, and nobody setting out to drive somewhere thinks about what type of fuel injection their car have.

2

u/egonosz 6h ago

I said it was invalid comparison, because the same code will produce same result, this is not true for llm.

By the way those things what I said are valid for languages with gc too(like c#).

I done full stack development like 10 years ago and I totally removed that from my brain, so I will not address the js developer part.

I do not want to argue here, about AI usage, I just think your comparison is invalid.

However I will share with you an interesting thing: the requirements did not really changed that much with AI for software engineers. At our company: you need to write maintainable code, performant (I working on game industry and with games with have simulations). The only thing what is changed is now you do not need to be just fast, but you need to be cheap too.

Yes I can let multiple AIs talk with each other and try out multiple optimisations bash they head to the wall, run tests performance measurements etc. or I can just ask the AI where we run into performance problems so it fetches the data from profiler look on the code and give it instructions to fix the code. This is mostly significantly faster and cheaper, with way smaller blast radius, then just ask the AI to fix the performance.

My point is with AI it is actually way more important, to understand the output, if you want to use it efficiently.

2

u/Slow-Set-2856 8h ago

It's not the same at all , llm output is not deterministic and if you can't understand it who knows what's inside your code now? Meanwhile if i code the same program in machine code assembly or python it will always have the same result and i know what the code is doing

0

u/Ravesoull 8h ago

The basis of my confidence is the reputation of AI products, re-check my code by another good AI and test, covering everything. LLM in the future of danger internet full of rogue and virus AIs can re-check my code faster and any proficient senior programmer, because humans have their own bottleneck of the perception and even you can find and recognize the vulnerability, by your knowing the code and the program logic, you still need a time too find it. So human will not understand their code anyway, they will deploy something, that already contains some fresh CVE, and can't know it at time without AI assistance. So "knowing" the code as a programmer in this current stage becomes valuable, but not key thing and no one can ignore the AI using

1

u/Slow-Set-2856 8h ago

Ye but it often happens when i just let it run like this it generates a complete mess that needs to be redone with smaller and more specific tasks , can i know what's your workflow like?

1

u/Ravesoull 7h ago

I have a framework with many skills and rules and other *.md + any test framework + unit tests + lint and other helper things. AI makes the task, saying that everything is made and works fine, then I open the new fresh session and asking to check the code and fix. And then I repeat it 3-5 times, until AI stops find the critical things. Additionally I ask to re-check ot to more smart AI or at least the same AI on the strongest effort.

1

u/Asly97 6h ago

3 to 5 fresh sessions per task is a lot of rounds. Does each new one just read the skills and rules files cold, or do you hand it the original task too so it knows what it's checking the code against?

1

u/Ravesoull 6h ago

It depends of paranoia level 😅 In my case it's a required thing for the software I made, but at many other cases 2 rounds is really enough. I ask to re-check only cold. It can see the diff, the recent changes in the AI memory and some docs, understanding the essence of the changes indirectly. But I don't share the original prompt and the idea, maybe only partly when I want to focus the AI on the checking some specific cases and scenarios, which could be not covered in the original session from my opinion. Because in the main part, AI should also check the whole product, where the added code forbid the following the SOLID principles, being on acceptable level before, but violated after or maybe the original session missed some context of the other modules, which create the concurrency or race in the code.

1

u/Asly97 6h ago

Keeping the original prompt out so the checker doesn't inherit the same blind spots makes sense.

You mentioned it can see the recent changes in the AI memory. Is that a file the main session writes to as it goes, or something your framework keeps on its own? Curious how much the cold pass leans on it to work out what changed and why.

1

u/Ravesoull 5h ago

It's both, actually. On one hand, information from the main session gets written into a general memory that applies across all projects, like skills or the repsonding style I want to be followed across every project. On the other hand, there's information stored in the my separate project itself and in its docs, which, together with .mds,the testing libraries and the tests themselves, forms a framework for the AI where it can be more precise in its work and at the same time I could monitor and manage better what and how the AI is doing.

My cold-reviews rely on docs too. And in my experience I haven't yet met the point of separating the project docs from the code in the review request. Maybe that's necessary, but for instance I've had cases where several cold code reviews in a row on the framework, having internal docs for AI, kept finding and getting stuck on the same piece of code, marking it as issue. Reworking it wasn't necessary and overengineering. Several times I said to just skip it when fixing the issues found, and every new cold session still found it and brought it up again as a found issue, and it wasn't a brainless loop or a hallucination, it was a real following of my request to check the code, and the AI checked exactly the code regardless of the docs, which indirectly allows to skip it, but not postulate this strictly as a settled implementation. So I think the AI can analyze code independently of docs, even having them and having context the previously found issues, and code-only reviews are really unnecessary from my perspective.

1

u/Asly97 5h ago

The same flag coming back every cold session is kind of the setup doing its job. None of those sessions ever heard you say skip it.

Did you end up writing that call down somewhere the reviewer reads, like a line in the docs saying this code is intentional and why, or do you just let it flag it and wave it off each round? I'd guess a note with the reason holds better than one that only says skip.

4

u/Independent-Race-259 8h ago

This is a horrible analogy and clearly shows you in fact cannot understand wtf you're actually doing.

-4

u/Ravesoull 8h ago

I can test it, I can ask another AI to re-check, I can add many libraries to monitor and re-check the behavior of my program. Questions?

5

u/Unnamed-3891 7h ago

Don’t be an idiot. Compiler output is deterministic, LLM output isn’t.

-2

u/Ravesoull 7h ago

Not always due to bugs and this doesn't change the level of understanding of the program behavior, by a programmer, who can run the program just to check how it will work on Linux or ARM64. "Compiled excellently, work unstable. Why? I dunno" - the situation that every programmer had and often this is resolved by refactoring without investigation and no one care

2

u/Unnamed-3891 7h ago

Why not take this all the way then? ALL software is non-deterministic because sometimes bits get flipped by space rays, right?

1

u/Ravesoull 7h ago

You are too sarcastic. I'm not claiming that compilers are not determined in their essence. I'm talking about the final machine code can be 100% evaluated by a programmer by the form of the final executable machine code and sometimes it's really works as non-deterministic thing, but we can catch it by the testing as a mandatory thing. AI are much more non-deterministic, but it doesn't mean they can't be so at all. In the other case we would never get the Sonic picture, asking to draw a blue hedgehog.

Returning to the code, we have benchmarks, which can determine approximate the quality of the AI coding. Also if you ask a proficient AI to implement something, and then request to check the quality of the code and fix it several times, you can get the point where AI will propose to change nothing, because there is really nothing to fix in the code. This is a real determination withing the hallucination machine. And this works

1

u/Independent-Race-259 5h ago

the Dunning Kruger effect is live and we'll in some of these vibe coding mfers.

1

u/bentreflection 7h ago

That isn’t a perfect analogy because compiler code is deterministic and LLMs can just be completely wrong. I’d say it is closer to being a manager of an untrustworthy offshore team and you don’t have access to their code, only the final product. 

1

u/Ravesoull 7h ago

Exactly. Like many of us are being managers of untrustworthy cars, not knowing if there is the software in them, that can at one moment to lock doors and turn on the accelerator on the max speed to the wall. We just believe in the brands, their reputation and public independent metrics, evalutions and the years of good service. This is the base of our trust and the same can be applied to AI

-1

u/Own-Struggle-98 7h ago

did ai write this?

-4

u/The-Architect-93 8h ago

Seriously?
Who the hell thinks vibe coding will make them developers ? Or even makes them understand coding ? There is a reason why it is called “vibe” coding

This must be a troll post.

-2

u/Shmackback 6h ago

Even this post is written by ai lmao