There is a big brouhaha because Facebook COO Sheryl Sandberg “admits … walk[ing] out of this office every day at 5:30”.
Oh, the shock and horror. The wailing and gnashing of teeth.
Why is this news? Why do folks think that working gobs and gobs of hours, as software developers, leads to better software, faster?
Sure, for something repetitive and methodological like bricklaying, you can crank up the hours worked dial and see the wall getting built faster. And, sure, there’ll be small bugs here and there (sloppiness as the worker gets tired, etc.) but generally nothing that will materially affect the structural integrity of the wall.
Not so in software development, however. It’s been my experience that productivity falls off a cliff not far after 40 hours a week, and quickly goes negative as developers start adding more bugs than features.
Pretty soon, however, the bugs are not small, easily cleaned up after ones, but those that will cause you to go massively in debt. These kinds of wrong architectural decisions when uncovered days/weeks/months later will bring the whole project to a halt while the extent of the damage is estimated and then repaired.
It kinda looks something like this (completely made up but feels approximately correct):
That’s why one metric I have software developers track per week is whether or not they feel they are on a sustainable pace. Hours are a reasonable approximation of sustainable pace (e.g. on average, don’t work much more than 40 hrs/week) but not sufficient. Frequent check-ins are crucial to establish what “sustainable pace” means for each individual software developer.
Given that we also follow the “Results Only Work Environment” total number of hours worked doesn’t really mean anything anyway. With ROWE, you work wherever you want, whenever you want. Every meeting is optional.
All that matters is:
- Are you getting your job done, awesomely?
- Are you, individually, working at a sustainable pace?