Keeping your Head Above the Waves

Guy Barnhart-Magen

September 10, 2016

A colleague asked me today how do I manage to keep my head straight with all the different distraction and open issues I handle simultaneously on a daily basis. Although I have given this much thought over the years, when the question came up today I found a nice metaphor to explain this.

When personal computers just came out (DOS era…) most of them operated with a single “task” running in the CPU. You could be running the OS or a game, but not at the same time. This wasn’t very efficient as a lot of time was wasted waiting for user input, or hardware changes, etc.

Then multithreaded systems came to be and allowed different tasks to co-exists, through the use of a system scheduler. The scheduler’s job was to switch between different tasks, allowing them to run in sequence (one after another). The scheduler became very complex over time, with features that allow to govern which tasks should have priority and more resources.

However, the lesson to be learned here is not to switch from task to task - but rather, not to starve out other tasks. The scheduler is very aware that there are other waiting tasks that need access to system resources, and even if there is a high intensity task running at the moment, he will make some time for lower priority tasks to surface from time to time.

Correlating this to time-management is obvious, but the lesson i learned here is that even when you are all focused on the “Urgent/Important” quadrant, never neglect the not-so-urgent, not-so-important tasks - or this will come back to bite you as well.

The adage “Trust, but verify” is especially true when delegating such low priority tasks.

This is a nice post that brings some insights to the points I raised above