Arman ZelhaviChief Technology Officer · Essays & perspective

Chief Technology Officer India

Examine the condition the demonstration leaves out

A device can lose power between two instructions. I want our software decisions to account for the world outside the successful demonstration.

01

Plan the interrupted transition

An update process should be examined at the points where a device changes its state, not only when the transfer completes normally. I ask engineers to describe what remains usable if power disappears during each relevant stage and how the device will recognise an incomplete attempt. In one project, retaining an earlier usable image required additional memory and a clear acceptance decision from the manufacturer. The repeated laboratory matrix no longer needed bench recovery, but that was evidence about specified trials rather than every field condition. I bring the recovery path, component consequence and test limits into the release discussion together. The method is useful wherever a partial change can leave a device unavailable, provided the actual product constraints and authorised update process are examined instead of copying a mechanism without its assumptions.

02

Challenge the repair with unfamiliar inputs

A parser that stops failing on the messages used to diagnose it has passed an important regression test. It has not necessarily demonstrated how it handles a wider range of malformed input. I ask for independently prepared cases and a clear account of what the test population covers. Our first correction removed failures from 12,000 laboratory messages, but a 4,000-message holdout exposed two additional cases. That result improved the repair rather than invalidating the earlier work. The engineering discussion should identify the failure mechanism, the expected rejection behaviour and any resource effect of handling bad input. I do not equate a clean test set with complete security assurance. Product acceptance and any required specialist assessment must consider the broader device, its use and the interfaces the exercise did not examine.

03

Preserve meaning when a message returns

An unreliable connection can cause a device to send a record again because it does not know whether the previous attempt was accepted. Treating every received transmission as a new event can therefore misrepresent the underlying activity. I want the design to distinguish the identity of a record from the number of times it is transported, with clear behaviour across restart and replay. Our trial kept 10,000 original records identifiable despite 312 repeat deliveries. The design also had to state what happened when the identity history ended; it could not promise unlimited recognition from finite storage. I work with the receiving-system owner to agree those boundaries. The objective is a defensible meaning for the data, not an unsupported claim that a network will deliver every event exactly once under all conditions.

04

Measure the resource that moved elsewhere

An optimisation can improve the reported measure while making the device less suitable for its actual job. Compression may reduce transmitted bytes but consume more processor time, memory or energy. I ask teams to compare candidates under the same stated workload and retain the other resource effects in the decision. One client selected a 27% byte reduction with 12% additional processing time over a 46% reduction that required 71% more processing time. That was a choice for a specific device and workload, not a universal ranking of algorithms. The comparison did not establish battery-life improvement or lower network charges without further evidence. Engineering leadership should help the client choose which constraint matters and document the compromise, rather than reward the largest percentage in the first column of the experiment.

A leadership conviction

I am less interested in a flawless demonstration than in what the team learns when a condition changes. Power disappears, a message is incomplete, a connection returns twice, or an optimisation consumes more of another resource. Engineering leadership should make those conditions part of the decision while there is still time to change the design.

Start a conversation