首发于Rumor

技术团队风格指南

像每一个人,没有一个没有缺陷,或身体或灵魂;像每一个人,好与不好的混合,各有各的风格。团队的风格总被最初建立、最直接带领的人影响,由每一位成员放大。办公室里,早晨拿着一杯星巴克,高跟鞋声音压到最低仍能听到坚定,看起来严谨专业,一定是笑傲职场的人;一旁拖鞋短裤无领子衣服,拿着杯奶茶咬着吸管,一副无业流浪青年样子的,是我,是一个团队的缩影。拖鞋青年是我们的风格。

像上面说的,建立一个团队,基点不是找一群完美的人来做完美的事,而是包容在追求完美路上的不完美,承认不完美;评价一个团队的好坏,不看人是否和蔼可亲像可爱的小兔子,而看能否在自己做事风格下持续高质的产出。

秋招将至,特别适合聊聊这个话题。找什么样的人? 建立什么样的团队?加入什么样的团队?


技术第一

Amazon 的使命是 To be Earth’s most customer-centric company,就像阿里巴巴「让天下没有难做的生意」一样,都是伟大的使命。无论是潜规则抑或明文规定,每一个技术团队都应该有自己的使命,且一定是以技术为第一位。

如何做技术,每个做 ( 过 ) 技术的都有自己的经验,而总结起来无非是影响自己、影响团队、影响业界,影响世界。无码无坑,写好代码,提升手速是影响自己;抽象、共用帮其他人省时间是影响团队;开源源码、把思想带给业界,让昨天的优秀项目成为明天的基础设施是影响业界;通过程序让一个方水平的人甚至多方水土的人能更方便地做某件事,是改变世界。古训总是简炼地为我们总结这些罗嗦的话「修身,齐家,治国平天下」。

不说那么大,就拿一个部门说事,如果我们希望建议一个技术第一的团队,那么用什么鼓励大家能做好自我驱动?带好团队?管好一个部门?好团队不多,这让人隐约觉得建立一个好的团队很难,其实不然。简单到只要从每个角色出发,做点事:

1、一线程序员,团队最重要的成员。这群人做了最多的事,产出了最重要的结果。如果每个人产出的质量和速度都增长,那么客户将更乐意把口袋的钱放到公司的账户。这里的关键是质量和速度。有一些值得做的事:

  • 良好的入门指南:包括新人任务、开发流程、代码风格、权限申请等
  • 为第一位新人指定一位在后面工作有紧密联系的导师
  • 树立榜样:在团队内树立积极榜样、大神人物,试试一定会有惊喜
  • 提供利器,传承正版软件思想免费购买类似到 Webstorm、Sublime 这样的编辑器
  • 鼓励成长:如每月固定采购最新出版书籍提供团队内阅读
  • 提供机会:外部分享,多种技术或者专业的扩展(如设计),负责业务线,转管理

2、主管、经理,团队的中坚力量。也许他们写的代码不是最多的,但他们了解业务;优化着代码的整体架构;像恋爱中最有热情的一方,看到一个店就想带团队去,读到一本好书就想买回来分享。这群人的职责是保障业务无事故,找到、培养合适的一群人让团队正常运转甚至有点不正常但却很好地运转。可以做的事很多,但重点只有三个:放权、放权、放权

  • 鼓励建立自己团队的风格
  • 鼓励找到、培养合适的人,比如面试只要:小组负责人、部门负责人两人即可
  • 在定薪、晋升、调薪上给充足的自主权力
  • 财务上,给预一定的经费去自主处理团队建议
  • 成长上要求更开放的人才心态,培训可以接手右膀右臂
  • 提供机会负责更大的业务,培养成为部门负责人
  • 不要为了一个人放弃一个团队,如果有不合适的人,一定要给考察时间截点,合适的继续留用,不合适像那句话说的「hire slow, fire fast」,做该做的决定

3. 总监、部门负责人,团队的资源池。这人最重要的任务是定方向、搞定业务、招人,即广义上的管理,而不是请客吃饭。管理这件事很难,也可能很简单。如果团队在建立的时候就非常注重代码质量,在招人时就严格根据技术水平、三观来招,那么事情可能很简单。「最好的管理不是当团队的保姆,而是当团队的资源池」#1,如果每个人都能很好的自我驱动,在缺什么的时候就向资源池去拿,那么世界一定是和平的,关键是并不是这样。所以做什么呢?所有需要对一线、主管、经理去做的,都做不能马虎。

  • 指导文档:作为最了解一个部门的人,该自己动手的一定不要请人,部门介绍、做事规则与流程、简单的历史等
  • 文化:技术、团队、生活文化的建议,比如自动化优先于人力、Code Review、效率高于加班、技术分享会、免费读书、正版软件、Play hard, work harder 精神、自由与责任同在精神、协作惯例等等,多数文化的使命应该是地球上做好的软件/服务,就像这篇文章写的「技术第一」是第一风格,第一文化
  • 雇主心态:鼓励成员拥有雇主心态,把做「影响自己」的事扩展到「影响一群人」甚至「一个时代的人」,主动、积极、不断成长和收获
  • 放权与资源:提供人力、财务、机会,甚至个人生活上力所能及的各种资源
  • 设定好目标和方向:不要做忙了一年回到原点的事,定好每个季度、半年目标,让团队往正确/不正确的方向前进,在收获/试错的过程中,不断调整到最优的点
  • 晋升人才:如果一个团队负责人,只重视自己的晋升,而不管团队里人员的个人晋升与发展,那一定不是一个合格的人才。通过人才盘点、晋升窗口、调薪机会,把合适的人放到合适的位置,为其争取合适的 Title,期权等等
  • 提升团队影响力:现实的世界是影响力几乎代表着话语权。并不是说一个人很聪明但没有影响力就不要说话,而是如果说出去的话能被充分理解那么可以省去很多不必要的工作,这可能也是大家为什么都讨厌做鲁迅的阅读理解的原因。他只是说了一句话,总需要那么多的解释,而这就是影响力。那么多总有人说对且不用自己解释。对外开源代码、方案、演讲等,不一定自己做,团队需要去做,去影响一群人,就会得到多一份影响力
  • 策略、策略、策略,重视策略的运用,而不是简单粗暴的推进

