When Software Meets Hardware

When software meets hardware, engineering principles remain largely the same, but the sensible defaults often change. Kuldeep Singh describes our experience modernizing a large IoT fleet of battery powered sensors. Our familiar principles remained important; what changed was how we applied them. These practices…

Martin Fowler ([email protected]) ۱۳ دقیقه مطالعهمتن اصلی

Discovering New Sensible Defaults

When software meets hardware, engineering principles remain largely the same, but the sensible defaults often change. This article describes our experience modernizing a large IoT fleet of battery-powered sensors, where familiar software practices met physical constraints, intermittent connectivity, and large-scale deployment. We treated hardware as part of the development environment, built experimentation capabilities, designed devices to explain themselves, treated energy and disconnection as software concerns, and designed deployment together with recovery. The principles of fast feedback, automation, testing, observability, safe deployment, and continuous learning remained important; what changed was how we applied them. These practices emerged through experiments, failures, and operational experience—each challenge helping us replace a reasonable assumption with a more sensible default.

15 October 2026

Modern software engineering gives us a set of practices that we tend to carry from one project to another: AI assisted development, automated testing, CI/CD, observability, automation, simulation, and safe deployment. They work well enough that we sometimes forget to question the assumptions behind them.

خواندن Martin Fowler با پرو

این منبع جزو کتابخانه پرو است. همه منابع ویژه، ترجمه هوشمند و فیدهای شخصی را باز کنید.

MF

منتشرشده در

Martin Fowler

خواندن در منبع

ادامه مطالعه