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. Weve 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 hes 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 its 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 Im 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 didnt finish until 3AM or 4AM! Its hard for you to see what hes actually getting done, but the boss is thoroughly impressed with his work ethic and dedication.


Hes Developer Man. Hes 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 its 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.