Personal Heroics and the Software No-Life Cycle
By
Bill Wunder
Even
though you saw more of him before the "bust", he's still
around. We’ve all seen him. Not a bad guy really. In fact he
could be one of the brightest people in the shop. Still, there's
a serious flaw in his thinking.
He's that
developer that slips in an hour or two late every day because he
worked so late last night. He's greeted by the big guy with a
smile and at least a symbolic pat on the back. Then he settles
in to catch up on his email and makes a few phone calls, grabs a
cup of coffee and raps with a few other developers about the BE
OS or some really cool new text editor as he finds his way back
to his desk just in time for lunch. After lunch he hits the
meeting focused on his current project and then finds time to
work in a game of darts or shoot a few hoops out back. Then he’s
back at his desk to start some serious development work along
about 4 or 4:30 in the afternoon. By 5 he may even be asking you
for some deliverable which you do your best to produce – because
your so tired from the days work that it’s easier to do it than
to try to reason for a more effective delivery and a more
appropriate schedule - so you can head home in a timely manner
and avoid a “sorry I’m late” scene at home. Everyone wanders out
the door by 6, maybe a few go another half hour on occasion. But
this guy stays. He works on his project in relative isolation
and leisure until 8PM or 9PM or 10PM almost every night. And
when his project deadline approaches he may even have to sack
out on the office sofa because he didn’t finish until 3AM or
4AM! It’s hard for you to see what he’s actually getting done,
but the boss is thoroughly impressed with his work ethic and
dedication.
He’s Developer
Man. He’s developed a lifestyle that portends the legitimacy of
his status as indispensable and key to the success of whatever
that current project is. His lifestyle allows him to claim (and
get!) recognition for working 14 hour days yet be at most
casually productive for less than half of that most days. He
tends to exude confidence and is insufferably full of himself.
His ruse makes the organization look bad to itself and to all of
the honest worker bees of the organization. Worst of all,
Developer Man is depriving himself from the full rich life each
of us deserves and fueling the pressures for you to do the same
if you want to advance in the organization. He must actually put
himself on site, in the office, alone and lonely, possibly bored
out if his gourd, probably senseless and confused, for all of
the very hours when life happens.
In battle and
in disaster, the hero is one that does something for the
betterment of the cause without realizing what has been done
until it is over. The battle might rage for days or the disaster
take months to clean up, yet the heroic acts last but an
instant. The same is true in any endeavor where heroism is
possible. The hero is not a job or assigned role but rather one
who is recognized for a job well done in the most severe of
circumstances and always after the fact. Given that software
development is exclusively a mental endeavor and implicitly
requires iterative cycles of plan-execute-test, I wonder if
heroics are ever even possibilities in the software lifecycle.
Could it be that Developer Man is the Frankenstein of an
unhealthy organization/industry/culture? Would it be more
insightful to look at Developer Man as the culmination of a
systemic dis-ease in the entity he is saving rather than the
bane of the common software geek?
An interesting
web site from NWO, the Netherlands Organization for Scientific
Research that synthesizes a large body of research into mental
fatigue gives pause to those questions:
Fatigue at Work.
For example,
one published study found that after a couple of hours of
mentally tough effort by experienced programmers there was
always a significant reduction in the ability to complete
relatively simple tasks in Excel. Other studies have looked at
chronic mental fatigue in terms of it’s manifestation as
effort-reward imbalance, social comparison, and emotional
contagion: the very modalities necessary for Developer Man to
succeed and persist. Certainly different people will have a
different threshold of time spent working on tough mental
problems before experiencing mental fatigue. The trouble is,
that the symptoms of mental fatigue, including the inability to
keep fixed attention, impaired memory, failure to grasp new
ideas, and difficulty and slowness in reasoning, are difficult
to recognize in the moment, especially if your mentally
fatigued, and can actually be a set up for more serious health
problems such as stress, depression, heart disease and even
diabetes.
Why would the
organization want us to all to give them 14 hour days when the
evidence is so conclusive that even after 8 hours the quality
and quantity of our work can only be returned to excellent with
some much needed rest? What makes them believe that the result
will be different if they get 14 hour days from developers in
New Deli or Moscow?
Oh, and if you
happen to be Developer Man, go home. Get some rest. Rediscover
your favorite hobbies. Take a vacation. Find a friend and sample
from the smorgasbord of life together. Maybe even take a child
on some silly adventure and find out what it really feels like
to be a hero.
Bill
|