如果带技术团队像打游戏……

2018 年 1 月 7 日 EGONetworks 周明耀

如果带技术团队像玩游戏一样……你会在什么样的情况下打出 GG?

声明 | 文章转载自微信公众号「 InfoQ 」

周明耀,2004 年毕业于浙江大学,工学硕士,13 年软件研发经验,近 10 年技术团队管理经验,4 年分布式计算、大数据技术经验。出版书籍包括《大话 Java 性能优化》、《深入理解 JVM&G1 GC 》、《技术领导力 - 码农如何才能带团队》。个人微信号 michael_tec ,个人公众号“麦克叔叔每晚 10 点说”。

大多数工程师都喜欢玩游戏吧?这是我的猜测,因为在电梯里经常听到有同事谈论游戏,你喜欢玩什么?有没有从玩游戏的过程中感觉到工作、生活上的道理?或者游戏影响你后续的从业选择了?可以在本文留言,和大家分享你的经历。

我的经历

既然让大家分享故事,那我就说说我的吧。上半年来了一位实习生,97 年的大学生,在美国上学,趁着寒假过来实习。话说这种对于未来的安排、规划,国内的学生从大一开始就有明确规划的不多,而在美国这是比较普遍的,所有公司都希望校招的学生动手能力强,如果有实际的项目经验或者作为助教的经验,对于后续找工作会比较有利,应该向他们学习,高考结束并不意味着战斗结束了,那才是后续整个职业规划的开始。

回到主题。97 年的这位同学,有一天午休时间我看到他在玩游戏,凑近一看,呦!还是一款全英文的游戏。“这是什么游戏啊?Football Manager Mobile 2017 。足球经理?是的!这是我从小玩的啊!!!我以为没有了,原来还有后续版本出来啊,我去下载一个”。就这样,我花了 60 块钱买了这款游戏,带着一支球队从业余联赛开始,每年升一级,已经拿了英超、欧冠、世界俱乐部杯赛等等所有奖项。

今天,我就想从这款游戏着手,和大家讲讲我从游戏中体会到的技术管理思维,技术来源于生活,管理也是类似的。

团队成员组成

一支球队需要由许多球员组成,一般情况一线队是 23 人,这些球员需要各有各的特点,你需要能力超强的球员,但是你也需要大量的普通球员,并且每个位置最好有 2 - 3 名球员,这样在排兵布阵时选择会比较多,球员个人的灾备也会比较容易做好。

回到技术团队管理领域。根据我的经验,一个高效的团队需要“英雄”和“农民”,也可以有 1 个“独狼”存在,具体谈谈这些看法。

我把程序员分类为“独狼”和“农民”这两类。“独狼”更多喜欢一个人完成工作,也就是说,当问题出现时,他们的第一反应是去独自解决问题。他们常常跳过规划,最终得到一次性的解决方案。

从团队角度来看,我更加希望软件开发像种地一样。农民会有条不紊地了解地形、研究土地的化学组成成分、种植、浇水、除草,最终收获粮食。可靠、可扩展、可维护的软件都是这样有条不紊地开发出来的,这其实是日积月累的能力。许多“独狼”都是优秀的程序员,但是你需要对他们进行“贴身”管理。

他们有着当主角和引起团队内部纠纷的倾向和能力,需要做的是尽量多地关注他们的工作,了解他们具体的工作内容,如果出现问题要马上采取措施纠正,否则最终情况可能会失控。注意,只能当“独狼”的程序员不会在任何一家企业待太久,要么是你对他们总是自顾自地向前冲,让你感到厌烦而辞退他们,要么是他们对长期受限制感到厌烦而主动辞职。

一个团队和球队是一样的,遇到困难时候就需要有所谓的“英雄”人物出现,他能够带领其他人克服难关,这类人一定不能多,“一山不容二虎”。“英雄”一般是从“农民”通过自我提升冒出来的,也有可能是“独狼”自我反省了。“英雄”一类人指的是承担需要极大努力才能完成的任务,并最终取得成功的人。

