<audio id="audio" title="第132讲 | 徐函秋：转型技术管理者初期的三大挑战（一）" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c3/bf/c31aafb9b488ae1f75b53c853531c3bf.mp3"></audio>

你好，我是小米大数据团队基础数据与用户画像组负责人徐函秋，目前主要负责小米用户画像、行为标签库、ID-Mapping等项目的建设与研发工作。今天我分享的主题是“转型技术管理者初期的三大挑战”。对于管理这件事情，因为每个人的经历不同，所处的环境也不同，所以是“仁者见仁，智者见智”的，我今天分享的内容可能更适合刚刚成为技术管理者，和有志于将来成为技术管理者的同学。

## 工程师生涯中必做的决定

我相信大多数程序员在工作几年，成为团队骨干后，都会面临这样的选择，就是要么继续走技术路线，坚持做研发，要么成为团队的技术管理者，承担更多技术管理的责任。

对于个人贡献者和技术管理者这两个角色，不同的场合有着不同的称呼，比如个人贡献者又叫码农、技术开发，而技术管理者又被称为Manager、小组Leader等等。另外在不同的公司，这两类岗位也有着不同的等级序列，你可以选择继续做个人贡献者，走T序列或P序列，你也可以选择M序列，成为技术管理者。

我个人认为，不论是选择继续走技术研发路线，还是选择技术管理路线，包括在什么时间、什么阶段选择，都没有绝对的好坏，只有适合自己的才是最好的。

那么，我们为什么要成为技术管理者呢？每个人的理由可能都不一样，有人说可以管人，有人说可以提薪，有人说自己更擅长与人打交道，而我选择成为技术管理者的原因，主要有两点。

第一，可以突破个人贡献者的天花板。因为我作为一名研发工程师，可能贡献最多的就是优化用户画像中提取引擎的效率，支持业务各种标签的挖掘需求，比如帮助广告商挖掘出小米用户中有多少人是鹿晗的粉丝等等。而当我成为一名技术管理者以后，就可以带领团队，支持全公司精准运营的若干需求，更好地帮助公司内部业务实现增长，这是之前作为个人贡献者时很难做到的事情。

第二，结合自身的职业规划和目标，提升个人能力。因为对我来说，未来如果有机会，可能还想和朋友一起创业，一起做一些有意思的事情。但那个时候可能就不仅要求自己有扎实的技术功底，还需要有良好的项目管理能力、团队管理能力、沟通能力、演讲能力等等。而成为技术管理者，就可以在实践中锻炼这些能力，对个人成长有很大的帮助。

但是，做一名优秀的技术管理者真的很不容易，可能会遇到各种各样的问题。而我就将自己遇到的一些典型的问题总结分类为三方面。

## 转型初期将面临的三类挑战

一、角色转型引发的矛盾<br>
当我还是个人贡献者的时候，我的核心竞争力可能就是扎实的工程能力、编码能力，以及对机器学习、数据挖掘等算法和使用场景的掌控能力等等。而成为技术管理者以后，我发现白天除了开会，还需要做跨团队交流，比如跟业务对接、了解业务需求等，另外还需要面试新人、与组员沟通等。因此，问题就出现了——每天面对各种事务性工作，自己的核心竞争力下降了怎么办？

我刚成为技术管理者时，几乎每天晚上九点多钟，大家都下班了，我才能回到工位，完成自己的开发工作。即使如此，在一些项目开发的关键节点上，它的开发进度可能还是会卡在我这里。因此，我每天都感觉自己做了很多事情，自身能力却并没有提升。

后来我逐渐把自己的开发工作缩减，交给小组中的其他技术骨干去完成。但同时我又担忧，自己写代码的时间越来越少，技术退化了怎么办？

恰好我在面试别人时也遇到了这个问题，很多8年至10年工作经验的面试者都非常优秀，各方面能力都很突出，但由于他们已经脱离一线有一段时间了，所以在考核技术能力时没能过关。我认为技术能力是一名技术管理者的基础能力，如果技术能力不过关，我也没办法给他offer。

这件事情引发了我的反思，如果未来自己要走出去时，会不会碰到类似的困境？

除了事务性工作与技术工作的矛盾外，还有思维上的改变，之前在研发岗位上可能只需要做好自己份内的工作就足够了，但现在带领团队的话就需要不断思考，做哪些事情能够产生价值，如何做才能将价值最大化等等。

