Back
4 min read

From FPGAs to frontends

What designing a flight controller on bare metal taught me about building software for people — and why the constraints were the point.

My degree ended with a soft-core processor running on an FPGA, balancing a quadcopter in real time. No operating system, no garbage collector, no second chances — just a PID loop, an IMU, and timing budgets measured in microseconds.

It's about as far from a React app as engineering gets. And yet it shaped how I build everything since.

Constraints are a gift

When every cycle counts, you can't hand-wave performance. You learn to reason about what's actually happening, not what you hope is happening. That habit travels: it's the same instinct that keeps a web app fast and a system legible.

Working close to the metal also kills a certain kind of fear. Once you've debugged a timing issue with a logic analyser, a flaky frontend bug feels approachable.

Same craft, different altitude

Whether it's a flight controller or a security dashboard, the job is the same: take something complex and make it behave predictably for the people relying on it. The altitude changes. The craft doesn't.