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

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


写在前面


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


我的经历


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

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

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

团队成员组成


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

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

我把程序员分类为“独狼”和“农民”这两类。“独狼”更多喜欢一个人完成工作,也就是说,当问题出现时,他们的第一反应是去独自解决问题。他们常常跳过规划,最终得到一次性的解决方案。从团队角度来看,我更加希望软件开发像种地一样。农民会有条不紊地了解地形、研究土地的化学组成成分、种植、浇水、除草,最终收获粮食。可靠、可扩展、可维护的软件都是这样有条不紊地开发出来的,这其实是日积月累的能力。

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

一个团队和球队是一样的,遇到困难时候就需要有所谓的“英雄”人物出现,他能够带领其他人克服难关,这类人一定不能多,“一山不容二虎”。“英雄”一般是从“农民”通过自我提升冒出来的,也有可能是“独狼”自我反省了。“英雄”一类人指的是承担需要极大努力才能完成的任务,并最终取得成功的人。在付出这些非常人所能承受的努力方面,“英雄”和“独狼”有点相似,但“英雄”更能够在团队工作和开发过程获得成功。此外,“英雄”大多是团队内部培养出来的,不是从外面雇佣过来的,很多时候他们会在企业中崛起为超级明星。管理“英雄”是有一定挑战的,如果你总是希望他们付出超人的努力,时间长了后会发现使用过度,造成和你之间的矛盾。此外,作为技术团队管理者,你也需要有一定的技术功底,能够让“英雄”觉得可以从你这里学到什么,这样才能合作更为愉快。最后,需要对“英雄”的薪资、福利有所倾向,并且多和他们沟通,让他们自己选择技术方向,并把他们放到核心项目里。

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


技术能力培养


球员如果长期不上场比赛,他们就会想要更换球队,这样他们至少会有上场比赛、展示自己的机会,否则时间长了各方面能力都会下降,自己也会提出转会申请。我在游戏中刻意让自己同时管理 40 位球员,尝试在这种情况下是否有办法让所有球员都满意(没有人主动提出转会)。在游戏中我是怎么处理这类情况的呢?我把所有球员按照能力进行分类,安排出了 1、2、3、4,四套阵容,对于不同的对手选择不同的阵容,一个赛季下来,80% 的球员的出场次数基本相同,仅有 20% 的球员略少。

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

我认为,技术团队的能力培养应该从细节做起。每周的晨会,我们可以用来回溯前一周的工作,具体详细地讨论每一个人做的工作、遇到的问题,并针对这些问题进行讨论。举例来说,假设我们安排的工作是测试某一款数据库的读写性能,那么首先是我针对这个事情向团队所有人介绍大致方案,注意,这里是所有人,为什么是所有人,而不是仅仅和做这个事情的具体执行人私下讨论?因为这是一个很好的技术宣贯、提升机会,互相能够了解别人在干什么,对于个人能力的提升、任务的灾备等,都只会有好处。接下来,我会让具体执行人详细介绍方案、用例、数据,如果有执行结果也要拿出来分享,大家都可以提出问题,这样才能共同提高。

除了晨会以外,我的工作时间内任何时候,都应该可以被用来讨论技术细节。我有一块小白板(不是那种很大的),我把它放在自己的面前。每天早上我都要写上今天需要参加的会议、自己要做的事情,此外,每天上午半天时间我会和每一个项目(产品开发、预研、调研,都可以)的团队成员过一遍当前进展。大家坐下来,好好谈谈已经实现的设计或代码,对疑惑、问题进行讨论。因为这种方式可以确保自己不仅仅依赖于状态报告、项目时间表,这种方式也可以让你能够接触到说真话的员工,他们会告诉你哪些地方做的不够好,并且会主动请求团队管理者帮助,而不需要团队管理者来催促他们。最高效的团队管理者往往都是坦率的,也往往对下属有足够的时间,能让员工找到他们说出自己的想法,他们会认真倾听。

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


团队对内管理


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

回到技术团队管理领域。大家要明白,一家企业能够生存,一定是业务开展得不错,所以对于我们技术团队管理者来说,我们需要做到技术与业务的融合,需要保证我们的工作付出可以为企业带来长久的利润。对于一名技术团队负责人来说,我们需要做“技术的业务派,业务的技术派”,只有做到技术与业务的高度融合,才能让技术引领业务,并创造价值。这其实也是技术管理者成熟的标志。一位 Leader 最重要的是给团队指明方向,包括技术方向和业务方向,还有个人成长方向。

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

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


面对困难局面


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