在付出这些非常人所能承受的努力方面,“英雄”和“独狼”有点相似,但“英雄”更能够在团队工作和开发过程获得成功。此外,“英雄”大多是团队内部培养出来的,不是从外面雇佣过来的,很多时候他们会在企业中崛起为超级明星。管理“英雄”是有一定挑战的,如果你总是希望他们付出超人的努力,时间长了后会发现使用过度,造成和你之间的矛盾。

此外,作为技术团队管理者,你也需要有一定的技术功底,能够让“英雄”觉得可以从你这里学到什么,这样才能合作更为愉快。最后,需要对“英雄”的薪资、福利有所倾向,并且多和他们沟通,让他们自己选择技术方向,并把他们放到核心项目里。

很多时候需要客观地看一个人,也许他确实不善于和人沟通,让人感觉很粗鲁,也不适合带人,但是也许他们有优点呢?也许这类人技术能力还行,适合也愿意填坑,能做好困难任务的“最佳第六人”呢?仔细观察,每个人都有自己的特长,都有自己的闪光点,尽量发挥他们的闪光点。

技术能力培养

球员如果长期不上场比赛,他们就会想要更换球队,这样他们至少会有上场比赛、展示自己的机会,否则时间长了各方面能力都会下降,自己也会提出转会申请。

我在游戏中刻意让自己同时管理 40 位球员,尝试在这种情况下是否有办法让所有球员都满意(没有人主动提出转会)。在游戏中我是怎么处理这类情况的呢?我把所有球员按照能力进行分类,安排出了四套阵容,对于不同的对手选择不同的阵容,一个赛季下来,80% 的球员的出场次数基本相同,仅有 20% 的球员略少。

回到技术团队管理领域。很多时候我们认为一个人能力不行,这时候很多技术管理者会选择不再使用这个人,这是正确的吗?我认为不是。我们不能对人过度苛刻,“己所不欲勿施于人”,你自己反思一下有没有犯过错,当然有,只要是人就会一直犯错,重要的是不要重复犯错,要学会谦虚反省。

我认为,技术团队的能力培养应该从细节做起。每周的晨会,我们可以用来回溯前一周的工作,具体详细地讨论每一个人做的工作、遇到的问题,并针对这些问题进行讨论。

举例来说,假设我们安排的工作是测试某一款数据库的读写性能,那么首先是我针对这个事情向团队所有人介绍大致方案,注意,这里是所有人,为什么是所有人,而不是仅仅和做这个事情的具体执行人私下讨论?

因为这是一个很好的技术宣贯、提升机会,互相能够了解别人在干什么,对于个人能力的提升、任务的灾备等,都只会有好处。接下来,我会让具体执行人详细介绍方案、用例、数据,如果有执行结果也要拿出来分享,大家都可以提出问题,这样才能共同提高。

除了晨会以外,我的工作时间内任何时候,都应该可以被用来讨论技术细节。我有一块小白板(不是那种很大的),我把它放在自己的面前。每天早上我都要写上今天需要参加的会议、自己要做的事情,此外,每天上午半天时间我会和每一个项目(产品开发、预研、调研,都可以)的团队成员过一遍当前进展。

大家坐下来,好好谈谈已经实现的设计或代码,对疑惑、问题进行讨论。因为这种方式可以确保自己不仅仅依赖于状态报告、项目时间表,这种方式也可以让你能够接触到说真话的员工,他们会告诉你哪些地方做的不够好,并且会主动请求团队管理者帮助,而不需要团队管理者来催促他们。

最高效的团队管理者往往都是坦率的,也往往对下属有足够的时间,能让员工找到他们说出自己的想法,他们会认真倾听。

身在大公司,大家可能都有这种感觉,我们很难左右校招分配给我们的员工素质,因为面试官往往不是自己。我对于这件事的看法是,我不关心分配过来的学生当下的能力怎么样,既然来了,既然到我这里来了,我就必须 Push 你提升,你会实事求是、耐心地帮助你提升技术能力,但是能不能挺过去,最终取决于你个人的抗压能力、学习能力、职业素养。

