Bytes
Short practical lessons on programming, product, presales, telecoms, government, and defence.
Ship thresholds, not averages
Averages hide the user experience that matters. Thresholds — p95, p99, or the percentage exceeding a pain point — tell you what your product actually feels like.
Handover lives or dies on the neighbour list
A dropped call in strong signal is almost always a missing or misconfigured neighbour relation. The neighbour list is the most under-maintained table in the RAN.
Name your booleans at the call site
A function call like sendEmail(user, true, false, true) forces the next developer to read the signature before understanding what each argument does. Name the booleans instead.
The real requirements live at the last mile
A government IT system designed from the head office perspective will fail in the field. The user with the weakest device and worst connectivity defines the actual constraints.
The technical win is not the commercial win
Getting a technical greenlight from the evaluation team is necessary but not sufficient. The commercial decision is made by a different person with different criteria.
Discovery is cheaper than delivery
The most expensive mistake is not building the thing wrong — it is building the wrong thing well.
Prefer explicit state machines over boolean flags
When a process has more than two states, boolean flags silently lie about what the system can do.
Backhaul is the new bottleneck
As spectral efficiency improves, the transport network becomes the binding constraint on user experience.
Interoperability is the real defence challenge
Defence forces rarely buy entire systems from one vendor. The integration layer that connects them is where programmes succeed or fail.
The RFP is not the specification
Government RFPs describe constraints, not the ideal solution. The best bids address both the written ask and the unspoken operational reality.
Isolate the RF fault before tuning
When a mobile service degrades, separate radio, transport, and core issues before you start changing parameters.
Price the expensive constraint
A product tier should protect the scarce thing in the system, not simply hide useful buttons behind a paywall.
Log state transitions, not just events
When debugging production workflows, the useful trail is how state changed, not that something merely happened.
Make presales risk visible before the demo
A good technical presales note separates what is proven, assumed, and still risky before anyone sees the shiny demo.