๐ค What do you consider โvibe codingโ?
Originally published on LinkedIn
๐ค ๐ช๐ต๐ฎ๐ ๐ฑ๐ผ ๐๐ผ๐ ๐ฐ๐ผ๐ป๐๐ถ๐ฑ๐ฒ๐ฟ โ๐๐ถ๐ฏ๐ฒ ๐ฐ๐ผ๐ฑ๐ถ๐ป๐ดโ?
โVibe codingโ when originally coined was meant to mean non-technical people building software with AI, with little concern or no care about code, architecture, implementation details, or code quality.
That definition for me is too narrow and creates an unnecessary divide between โtechnicalโ and โnon-technicalโ people and can hide problems with AI.
Engineers often criticise vibe coding because the generated code can be fragile or unmaintainable, I'd argue engineers can generate as bad.
If an engineer is throwing prompts at AI without structure, review, or directionโฆ is that really different?
To me, the distinction isnโt technical vs non-technical.
๐๐โ๐ ๐ฝ๐น๐ฎ๐ป๐ป๐ถ๐ป๐ด.
My definition of vibe coding is:
โก๏ธ ๐๐ฒ๐ป๐ฒ๐ฟ๐ฎ๐๐ถ๐ป๐ด ๐ฐ๐ผ๐ฑ๐ฒ ๐๐ถ๐๐ต ๐ถ๐ป๐๐ฒ๐ป๐, ๐๐ถ๐๐ต๐ผ๐๐ ๐ฎ ๐ฐ๐น๐ฒ๐ฎ๐ฟ ๐ฝ๐น๐ฎ๐ป ๐ผ๐ณ ๐ต๐ผ๐ ๐๐ผ ๐ฎ๐ฐ๐ต๐ถ๐ฒ๐๐ฒ ๐ถ๐.
That intent can still be detailed: โข Features โข User experience โข Performance goals โข Architecture constraints โข Testing requirements โข Scalability concerns
But the implementation path is discovered dynamically through AI interaction rather than fully designed upfront. I enjoy it and use this mode as well as planned and spec based approaches, and I'm an engineer, but I would say I "vibe coded" it as followed my engineering instincts more than a plan.
Thatโs why I think both non-engineers and experienced engineers can absolutely be vibe coding.
A founder might say: ๐ฌ โI want a dashboard that does X, Y, and Z.โ
An engineer might say: ๐ฌ โRefactor this area, improve test coverage, separate concerns, and reduce technical debt.โ
In both cases, the intent is clear.
In both cases getting there is figured out by AI, you start at a prompt, not design, the danger of the output drifting through random iteration is exactly the same.
๐ง๐ต๐ฎ๐โ๐ ๐๐ต๐ ๐๐ถ๐ฏ๐ฒ ๐ฐ๐ผ๐ฑ๐ถ๐ป๐ด ๐ฟ๐ฒ๐พ๐๐ถ๐ฟ๐ฒ๐ ๐ฎ ๐ฑ๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ ๐บ๐ถ๐ป๐ฑ๐๐ฒ๐.
You need checkpoints. You need to review constantly. You need to know when to revert code, recognise dead ends, and stop chasing ideas that only appeared during iteration.
Because AI is excellent at maintaining momentum.
โ ๏ธ That does not mean it is moving in the right direction. As an architect I use direction alot and I know that those decisons are backed by a longer term plan and goal.
My biggest concern is that people assume: โAn engineer produced it, so it must be engineered properly.โ
Thatโs simply not true.
Weโre already seeing huge amounts of poor-quality AI-generated code entering production systems, from engineers and non-engineers alike, because of weak planning, weak review, and too much trust in iterative AI output.
So it's critical to know when you are winging it and "vibing" especially as an engineer.
๐ช๐ต๐ฎ๐ ๐ฑ๐ผ ๐๐ผ๐ ๐ฐ๐ผ๐ป๐๐ถ๐ฑ๐ฒ๐ฟ ๐๐ถ๐ฏ๐ฒ ๐ฐ๐ผ๐ฑ๐ถ๐ป๐ด?
#AI #SoftwareEngineering #VibeCoding #ArtificialIntelligence #Programming #TechLeadership #Architecture #Developer #Coding #TechDiscussion