There Are No Small Delays

Software development is (arguably) one of the most complicated, mentally demanding disciplines, built on increasingly complex layers of abstraction, comprised only by the substrate of thought. One is always juggling multiple complex data and procedural flows in one’s mind.

To quote Dijkstra (a prominent pioneer in Computer Science) on the subject:

From a bit to a few hundred megabytes, from a microsecond to a half an hour of computing confronts us with completely baffling ratio of 109! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology. He has to be able to think in terms of conceptual hierarchies that are much deeper than a single mind ever needed to face before. […] For [many], an automatic computer is something like the familiar cash register, only somewhat bigger, faster, and more flexible. But the analogy is ridiculously shallow: it is orders of magnitude worse than comparing, as a means of transportation, the supersonic jet plane with a crawling baby, for that speed ratio is only a thousand.

(The source, while lengthy, is a worthwhile read.)

One consequence is that thought interruptions are costly. Now, a single interruption is always costly, as aptly described in the sort-of-famous comic, “This is why you shouldn’t interrupt a programmer”:

This is why you shouldn’t interrupt a programmer

(source)

So a single interruption is quite costly. A delay lasting for one second may cost orders of magnitude more in productive time lost.

Multiple interruptions (even seemingly minor ones) not only add up incrementally, but their total result is even worse than their mere sum, as momentum and concentration needs to be picked up time and again. This includes indiscernible amounts: the same way that a bad shoe or an un-warmed-up muscle might hinder a runner (physical hinderances), if a programmer has to stop to think about anything but the task at hand, it breaks his/her flow. The issue at hand is not (only) the inevitable gradual accumulations of seconds and minutes wasted, but the loss in overall momentum.

Bottom line: There Are No Small Delays. Every delay, sidetrack, interruption – by its very nature – costs many times its size in missed mental productivity.

This why keyboard shortcuts matter. Why short URLs matter. Why dealing with timesheets, bills, and emails is destructive; why you shouldn’t have to ‘just remember this small thing’ like having to turn the light on in the staircase at your office, or one of many passwords; why I never answer the phone.

A moment’s distraction could mean a productive hour lost.

There Are No Small Delays.

Advertisements

One thought on “There Are No Small Delays

Comments are closed.