I’ve spent a lot of time building “normal” software: Web apps and dashboards, mobile apps, B2B, B2C.

But I also had the fortune of being on the critical path for several hardware projects early in my career, and the sum of these experiences has left me with an indelible belief: Every engineer and product person should do at least one stint building hardware. Here’s why.

You cannot be wishy-washy about features and requirements

You have to take deadlines and schedules seriously

You may need to be ruthless about cutting scope

What it costs, and how it’s differentiated, really matters