How GitHub Works: Hours are Bullshit

这是我偶然在网上看到的一篇文章,深以为然。原文如下,译文在后。


原文

来源:https://zachholman.com/posts/how-github-works-hours/ 作者:Zach Holman

Hours are bullshit

Hours are great ways to determine productivity in many industries, but not ours. Working in a startup is a much different experience than working in a factory. You can’t throw more time at a problem and expect it to get solved. Code is a creative endeavor. You need to be in the right mindset to create high-quality code.

Think back to the last time you were depressed or angry. How productive were you? Now think back to the last time you were truly productive. Code flying from your fingertips. Not just the sheer quantity- the sheer quality of that code. When you’re in the right mindset, your best day of coding can trump weeks of frustrated keyboard-tapping.

We want employees to be in the zone as often as possible. Mandating specific times they need to be in the office hurts the chances of that. Forcing me in the office at 9am will never, ever get me in the zone, but half of GitHub may very well work best in the morning.

By allowing for a more flexible work schedule, you create an atmosphere where employees can be excited about their work. Ultimately it should lead to more hours of work, with those hours being even more productive. Working weekends blur into working nights into working weekdays, since none of the work feels like work.

A day

Everyone at GitHub is different. I don’t really have an “average” day, but this is a close approximation:

  • Wake up around 10am, check Campfire logs, clear overnight support tickets
  • Bus into work and grab lunch around noon or 1
  • Work from 1pm to somewhere around 6-9pm at the office
  • Go home and work/relax from my couch until 2am, or:
  • Go out and drink with coworkers (more on this later)

We have a contingent of (insane) people who come into work around 7am, we have some who come in at 3pm. We have some who are more productive at home. You don’t have to come into the office every day if you don’t feel like it (although most of the time everyone comes in).

Why is our day so “loose”? Because 1) working in chat rooms lets us work when and where we want, and 2) we want to create an environment where people are most productive. There’s no one work day that fits everyone’s productive hours, so we don’t enforce one.

Enforcement

We’re currently at 35 employees and growing, and this approach still works great. But managers love to assign hours for a reason: it gives them the illusion that hours can measure performance.

If you don’t go hard on hours, you do have to look at different metrics. How good is their code? Are they fixing bugs? Are they involved in work, or is the greater flexibility not motivating them?

It’s difficult to make these qualitative judgements, but they’re still going to be more valuable than “did this guy put in his ten hours of work today”. Because as soon as you make it about hours, their job becomes less about code and more about hours.


译文

小时制是扯淡

小时制是决定许多公司生产率的好方法,但不是我们的。在创业公司工作与在工厂工作的体验大不相同。你不能把很多的时间扔在某个问题上,然后期望它得到解决。编程是一种创造性的努力。你需要以正确的心态才能创造高质量的代码。

回想上次你沮丧或生气的时候。你有多有成效?现在回想一下你上次真正有成效的时候。代码在你指尖飞舞。不只是绝对的数量——也是绝对的质量。当你处于好的状态时,你一天的创造胜过数周机械地敲键盘。

我们希望员工尽可能的处于这种状态中。规定他们在办公室的具体时间会减少这种可能性。强迫我早上9点在办公室里永远不会让我处于那种状态,但在GitHub会工作得很好。

通过允许更灵活的工作日程,你可以营造一种员工对他们的工作感到兴奋的氛围。最终,它会导致更多的工作时间,这些时间甚至更有成效。把工作日和休息日混在一起,让工作感觉不再像工作。

一天

GitHub 的每个人都是不同的。我真的没有"平均"的一天,这只是一个近似:

  • 上午 10 点左右醒来,查看 Campfire 日志,清除夜间支持票
  • 坐公交车上班,正午或1点左右吃午餐
  • 在办公室从下午1点到下午6-9点左右工作
  • 回家,工作/放松到凌晨2点,或者:
  • 与同事一起出去喝酒(稍后介绍)

我们有一组(疯狂)的人在早上7点左右上班,我们有一些人在下午3点上班。我们有一些在家里工作效率更高的人。如果你不喜欢,你不必每天都进办公室(尽管大多数时候每个人都会来)。

为什么我们的日子如此"散漫"?因为 1) 在聊天室中工作,让我们在需要的时间和地点工作,2) 我们希望创造一个人们工作效率最高的环境。没有一个工作日程适合每个人的作息时间,所以我们不强制统一时间。

强制

我们目前有35名员工并且还在增多,并且这种方法仍然很有效。但是管理者喜欢分配工时是有原因的:这给了他们一种幻觉,让他们觉得工作时长可以衡量绩效。

如果你不在工作时间内努力,你确实得看看不同的指标。他们的代码有多好?他们正在修复漏洞吗?他们是否参与工作,或者更大的灵活性没有调动他们的积极性?

很难做出这些定性判断,但它们仍然比"这家伙今天投入十个小时来工作"更有价值。因为一旦你用时长来评判,他们的工作就变得与编程本身关系不大,而与耗时关系更大了。