举个例子，小米在每个季度初都会制定OKR，在我刚成为技术管理者的时候，每次制定OKR时都会思考，在未来的一个季度内，我们小组要做哪些事情，比如支持多少个业务、挖掘多少个标签等等。但我所思考的这些内容其实与上级主管的关注点并不相符。其实上级主管并不太关心工作内容的细节问题，他们更看重工作成果，比如为公司节约了多少成本，提升了多少收益，或者是使团队工作效率提升了多少倍等等。

所以，在制定OKR时我就需要考虑得更全面，不仅要从自身角度与团队角度出发，还需要兼顾公司业务所涉及的各方面问题。

二、在项目管理能力上的挑战<br>
一名优秀的技术领导者，需要具备良好的项目管理能力，但我在实践的过程中发现了两个问题。

第一，之前作为技术骨干，我们可以很好的完成工作任务，甚至超预期完成任务目标。那现在要领导15人的团队来完成历时两个月的项目，如何能保证按时且高质量交付呢？

第二，对于安排给其他团队成员的任务，因为责任边界不明确，最终导致项目延期交付，面对这样的问题该怎么办呢？

举个例子，领导交给小王和小张一个任务，让他们一起来完成，但没有将责任具体落到某个人上，最后任务交付结果并不理想，小王和小张都认为是对方的责任，这就是责任边界不明确的问题。

三、在团队领导能力上的挑战<br>
一名优秀的管理者必须具备良好的团队领导能力。在《技术领导之路》这本书中，对领导力的定义是，“所谓领导力，就是创造一个环境，让所有的人都可以发挥出比单干时更大的价值，并不断成长”。但是我们从技术岗转为管理岗之后，并没有人告诉我们该怎么做才能创造出这样的成长环境。我们都是依靠本能并通过不断地学习，在走了很多弯路之后，才探索出了一些方法。

目前在领导力方面，我之前主要遇到了三个问题。第一个问题是，当团队成员遇到困难的时候，如何能及时感知，并有效的帮助其解决问题？

举个例子，去年我们小组加入一位同学，当时，我将一个用户反馈分类的需求交给他解决。就是当小米手机有若干故障的时候，用户会在各种渠道上反馈，我们根据用户的描述，将问题分类为相机问题、主板问题等等，并训练出一个相应的机器学习模型。

因为这个工作不在主线业务内，所以我给了他充分的时间。结果一个月后，他找我沟通，表示想离职。我当时就懵了，具体沟通后才发现，他其实不太想做这件事情，另外，他所做的工作并不是我们团队的主线业务，跟其他团队成员也交流不多，没有融入团队。所以，面对类似这样的问题，技术管理者该怎么办？

第二个问题是，团队成员不断增加，但自己却越来越累，团队例会效率越来越低怎么办？

随着业务越来越多，团队加班就会成为常态，所以我们需要招更多人。但新成员加入后，却感觉自己更累了。因为之前只需要跟五、六个组员讨论工作，打磨工作成果的品质。而团队成员越多，所要花费的心力与沟通时间就越多，这个问题又该怎么解决呢？

第三个问题是，当团队成员之间发生矛盾时，比如A会跟我抱怨B的问题，而B也会吐槽A不懂协作。那该如何沟通，才能协调他们之间的矛盾呢？如何解决问题，才能不影响团队的工作效率呢？

## 小结

在工程师的职业生涯中，一定会面临一个选择，或成为资深技术人，或从技术转型管理。对于后者，我总结了我目前遇到的三类挑战，即角色转型引发的矛盾、在项目管理能力上的挑战、以及在团队领导能力上的挑战。受限于篇幅，本文只谈了问题与挑战，我会在下一篇文章中，根据自己的实践经验，讲讲我对这三类挑战的应对方法，欢迎持续关注。

感谢收听，我们下期再见！如果你觉得这篇文章对你有帮助的话，也欢迎把它分享给更多的朋友~

## 作者简介

徐函秋，现为小米大数据团队基础数据与用户画像组负责人，目前主要负责小米用户画像、行为标签库、ID-Mapping等相关项目的建设与研发工作，为MIUI、金融、新零售等小米公司核心业务提供大数据相关技术支持，帮助业务团队快速搭建多维分析平台，实现精准运营。加入小米公司之前曾在中科院自动化研究所担任研发工程师，期间参与了实验室的多个横向、纵向项目，并多次参加相关的国内、国际数据挖掘竞赛。<br>

