It's actually harder to design things that are simple than complex
This. In fact it’s often harder to even figure out what simple is until you actually try a bunch of things, and current corporate software methodologies don’t allow for iteration and experimentation to figure it out; you get one shot before the software’s even exists yet.
At the risk of veering off topic, I think the super power that vibe coding gives you is the capability to experiment quickly, so you can figure out how to simplify something.
> At the risk of veering off topic, I think the super power that vibe coding gives you is the capability to experiment quickly, so you can figure out how to simplify something.
"Quickly" is relative. If you can produce software quickly, that'll become the expected speed, so it's no longer treated as quickly and we will get back to the same situation.
I’m not suggesting that you vibe code the solution; I’m saying you vibe code the prototype.
Rapid prototyping is certainly a good use case for AI, but I don't see it really working for larger work projects where design complexity make be an issue.
Certainly considering how all the parts interact is part of brainstorming alternate system designs, but I think high level architecture / project-decomposition (design) has to occur before prototyping (coding) would be applicable.
Design/architecture by vibe coding doesn't sound good, but using AI to brainstorm different architectures (before any coding begins) might be useful.
While I do think there is some value to vibe coding, spending more time thinking about the final product is just as necessary and often lets you gleefully cut away many gordian knots.
Quickly exploring the implementation details is nice, but it's rare if they ever get in the way. What really gets in the way is shitty planning.