Tuesday, July 10, 2012

Responding to life at work


"Can you do this real quick?"
"You should spend some time every day talking to people around you"
"Do not let your emails sit unanswered for too long"
"It is a good practice to tweet several times a day, and update blogs a few times a week"

When are we supposed to get any work done?

I am going to start from afar and consider a historical example. When computers were first deployed in the 50s and 60s, they did batch processing. A job was started, the machine chewed on it until done, and only then was ready to accept another job.

Technology has improved, and today's successful computers no longer employ batch processing.  All of surviving systems are interactive - while processing a task (virtually always) they are ready to respond to input in the timely manner.   A shrinking, yet non-trivial, portion of resources is allocated to the task of always being ready to respond.

Batch processing is largely dead because people who buy computers (which is all of us) prefer systems that respond quickly to systems that respond later and, sometimes, very much later.  People need complicated graphs and tables to understand how well a particular system performs on a complex task, but buyers make a quick and emotional judgement whether a machine is a "good one" based on quick response - or lack thereof.

The same kind of quick and emotional judgement applies to people: good people respond quickly and with predictable timing.   They smile back, answer questions, deliver results in a timely manner.  Excellent people keep up with the news, blog, tweet, and answer strangers' questions via email and various forums online and off.  Great people also take the time to signal "I'm here for you, should you need me" - by sharing advice with the larger world, working with user groups, mentoring, and following up with those they've connected with before.   The best people also find a moment to connect personally: pay attention to people around them, their needs and their motivation. 

So where are we supposed to get any work done? The grunt, technical, head-to-the-ground work that requires sharp technical skills and deep concentration, and constitutes the basis of a technical career.

The only answer is to learn to manage time according to priorities.  Responding to  people quickly and helpfully is very important, so is working with the larger world, and so is getting the grunt work done.  Multitasking does not work, so just apportion the time available to the tasks that need doing.  It helps to accept reality and basic rules of arithmetics when planning a workday. If there are two hour-long meetings, and you'd like to post work-related tweets twice a day, and keep your work day to 8 hours, realize that there is no way to spend 6 hours coding.   That is OK, and you will accomplish sufficient progress in the available time.  Just realize how much time you will dedicate to working on the code, and also leave time to spend reading and writing office email (organizational and technical), helping out coworkers, and getting water and latest office news from the water-cooler.  Blogging is best left for after-hours.

It is important to reserve time for urgent projects, keeping up with the news, maintaining relationships with colleagues past and present, while also getting regular work done at a sustainable pace.   Thinking clearly and deliberately about the daily schedule is important for managing time and productivity.