回到技术团队管理领域。我们作为团队负责人,应该有硬汉本色,不能惧怕外在的威胁或者一时的困难,团队成员都在看着你,你决不能懦弱,要勇敢。举个例子,很多时候并不是你想团队怎么发展它就怎么发展的,很有可能你的团队刚刚明确产品目标、技术目标,人员也根据这些目标招聘到位,正准备大干一场的时候,忽然听说也有另外一个团队在做一模一样的事情,别以为这是笑话,很多大公司都存在这类问题,即缺少顶层设计(也许是顶层故意设计的,让两个团队竞争)。面对这类情况,你可以选择退缩,转向另外的方向,也可以选择混混日子,等着被解散,我觉得无论哪种选择,你的团队都有可能瓦解,谁都有自己的职业定位,想做的产品、技术没了,有能力的人就不跟你玩了。我个人更倾向的是,在领导层不明确谁做的前提下,对内组织团队尽全力做下去、做好,对外力挑责任。

2016 年我拿了公司的一个奖,HR 让我写几句自己的想法,以便贴在公司刊物上,我写的是“永远不要放弃”,这也是我时常对自己说的话。“永远不要放弃”这句话,是原浙江省特级化学老师、杭州市高级中学退休老师郑克良老师对我说的。那时候我正在读高复班,对于我的未来没有太清晰的想法,其实直到那时之前,我一直都是一个没有太多个人想法的、内向的、老实的孩子,我只是想通过高考让自己有一条清晰点的路。遇到郑老师是在公交车上,他和我聊着天,一路晃到了学校,他也了解了我的特殊情况(事实上我读大学前的情况和一般城市里的孩子确实有些不一样,应该是我内心的那种坚持,主导着我不愿意进入真实水平对应的学校,一直想着从小的梦想—清华、美国哥伦比亚大学)。后来一次月考后,我拿着 30 多分的试卷去请教郑老师,他看着我说:“永远不要放弃”,我开心地点点头,那是读大学前少数几位老师对我的指点、鼓励,其实郑老师不知道,我每次都在进步,从第一次考试的 5 分开始,我每次考试都能进步 10 分,这段经历也培养了我的自信,不懂的东西我学学就会了,没什么大不了的。

我在职业生涯中投篮失败 9000 余次,输掉了 300 场比赛,有 26 场比赛,我被委以投出致胜球的重任,却没能命中。我不断地遭遇失败,而这恰恰是我取得成功的原因。                                                     ---- Michael Jordan


性格和绩效管理


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

回到技术团队管理领域。这里分为员工的性格管理和绩效管理两部分,我们先谈谈性格管理。我们可能会遇到身上带着严重负能量的人,或者一些“奇葩”。尽量避免团队里存在具有严重负能量的人,他们会通过挑拨离间和散布不满情绪来毒害整个开发团队,并且对组织造成严重的破坏。如果没有他们,那些负面情绪可能永远不会出现。比如“团队管理者根本不关心大家”,带有负能量的人会进一步夸大事实,把一些细枝末节的事情说成是管理层故意针对程序员的行为。客气点说,这样的言论是公然藐视真理和道德的。发现这类人,尽快沟通或处理吧。对于“奇葩”,我认为,不管是一心想当“老大”,不折手段压制同伴的奇葩,还是对人很粗鲁的奇葩,或是到处借钱的奇葩,对于各类奇葩,早点让他们走,无论他们的水平有多高,都不要犹豫,也不要期望自己能够改变什么,他们的性格是受了家庭或者个人经历严重影响的。让这些人尽快远离团队,这样整个团队都会轻松很多。

再来谈谈绩效管理。作为团队管理者最重要的职责之一,是评估员工的工作绩效,并持续改进他们的绩效。每日反馈、季度 / 年度绩效审查,以及每月或者每季度目标等都是很好的巩固,可以帮助你完成绩效的评估和改进工作。比较直接的方式是为每一个人设定工作目标并规定完成的时间。接着定期审查这些目标的进度和实现方式,季度目标的时间太长了,最好是每周、双周比较实际。我比较喜欢的方式是,采用邮件形式列出每个人今年的总目标,以及每周的细分目标,如下所示:

邮件名称: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 每两周有一次跟小组成员的一对一沟通,并在每个月底的时候召开一次全员例会,包括欢迎新入职的同学、总结本月重要项目的进展以及存在的问题、介绍下个月重点要做的事情等,让大家对工作有一个整体的认识,并清楚知道自己在全局中的作用。

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


写在最后


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


公众号内回复“1”带你进粉丝群!

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值