3 ms·
To me this seems to be about valuing time and personal discipline as much as programmers/creatives vs managers. I know programmers who value their own time as p
by dmbaggett 15y ago
To me this seems to be about valuing time and personal discipline as much as programmers/creatives vs managers. I know programmers who value their own time as poorly as the manager in this story. One would always find these programmers in the kitchen, posting long manifestos on their blog (they have a blog?!) or HN, etc. -- almost never producing any actual code. And I know managers who work very hard to protect their charges from distraction. Most (maybe all) of the very best programmers and managers I know are incredibly disciplined and value their time extremely highly. The never do what I'm doing right now (post on HN) or wander the halls chatting with people unless there is some specific objective they are trying to accomplish in doing so.
The browsing-HN part of the story really struck me. Back at the dawn of the web, when surfing-while-compiling and surfing-while-on-concall first became possible, I worked with Andy Gavin at Naughty Dog. Andy is an extraordinary programmer, but not just because of experience and smarts; he's also very disciplined. When he's waiting for a build to finish, or engaged in some other "idle" activity, he switches emacs buffers and starts working on something else. He doesn't just browse the web while waiting for something; he works in parallel on multiple problems to make the most efficient use of time. He's never really idle. This is pretty hard to do, and requires great discipline. But it means that Andy automatically gets 10-20% more done in a typical work day than his exact equivalent who is surfing while compiling. And he probably has a lower "switching cost" than most, because he's practiced switching so much he's really good at it.
Likewise, the best developers I worked with at ITA Software would write code and fix bugs during what would otherwise be time-wasting periods: during pointless concalls, on airplanes, etc.
Personally, I am now so busy that I measure disruptions in terms of percentages of my day or week. E.g., taking one hour for lunch means I just consumed somewhere between 1/8th and 1/16th of my productive time for the day. (And since I am now in my 40s, I have to be realistic: it's closer to 1/8th than when I was 20-something.) Ditto for a one-hour concall. And then there's switching cost, time to get focused, etc., so multiply those costs by, say, 1.1 for the transitions.
Once you start measuring time-cost this way, you quickly realize that it's not just the PHBs at your particular megacorp -- it's the entire world that's set up to distract you from getting anything done. The very fact that everyone still wants to talk on the phone when it's 10-100 times less time-efficient than emailing or texting a 150 character message is evidence that most people's social needs outweigh their desire to be genuinely productive. And, to be fair, most people view the kinds of people HN readers laud as "10x programmers" as dysfunctional, miserable, obsessive workaholics.
I don't think you have to have "engineers all the way up" to make a software organization productive. I think you need to have disciplined people who value time very highly all the way up. Engineering fields tend to emphasize discipline, patience, and focus, so good engineers often have these qualities. But some non-engineers do too, and not allowing these people to help run your company is, IMO, a mistake that leads to less creativity and more group-think.
This post just cost me 30 minutes: 1/8th of my possible productive time today. But it's OK, because it's Saturday.
- veidr 15y agoI've known people who could do high-output context-switching like that; what they taught me was that context-switching is a skill, and one gets better with practice. (Just like power-napping!)