团队对内管理

球队的管理是多方面的,不仅仅需要买卖球员、布置出场阵容和战术,也需要负责训练安排、财政、雇佣员工、球员交流等等,可以说是一个综合性要求极高的游戏。

回到技术团队管理领域。大家要明白,一家企业能够生存,一定是业务开展得不错,所以对于我们技术团队管理者来说,我们需要做到技术与业务的融合,需要保证我们的工作付出可以为企业带来长久的利润。

对于一名技术团队负责人来说,我们需要做“技术的业务派,业务的技术派”,只有做到技术与业务的高度融合,才能让技术引领业务,并创造价值。这其实也是技术管理者成熟的标志。一位 Leader 最重要的是给团队指明方向,包括技术方向和业务方向,还有个人成长方向。

领导者和下属比的不光是你的专业能力有多强,还有你的眼光和胸怀,既然选择做技术管理,你就要有成就他人的心胸,同时还要有超出一般人的眼界,能够给予团队正确的方向。技术管理首先是在技术的基础上,要保持对技术的兴趣,多关注新技术的发展,否则你很难在重大的技术决策上做出正确争取的决定。

坦白说,技术团队管理者这个工作,想做得让公司内大多数人满意,难度非常高!这其中的主要原因是需求面广,你需要覆盖的能力范围广了之后,能否深入就成了困难点,如果不能深入,那么你会很快遇到各种质疑,所以,既要有广度,也要有深度。

面对困难局面

对于缺少财政支持的小球会(我通常就喜欢选择这样的),可以通过签约一些有特点的过气球星,我在梅西 34 岁时签下了他,通过战术上的刻意安排,一个赛季居然还踢进了接近 10 个球。

回到技术团队管理领域。我们作为团队负责人,应该有硬汉本色,不能惧怕外在的威胁或者一时的困难,团队成员都在看着你,你决不能懦弱,要勇敢。举个例子,很多时候并不是你想团队怎么发展它就怎么发展的,很有可能你的团队刚刚明确产品目标、技术目标,人员也根据这些目标招聘到位,正准备大干一场的时候,忽然听说也有另外一个团队在做一模一样的事情,别以为这是笑话,很多大公司都存在这类问题,即缺少顶层设计(也许是顶层故意设计的,让两个团队竞争)。

面对这类情况,你可以选择退缩,转向另外的方向,也可以选择混混日子,等着被解散,我觉得无论哪种选择,你的团队都有可能瓦解,谁都有自己的职业定位,想做的产品、技术没了,有能力的人就不跟你玩了。我个人更倾向的是,在领导层不明确谁做的前提下,对内组织团队尽全力做下去、做好,对外力挑责任。

2016 年我拿了公司的一个奖,HR 让我写几句自己的想法,以便贴在公司刊物上,我写的是“永远不要放弃”,这也是我时常对自己说的话。“永远不要放弃”这句话,是原浙江省特级化学老师、杭州市高级中学退休老师郑克良老师对我说的。

那时候我正在读高复班,对于我的未来没有太清晰的想法,其实直到那时之前,我一直都是一个没有太多个人想法的、内向的、老实的孩子,我只是想通过高考让自己有一条清晰点的路。遇到郑老师是在公交车上,他和我聊着天,一路晃到了学校,他也了解了我的特殊情况(事实上我读大学前的情况和一般城市里的孩子确实有些不一样,应该是我内心的那种坚持,主导着我不愿意进入真实水平对应的学校,一直想着从小的梦想—清华、美国哥伦比亚大学)。

后来一次月考后,我拿着 30 多分的试卷去请教郑老师,他看着我说:“永远不要放弃”,我开心地点点头,那是读大学前少数几位老师对我的指点、鼓励,其实郑老师不知道,我每次都在进步,从第一次考试的 5 分开始,我每次考试都能进步 10 分,这段经历也培养了我的自信,不懂的东西我学学就会了,没什么大不了的。

性格和绩效管理

