(原作者Ryan Tomayko于2012年 http://2ndscale.com/rtomayko/2012/management-style )

对我来说在GitHub工作最让人激动的事之一就是可以从头开始从容不迫地思考组织和流程的问题,而不是盲目照抄其他公司或者照搬现有的、在上个世纪产生的解决方案。用户为我们的产品付费,同时也给了我们自由:我们可以用任何方式打造一家公司,只要它能向用户交付最好的产品体验。

去年,在GitHub开始快速成长的时候,我被提升为工程总监。这让我成了一个所谓的经理。有点荒唐,对吧?事实上这不算太糟。像GitHub里的大多数人和事一样,我被授予完全的自主权,同时被鼓励也被期望给这个角色做一个定义——用任何方式都可以、只要对我来说是最有意义的。我想在这里分享一下我得到的经验。

不要告诉别人该做什么

我从不告诉任何人该做什么。事实上,我非常不愿意告诉别人该做什么。因为:

  1. 我不能分身。如果我告诉一个人他该干什么然后他干完了,那我还要告诉他接下来该干什么吗?如果我要决定20个人该干什么,我该怎么办?
  2. 告诉别人该干什么是一种懒惰的方式。取而代之的是,你应该用讨论的方式去说服他们。在一个没有所谓权威的组织里,人们就是这样互动的,效果很好。如果你不能通过讨论去说服别人那么可能你就不该去做。

那么,如果我不告诉别人该干什么,我的工作又是什么呢?我整天都在干什么?

我给别人示范如何共同计划、构建并发布产品。

从本质上说,我试图造出一群“小经理(mini-manager)”,每个人都管理一个人——他自己。一开始,我主要教别人怎样找出当前应该做的事(排出优先级)。然后更重要的是,使他们对自己和团队建立信心,直到有一天他们不用跟我交流就会去做该做的事。

通过示范来领导

实际上我不会直接告诉别人应该如何做决定或者发布产品,也没有那种类似“如何发布产品”的培训课程。取而代之的是,我做给大家看。

我会把想法写下来然后在公司内部推销我的想法。我请设计师做出概念图。我亲自写代码和初步的文档与测试。我要负责任地部署,因为网站稳定是前提。我会以一种不影响用户的方式来发布(soft ship)新功能,并尝试让其他员工来使用它们。我写博客发布这些功能,并阅读别人的评价。我还修复代码产生的问题。我在大家的支持下工作。

这就是你在2012年发布软件产品的方式。

我的方式唯一特别并令人感兴趣的地方就是:我坚持在整个过程中做到极度透明。这意味着关掉各种聊天软件、私人会议、消息等等影响到工作透明度的东西1

迫使大家在我关心的那些地方做到公开、透明对于管理大有帮助,因为产品周期的每个阶段的工作都时刻摆在大家眼前。这样做有很多好处。比如,如果其他人都看得见自己在干什么,人们就会更好地自我管理。另外,如果有人发现了问题就会指出来。最后,如果有人犯了错误或者干了件漂亮的事,所有人都能学到东西。

如果我有某种“管理风格”,那么这种公开主义就是基石。

让大家参与进来

如果有人对GitHub的流程不熟悉,我会在问题(issue)、评论(comment)和提交(commit)里有意@他们,把他们带到很多不同的项目和讨论中去。

当他们初次对某件事有了自己的想法和反馈,我会问他们“你的patch在哪?”——这个来自开源剧本的古老问题。

换句话说,把你脑子里的想法实现出来,告诉我是你如何思考得出的,然后说服我和你的同事接受你的想法。

我会审阅他们的合并请求(pull request),然后试着去猜想他们是如何理解这一过程以及我们的产品和客户的。如果我认为他们的理解还不到位,我会提示他们改正;如果我认为他们已经领会了要点,我会肯定他们的方向。

让每个人都成为经理

外界常说“GitHub没有经理”。依我看,应该说“在GitHub每个人都是经理”。这并非是把管理职能100%地赋予个人,而是把管理角色分散到以下两者之间:1)每一个员工,2)一系列的内部工具——它们让每个人对所有项目的情况都一清二楚。

这种管理方法有着实实在在的好处。想象一下你的所有员工都能在最高效率下工作而无人监管。你唯一要做的就是让大家保持头脑清醒2(我们正在这么做)。

想象一下所有员工都清楚产品发布周期里的每一个环节并且能够在问题现场作出关键决定。

想象一下如果所有员工都是决策者那会怎么样?

这就是我现在的目标。

休假

今天,我刚刚和家人休完十天的假期回到工作岗位。这是我加入GitHub三年来第一个充实的假期。

猜猜我安排了多少会议来确保我不在公司的时候项目也能正常推进?一个也没有!

在离开的前一天我群发了一封简短的邮件,要大家在最后一刻前回复我——如果有任何问题的话。我只收到了一封回信:

Subject: Re: Hawaii
From: Chris Wanstrath <chris@github.com>
To: Ryan Tomayko <ryan@github.com>
Date: Thu, 22 Mar 2012 17:22:20 -0700

On Thu, Mar 22, 2012 at 2:37 PM, Ryan Tomayko <ryan@github.com> wrote:
> 伙计们,我明天就要去夏威夷了。我要在那儿待上一周并尽量远离键盘。
> 如果你有什么紧迫的事情需要我现在来做、或者需要什么东西在我离开
> 以后用的到请尽快告诉我。这样我就能把垃圾打扫完后放心出门。

玩得愉快!

在我印象里,过去一周是GitHub最近生产力最高的一周之一,而我正在沙滩上放松身心。

这一切唯一的问题是:我发现我显然成了一个可有可无的人。哎,我应该多休一些假期。

  1. 原文“…I insist on being extremely visible throughout the entire process.”这里结合上下文把“visible”译为“透明”。原文“That means removing sidebar conversations, private meetings, face time, IM, private pairing…”意思是关闭电脑上的各种私人聊天以增加工作透明度——译者认为这是因为作者使用了某种桌面共享软件,让自己的示范被所有人看得到,所以要关闭私人聊天。 

  2. 原文“The only real requirement for work to be done is for people to be sober.”这里把sober译为“头脑清醒”,但可能不够准确,因为sober的意思比较复杂:它本意是指在饮食上有节制、不醉酒,引申为头脑清醒、谨慎等。