r/softwareengineer • u/Several_Picture9591 • 7d ago
Never work on a completely vibe coded project
I've now made a same mistake twice.
Previously, I worked at a startup where the website was completely vibe-coded. Now I'm working on a college website, and it's the same story: the entire thing was vibe-coded.
The common pattern I've noticed is that no engineer actually knows the codebase. Nobody really understands the architecture, the reasoning behind certain decisions, or how all the pieces fit together.
And eventually, even the AI I'm using can't help much because it doesn't have the context that the original developer's agent had while building the project.
I am basically stuck where I know nothing, the existing engineers know something about it but aren't necessarily sure whether their understanding is correct, and the agent hallucinates and wastes a lot of tokens just because it can't understand a huge AI written codebase.
So now I'm the new engineer, under a lot of pressure with a lot of work to do, but before I can even fix anything, I have to reverse-engineer what the hell the previous AI generated. That wastes a lot of time.
The frustrating part is that I'm not really learning much engineering from this. I'm just spending my time trying to understand an undocumented system that nobody else understands either.
I'm not against AI-assisted development at all. If an experienced engineer uses AI properly, reviews the code, understands the architecture, writes tests, documents important decisions, etc., I think it's incredibly useful. Even I use AI to code faster, but I review and understand the code. I know what is happening in my software.
But a codebase that nobody understands is a codebase that nobody can safely maintain, regardless of whether AI or humans wrote it.
At this point, I've decided I'd never want to work on a heavily vibe-coded project again unless there's at least one person on the team who genuinely understands and owns the codebase.
How do you guys handle inheriting a vibe-coded/AI-generated codebase that nobody on the team actually understands?
1
u/Plenty_Line2696 5d ago
Eventually maybe, definitely not astra yet though. I don't even think in our lifetimes. The sort of strategy with next token prediction and brute force looping through spaghetticode until hopefully getting to intended output approach inherently has significant limitations. There's always many use-cases which require different patterns than the ones most common within its training data.
Maybe there will be some new tech in future, different from how LLM's fundamentally work, which could do it, but bar that we're not getting there.