对于表现突出,或者严格按照战术安排需要执行的球员,我会时常进行表扬,对于表现差或者个性古怪的球员,先是通过批评纠正,如果继续这样,只能卖出或者不再续签合约。

回到技术团队管理领域。这里分为员工的性格管理和绩效管理两部分,我们先谈谈性格管理。我们可能会遇到身上带着严重负能量的人,或者一些“奇葩”。尽量避免团队里存在具有严重负能量的人,他们会通过挑拨离间和散布不满情绪来毒害整个开发团队,并且对组织造成严重的破坏。

如果没有他们,那些负面情绪可能永远不会出现。比如“团队管理者根本不关心大家”,带有负能量的人会进一步夸大事实,把一些细枝末节的事情说成是管理层故意针对程序员的行为。客气点说,这样的言论是公然藐视真理和道德的。发现这类人,尽快沟通或处理吧。

对于“奇葩”,我认为,不管是一心想当“老大”,不折手段压制同伴的奇葩,还是对人很粗鲁的奇葩,或是到处借钱的奇葩,对于各类奇葩,早点让他们走,无论他们的水平有多高,都不要犹豫,也不要期望自己能够改变什么,他们的性格是受了家庭或者个人经历严重影响的。让这些人尽快远离团队,这样整个团队都会轻松很多。

再来谈谈绩效管理。作为团队管理者最重要的职责之一,是评估员工的工作绩效,并持续改进他们的绩效。每日反馈、季度 / 年度绩效审查,以及每月或者每季度目标等都是很好的巩固,可以帮助你完成绩效的评估和改进工作。

比较直接的方式是为每一个人设定工作目标并规定完成的时间。接着定期审查这些目标的进度和实现方式,季度目标的时间太长了,最好是每周、双周比较实际。我比较喜欢的方式是,采用邮件形式列出每个人今年的总目标,以及每周的细分目标,如下所示:

邮件名称:2017 年全年目标设定及完成情况
邮件群体:团队所有成员,抄送上级领导(可选)
邮件内容:
本次更新时间:2017/3/3-2017/3/10(举例)
     正在进行:
     1. 数据库选型调研
       (1).MySQL 数据库稳定性测试方案编写,张三、王五
       (2).Cassandra 数据库稳定性测试方案编写,李四
     2. 杭州项目
        。。。。。。。
     年度目标:
     1. 年度需要提交专利 20 件,其中张三 3 件,王五 2 件,李四 3 件,。。。。
        张三已经完成 1 件,1/3
     已经完成:
    1. 张三提交关于超薄烧饼的制作工艺专利发明;
    2. 李四提交 Cassandra 数据库初步技术调研报告;
    。。。。。。。。。。。。

这样的邮件需要每周更新一次,保持时效性,也给团队管理者以约束,你必须和团队紧密地在一起,为员工设立清晰的目标,这样可以产生明确的绩效评估方法,而你在向上司或者公司其他人沟通汇报时就可以更加清晰。

沟通和氛围管理

游戏中会出现运动员思念自己的家乡,游戏会提醒你多购入几位来自相同国家的球员,这样他们互相可以有依靠,不会寂寞。

回到技术团队管理领域。我认为,作为团队的负责人,承担并顺利地完成和员工的主动沟通,这是你的职责,千万不要轻视了沟通能力,这一能力会真的对你的上升通道起决定性的作用。

记得在一本小说里看到,一位程序员在聚会中一眼看中邻桌一位美女,长发飘飘、笑起来可人的酒窝,哪个男生会不动心呢!于是他镇定心情,站起身来,鼓足勇气走上前去,干什么呢?搭讪!涨红的脸憋出一句话:“你也喜欢吃饭啊?”,美女的闺蜜笑得脸都快抽筋了,这就是搭讪的艺术,也是沟通的艺术,做得不好就是这种让人又好笑又好气的感觉。

