点这里「收听」本文音频版
AI配音由出门问问「魔音工坊」提供技术支持
今年除了1月份写了一篇文章外,一直偷懒至今。这几天和团队成员做沟通的时候,有位同事提到我好久没有更新文章了,希望我可以辛勤劳作下,写写某个话题。突然觉得写文章这个事情,值得长期坚持下来。
之前的文章里,我刻意使用普通公众号文章的风格,以期能够对拉新用户有帮助,比如使用一些小标题啊,使用更多的排版技巧啊,使用一些观点总结之类的。不过这些东西比较花费时间,以后我希望写作风格上更轻松自由一些,可能会更接近曹政的「caoz的梦呓」一些,想到什么就写什么,不会刻意去编辑和编排。这样一方面我个人的时间比较节省,一方面写作本身也会更为轻松无压力,想必会更容易坚持一些。
下面进入正题。今天就来聊聊技术管理这个问题。
1,几乎所有人都想当管理者。
先说为什么大部分人都想当管理者。正所谓「不想当元帅的士兵不是好士兵」,中国人在骨子里已经养成了「向上爬」的心理,大部分人觉得管理者比较有地位,说话有份量。比如,大家可能都认为:
当管理者可以掌握其他人的职位升迁,绩效结果。
当管理者时间更自由,想不来公司就不来公司。
管理者能接触更多的资源,比如外部讲座、培训等。
管理者钱多事少,不再是最底层的码农了。
当管理者就不再有程序员的中年危机了,算是爬到了顶层,有了「免死金牌」。
想当管理者其实没错,不过中国的程序员有一个误区,以为所有人都适合当管理者。还有另一个误区,以为当管理者的性价比更高,回报比一直写代码更高。
中国的IT环境和海外不太一样,至今在大厂还流传着上了三四十岁就可能「被」下岗的风险。大部分人的思维定势都是刑不上大夫,所以有机会当管理者,那意味着裁员之类的事情,轮到自己头上的概率就会大大降低。其实这个未必。在经济不好的情况下,一般企业的思维都是扁平化管理,降低管理成本。如果管理的价值不能被直接看到,优化管理岗的可能性还是很高的。
那么,是不是管理岗一定就好呢?
2,管理岗是否回报更高?
一般而言,管理岗的回报和公司的运营情况会比较深度的绑定在一起。比如,管理者的绩效怎么样,会看公司整体的绩效,和部门的绩效,如果公司或者部门绩效不好,一般管理者的绩效不会好。今年经济受到疫情的很大影响,大家就经常可以看到一些公司高管降薪的消息。
管理者带兵打仗,冲在前面,公司运营不好,个人利益最直接受到影响。而普通员工一般而言受到的影响会小一些。
技术管理有时候劳心劳力,回报倒不一定高。像CTO之类的高管,固然有两三百万的现金,但是股票的价值更高,公司没做成,回报其实不高。我认识的一些朋友,走技术专家路线,这一两年看起来,在大公司拿到两三百万package的并不在少数。像阿里的P8,P9级别的专家,百度的T8,T9专家,华为的19,20,21级专家,或者外企微软、谷歌、苹果、亚马逊等技术级别高一些的非管理岗,薪酬还是很高的。
那么管理岗报酬就低么?那倒不是。如果早期加入小米、头条等,你还能当管理者,相信期权不会少。公司估值数以百倍的增长,收益还是很大的。并且管理者最容易随着公司的成长而快速成长,平台给予的锻炼机会也是普通开发所没有的。
3,大部分人转纯管理后都挺心虚的。
我自己最近半年的时间,基本上转为纯管理了,很少做具体的编程工作,也很少做Code Review工作了。我个人在实习期的时候就带过团队,在工作一年后,带的团队大概十几个。来目前的公司后,也一直有带团队,升职为技术总监这个管理岗,也有四年整的时间了。不过老实说,之前我一直觉得我更应该当架构师,而不是技术总监。
也就是说,我带人的八九年时间里,其实内心是拒绝当纯管理角色的,大部分精力也是花在技术学习和具体的编程任务上。大概梳理了下,有以下理由,让大部分工程师都不太想转纯管理岗:
纯管理岗看起来比较虚。工程师总觉得管理者也不写代码,一天到晚不知道干啥,给团队带来了什么贡献。一般而言,职位高的容易看到职位低的同事的工作价值,但是低的不太容易看到高职位的价值,因为你往往只能看到他工作的一小部分。
技术领域日新月异,很多管理者的技术比较陈旧。工作上出现下面的人觉得管理者什么都不懂,瞎指挥的挺多的。因此,大部分工程师认为,应该花精力在学习技术上,不要让自己落伍。否则去做管理这种「虚职」,到时候丢了技术的饭碗,就得不偿失了。
转管理后,把精力都放在团队上了,反而给自己充电的时间没有了。是成就了别人,但是自己的价值如何提高,没太大思路。毕竟管理的角色,和一直担任的程序员角色不同,因此没思路啊,不知道咋整。
那么我最近几个月连代码都不写了,code review也不做了,是不是心里慌得一逼呢?
当然不是。在其位,谋其政。既然在技术管理上,就应该想办法做好岗位职责。在之前岗位上成就自己的能力,往往会成为新岗位上的拦路虎。这个是德鲁克经常提到的一个观点。最近两年,我刻意阅读了很多管理类需要的书籍,包括软件工程书籍,德鲁克的书籍,产品设计书籍,创新创业相关书籍等。通过阅读书籍和参考一些同行实践,在工作中越来越认识到管理者的价值和优秀管理者的重要性。
老实说,我之前一直以为,让自己的技术更牛逼,对公司更有价值。不过目前我同样认为,对创业公司而言,优秀的管理者对公司更为重要。当然,成为优秀的技术专家并不容易,而成为优秀的管理者同样困难重重,甚至更难。为什么更难?因为管理者面对的问题更为复杂,比如技术管理者,可能需要强化自己的技术深度,扩宽自己的技术视野,强化沟通能力,提高产品素养,培养提高整体团队绩效的技能,甚至应该具有更高的视野和更好的认知,以期在当前严峻的竞争环境下,为团队找到更为靠谱的出路。
而这些都非常难。
曾经有一次和老板聊天,提到我在管理上的一些新的心得。他提到,其实每个角色的转变是一种取舍。比如当CEO,可能就无法和读博士时期一样,成为世界级的技术前沿探索者了,甚至连读论文的时间都没有。技术带来的快乐,比较难有机会去继续享受。但是当CEO也能带来别的好处,比如,想给自己放几天假,琢磨点自己感兴趣的领域,之前完全没自由,现在可以了。
从心虚到不心虚,我花了蛮长时间的。之所以不心虚,是因为我看到了管理者的独特价值。比如:
缺某个工程师,我们可以去市场上招聘。
行军打仗,有以少胜多的故事。而管理者就是将军,如何鼓舞大家的士气,在行业竞争中,以有限的研发资源,去尽快构建竞争优势,比任何一个人使蛮力都重要。
优先级的判断是绩效管理的关键。而管理者站得高,想得远的话,才可能让团队成员做到要事优先。
协调资源,做到全局最优。其实资源的有效协调是非常关键的。有价值的项目,有长期壁垒的技术难题,值得投入更多的人力。一个组织的有效运作,离不开资源的有效协调。管理者因为不再执着于局部工作,因此更能抽出身来,考虑全局的人力安排。
做管理让你更能思考方法论,让做事更有条理,更具可重复性。而这些方法论,对做开发是很有帮助的。哪天转头你转去做技术专家了,其实产出也会更加突出。因为你更能判断事情的优先级了,你更明白如何与他人共识了,你更清楚如何与产品团队沟通了,你也更明白如何做向上管理了。
好了,今天先聊到这,下次有机会再继续聊聊以下话题:管理者需要刻意练习的能力,以及我踩过的一些坑,管理角色的思维模式和普通开发者的差异,管理者需要有意回避哪些普通开发者的思维模式等。