4 ms·
The problem with vibe coding is it demoralizes experienced software engineers. I'm developing a MVP with vibes and Claude Code and Codex output work in many cas
by hamasho 1y ago
The problem with vibe coding is it demoralizes experienced software engineers. I'm developing a MVP with vibes and Claude Code and Codex output work in many cases for this relatively new project. But the quality of code is bad. There is already duplicated or unused logic, a lot of code is unnecessarily complex (especially React and JSX). And there's little PR reviews so that "we can keep velocity". I'm paying much less attention for quality now. After all, why bother when AI produce working code? I can't justify and don't have energy for deep-diving system design or dozens of nitpicking change requests. And it makes me more and more replaceable by LLM.
- bloppe 1y ago> I'm paying much less attention for quality now. After all, why bother when AI produce working code? I hear this so much. It's almost like people think code quality is unrelated to how well the product works. As though you can have 1 without the other. If your code quality is bad, your product will be bad. It may be good enough for a demo right now, but that doesn't mean it really "works".
- theshrike79 1y agoThere is space for a generic tool that defines code quality as code. Something like ast-grep[0] or Roslyn analysers. Linters for some languages like Go do a lot of lifting in this field, but there could be more checks. With that you could specify exactly what "good code" looks like and prevent the LLM from even committing stuff that doesn't match the rules. [0] https://ast-grep.github.io https://ast-grep.github.io
- krackers 1y agoBecause there's a notion that if any bugs are discovered later on, they can just "be fixed". And generally unless you're the one fixing the bugs, it's hard to understand the asymmetry in effort here. No one also ever got any credit for bug-fixes compared to adding features.
- carlosjobim 1y ago> If your code quality is bad, your product will be bad. Why? Modern hardware power allow for extremely inefficient code, so even if some code runs a thousand times slower because it's badly programmed it will still be so fast that it seems instant. For the rest of the stuff, it has no relevance for the user of the software what the code is doing inside of the chip, as long as the inputs and outputs function as they should. User wants to give input and receive output, nothing else has any significance at all for her.
- bloppe 1y agoSure. Everyone remembers from Algorithms 101 that a constant multiple ("a thousand times slower") is irrelevant. What matters is the scalability. Something that's O(n) will always scale better than something that O(n^2), even if the thing that's O(n) has 1000x overhead per unit. But that's just a small piece of the puzzle. I agree that the user only cares about what the product does and not how the product works, but the what is always related to how, even if that relationship is imperceptible to the user. A product with terrible code quality will have more frequent and longer outages (because debugging is harder), and it will take longer for new features to be added (because adding things is harder). The user will care about these things.
- hamasho 1y agoI know how important code quality is. But I can't (or don't have energy to) convince junior engineers and sometimes project managers to submit good quality code instead of vibe-coded garbage anymore.
- bloppe 1y agoI just hope I never have to work at a company like that again
- phyzome 1y agoI find it fascinating that your reaction to that situation is to double down while my reaction would be to kill it with fire.