There's a growing trend in software development that I find deeply concerning โ and it's bleeding into hardware and firmware teams too. It's been called "vibe coding": the practice of using AI tools to generate code based on feel rather than understanding, accepting whatever the model produces because it compiles and seems to work.
The seduction of speed
The appeal is obvious. AI code generation tools can produce working functions, modules, even entire applications in minutes. For a founder under pressure to ship, or a junior developer trying to keep pace, the temptation to accept the output without truly understanding it is enormous.
In web development, this is risky but often survivable. You ship a bug, you patch it, you move on. In embedded systems and firmware, the consequences are fundamentally different.
Why hardware can't afford vibe coding
Firmware that "seems to work" on the bench can fail catastrophically in the field. Memory leaks that only manifest after 72 hours of continuous operation. Race conditions in interrupt handlers that trigger once every ten thousand cycles. Stack overflows that corrupt adjacent memory in ways that make debugging nearly impossible.
These aren't bugs you find by running the code and seeing if it compiles. These are bugs that require deep understanding of the hardware, the RTOS, the memory model, and the specific timing characteristics of the target platform. No AI tool today can reason reliably about these interactions.
What we should be doing instead
AI tools are extraordinarily useful when used correctly. The right approach is to use them as accelerators for engineers who understand what they're building โ not as replacements for understanding itself.
Use AI to generate boilerplate, scaffold test harnesses, draft documentation, and explore architectural options. But always review, always understand, and always test with the rigour that safety-critical and production-grade firmware demands.
Invest in your engineers' ability to reason about systems. Teach them to read datasheets, understand timing diagrams, think about failure modes. These skills are becoming more valuable as AI handles the routine work โ not less.
The governance angle
For boards and technical leaders: if you don't know whether your team is vibe coding, you need to find out. Establish code review processes that specifically look for AI-generated code that hasn't been properly validated. Make "do you understand why this works?" a standard question in design reviews.
The startups that build genuine engineering discipline alongside AI adoption will be the ones that last. The ones that substitute speed for understanding will ship products that fail in ways they never anticipated.