两个人只有面对面坐下,看着对方交谈,沟通才不会有障碍。如果你有团队成员在外地或者国外(外包行业这种现象很正常,华为这样的全球公司也有了英国研究中心),作为团队主管,你应该主动去拜访他们,并且坚持在那里待一段时间,第一次拜访越早越好。我理解这样做其实不太容易,远途出差确实很辛苦,我们要明白工作就是这样的!

团队越来越大时,信息之间的传递确实会变得越来越困难,技术管理者要想搞清楚项目执行的进度、团队成员存在哪些诉求和不满,打造一个有战斗力的团队,沟通无疑是最重要的。

我们可以通过配置 HRBP 的方式加强和团队的沟通,也可以通过要求团队的 Leader 每两周有一次跟小组成员的一对一沟通,并在每个月底的时候召开一次全员例会,包括欢迎新入职的同学、总结本月重要项目的进展以及存在的问题、介绍下个月重点要做的事情等,让大家对工作有一个整体的认识,并清楚知道自己在全局中的作用。

除了沟通以外,团队的氛围建设还有很多其他方式,比如团队旅行、生活聚会等等。你可以选择在员工生日时候送点小礼物,这样的小惊喜是很温暖的,暖人心是团队负责人的责任

写在最后

这几天我在思考,我之所以会出品一系列的技术管理文章,也许就和从小喜欢玩管理类游戏相关吧,除了足球经理以外,二十年前的我也喜欢玩大航海时代、模拟城市,哎呦,这些个游戏暴露了年龄,你们玩过吗?

责任编辑:李雨侬


推荐阅读

点击下方图片即可阅读

“黑客叔叔”姚威和他的“顶级信息安全智库”梦


登录查看更多
0

相关内容

进化计算的IEEE期刊TEC(IEEE Transactions on Evolutionary Computation)出版高质量的进化计算和相关领域的原始文献,包括自然启发算法、基于种群的方法、选择和变异不可分割的优化以及混合系统。纯理论论文被认为是提供这些计算领域一般见解的应用论文。本杂志的文章按照IEEE PSPB操作手册(章节8.2.1.C和8.2.2.A)的要求进行同行评审。每一篇发表的文章都由至少两名独立的审稿人通过单盲的同行评审过程进行评审。 官网地址:http://dblp.uni-trier.de/db/journals/tec/
【纽约大学】最新《离散数学》笔记,451页pdf
专知会员服务
123+阅读 · 2020年5月26日
【强化学习】深度强化学习初学者指南
专知会员服务
178+阅读 · 2019年12月14日
【机器学习课程】Google机器学习速成课程
专知会员服务
162+阅读 · 2019年12月2日
清华大学两名博士生被开除:你不吃学习的苦,就要吃生活的苦
机器学习算法与Python学习
25+阅读 · 2019年9月16日
阿里技术专家:优秀工程师是怎样炼成的?
51CTO博客
8+阅读 · 2019年6月15日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
那个要让程序员财务自由的李奥,招人了!
交易门
3+阅读 · 2018年7月13日
量子计算
人工智能学家
7+阅读 · 2018年4月6日
Gartner:AI会使社会变得更愚笨
云头条
3+阅读 · 2017年9月26日
Arxiv
21+阅读 · 2019年8月21日
Arxiv
3+阅读 · 2018年6月14日
Arxiv
27+阅读 · 2018年4月12日
Arxiv
3+阅读 · 2017年11月21日
VIP会员
相关VIP内容
相关资讯
清华大学两名博士生被开除:你不吃学习的苦,就要吃生活的苦
机器学习算法与Python学习
25+阅读 · 2019年9月16日
阿里技术专家:优秀工程师是怎样炼成的?
51CTO博客
8+阅读 · 2019年6月15日
19年腾讯、阿里、网易等各大厂实习生薪资曝光!
互联网架构师
9+阅读 · 2019年5月5日
那个要让程序员财务自由的李奥,招人了!
交易门
3+阅读 · 2018年7月13日
量子计算
人工智能学家
7+阅读 · 2018年4月6日
Gartner:AI会使社会变得更愚笨
云头条
3+阅读 · 2017年9月26日
Top
微信扫码咨询专知VIP会员