风格自由

在阿里面试会有考察一个非技术的点「价值观」,在百姓网只用 5、60 人的那个时代面试严格到几乎要求生活品味相同,而在饿了么大前端特别注重「长期发展」这个项。每个团队都有自己的风格,形成自己的文化,希望找到志同道合的人。在这个基础上,几乎所有人都期望小而美的团队。志同道合是必须的,而小而美应该如何解读呢?

小而美这个理论是德国人 E · F · 舒马赫 提出的 #2,为「克服对大规模的迷信,强调小规模的优越性,进行组织变革」。团队每个人都能独挡一面,作为木桶的一个板,只有长板没有短板,即有最低要求而不设上限;性格可能相互包容,协作顺利,在接下任务时总发挥着每个人的经验和潜力并得到良好结果;灵活随时可调方向。

经历过大公司和小公司,如果一个业务足够广,要一直保持着小团队规模可能并不符合现实,特别是如果市场人才质量一般和数量供不应求的情况下就更不符合现实了。那么只有一个办法,努力让团队里的每一个部分都做到「小而美」,而大团队要有的是海纳百川的包容。

几点实践:

  • 每个团队保持一致风格,有的团队可能比较闷,有的团队可能比较逗,鼓励每个团队有自己的风格,并招聘自己风格的人
  • 团队对外接口人一定要能与其他团队的接口人契合,至少在处理事情上能做好协作。如果有人说我圆滑,我会觉得很「方」;如果有人说我太有棱角,但我觉得自己可以和各方协作。我在一直在思考是做一个棱角分明的人还是做一个圆滑中庸的人,但这样极端的风格并不是我喜欢的,直到看到齿轮的工作方式,我觉得人应该活的像齿轮,保持着棱角,同时在遇到契合的齿轮又能一起转动起来,团队内的人可能各有风格,但团队间的接口人一定要像契合的齿轮一样运作
  • 建议每个团队不超过 12 人,虽然 Two Pizza Team 是 16 人,但个人经验是当有 15 人以上,将非常难照顾到每一个人,而且大部分饭店都有可以坐的下 12 人的桌子
  • 发掘每一个人的潜力。这点意味着,一定要容许犯错,容许一定时间长度内的磨合,不断给机会和要求
  • 培训合作礼仪

总的来说,建立一个团队风格要做的事有很多,最终这种风格会有一种对应的文化,团队负责人自己的经历、经验是最初始的影响,而每一个人的加入都是一种丰富一种扩展。「认真生活,快乐工作」对我的影响很大,始终相信热爱生活的人做的事总不会很差,而热爱生活首先是生活的舒服。像文章开头说的,拖鞋青年这样的形象,竟然会是我们这个被认为是「最值得来」部门的形象,而且部门文档里明确写着「不用鸟自己的老板」、「你为自己而生为用户工作而非老板」相比大多数部门算另类的潜规则。让一个团队的成员保持自己风格,同时持有协作礼仪,拿结果来说话而不用讨好那谁谁,这就是这个部门的风格。该喝奶茶的就别压抑自己跟别人一样拿喝咖啡喝;想穿拖鞋的,不用一定穿个皮鞋;该做的就一定要做到地球上最好的水准。

对于这篇文章说是一份指南有点过于标题党了,事实只是一些实践分享。其中细节很多,比如多次跑到人家楼下去跟候选人聊聊未来一起工作的细节的招聘风格,偶尔包个酒吧大家一起去玩之类的事,很多事大同小异。如果有意是打造一个有爱且优秀的团队,那么至少有一点是相同的 —— 用心,用心,用心。真正用心去做一件事就惊喜地遇到有很多办法可以解决问题。


附注:

#1 一位同事如是说,因为没有细说所以不知道是不是有同样理解的深层涵义 ,但个人非常同意字面上的意义,这也是为什么不写「灵魂」而是「资源池」的原因

#2小而美_互动百科


-------------------------

BTW. 如果你有志于做地球上最好的服务(前端、后端 Node / C++ ),我们在招工程师、架构师;如果你有志于建立一个有自己风格的团队,我们在招团队主管、经理;如果你只是想聊聊。都可以发邮件到:sofish@ele.me 。

编辑于 2016-09-09 00:20