C/C++ Users Journal May, 2005
"Time is nature's way to keep everything from happening all at once."
John Archibald Wheeler
"Who knows where the time goes?"
Sandy Denny
Few people have thought more profoundly about time than Professor Wheeler. (He's the guy who coined the term "black hole," a gravitational singularity that ties granny knots in both space and time.) And few people have expressed the poignancy of passing time as well as Sandy Denny's haunting song. My personal (nonrelativistic) experience is that time passes steadily and inexorably, and there never seems to be enough to do all the things I want to do. Such is the Human Condition.
Each year holds roughly Pi×107 seconds, or something less than 9000 hours. Many of those hours go toward sleeping, driving to and from work, and taking out the garbage. A typical professional, such as a computer programmer, has maybe 2000 hours per year net time on the job. Try as hard as you might, you're not going to get much more than that per year out of yourself or your employees. And whether management likes it or not, people-hours are not fungiblehalf-price programmers are often way less than half as productive as those of us who are adequately experienced and motivated. That productive on-the-job time dribbles out at about 40 hours per week. If you love what you're doing, or are sufficiently terrified of failure, you can sustain maybe 60 hours a week for a number of weeks. But you'd better take off one day a week if you want to keep up that pace. (God knew what He was doing when He invented the sabbath.) And you'd better allow a week or three of recovery timevacation or light work loadbefore you demand another such push. Once you reach that dread state called "burnout," you have a long claw back to even average productivity. Yes, I know you can work 100 hours a week or more when the deadlines really loom. I've done it myself more times than I care to count. But you pay back that concentrated time at compound interest, because you lose more time to burnout recovery than you ever win through overtime. Annual production goes way down in every enterprise I've seen that demands frequent death marches. Everyone is in a semipermanent state of burnout and doesn't even know it; they've forgotten what "normal" feels like. (My favorite definition of fanaticism is redoubling your effort once you've lost sight of your goal.) Now let's step back for a broader view. A programmer's career typically gets going somewhere between the ages of 20 to 25. I give little weight to the contribution of teenage prodigies, since there are so few of them. The enthusiasm of youth is likewise tempered by a lack of maturity and discipline, so annual production tends to be low despite impressive bursts along the way. And a Computer Science degree is seldom accompanied by training in the real-world craft of software development. All things considered, it's a fair first-order approximation to start a programmer's career clock ticking at about 25. When I got into this business 42 years ago, there were essentially no "old" programmers. (My teenage definition of old was "over 50.") For a long time, I feared that I would run out of steam in my late 40s. Well, I've definitely slowed down since sometime before my 60th birthday, but I'm happy to report that I can still produce. I'm even happier to look around and see lots of "old" programmers who have more than made up in wisdom (or treachery) what they may have lost in physical energy. So I'll modestly put the end of a programmer's career at about 65. There comes a time when even driving around the country in an RV looks better than fixing one more bug. Do the math. A typical career involves maybe 80,000 hours of possibly productive time. And yes, even the most disciplined among us spend some of those hours playing Knock Hockey with paper clips when it's Friday afternoon and we don't want to begin another task that requires deep concentration. I'll leave it to you to compute your own scale factor for your productivity. (Hint: It's strictly less than one.) Many of us will spend less than our full productivity budget doing what we really want to do. A few of us will put in rather more than that typical 80,000 hours. But you can count on the thumbs of one hand the number of people who have likely doubled this estimate. (Another hint: His name is Isaac Newton.) It's sobering to think where all the time goes, but at least it doesn't happen all at once.P.J. Plauger
Senior Contributing Editor
pjp@plauger.com