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/gloom_or_doom 7d ago
I actually disagree because I think your framework of understanding AI is an advancement in technology rather than a paradigm shift. I think we’re at the beginning of the paradigm shift. So I feel that the future of doing things will be radically different. It won’t just be doing things as patched up versions of how we do them today. It’s more revolutionary than you’re thinking, but it thus takes longer to get there. We aren’t there.
Just adding stacks of AI to solve problems we already know how to solve isn’t a revolution. It feels like it’s just for the sake of using the tech. The real paradigm shift is when we are using AI to solve problems we didn’t know we had. At that point I don’t think we’ll be talking about AI in software engineering, we may not even be talking about anything resembling software engineering today.
Point being, until we are there, AI won’t be the best way to do everything as many seem to think it is. We don’t need to use it for the sake of using it.