I am not a developer by profession or practice. I'm a systems engineer with 20 years of experience. I have never been a developer or written any real code -- I barely wrote scripts -- but since AI came out I have come out of my comfort zone and started building again.
What I see in all the "vibe code everything" problems happening right now is that people are developing blindly. They don't understand the full stack. They see it as frontend and backend, when the full stack actually looks more like this (very partial list, just to make the point):
- Source control
- Frontend application layer
- Backend application layer
- API layer
- Authentication and authorization
- Database layer
- Cache layer
- File/object storage
- Background jobs and messaging
- Web server / reverse proxy
- DNS
There are several other layers under that, and this is exactly why vibe coding fails -- people don't understand the stack. I have spent my entire career building the foundation and the stack that developers use, and sometimes destroy. So when I vibe code, it's different: AI is only writing the application code. I'm still building the entire stack underneath it.
The other piece is knowing all the parts well enough to ask questions and push back. When the AI makes a choice, I can ask why it chose that, or whether something else would be better. I also don't open a session with "build me X." I spend about 30 minutes talking through the process and the ideas first, then have Claude generate the best prompt for itself, and hand that over to Claude Code.
So to be clear: vibe coding is not a bad thing. It only becomes a problem when you don't understand the foundation and just want a single siloed change made with no idea what it touches.
What do you think?