管理是容易被替代的岗位
昨天有小伙伴在群里跟我探讨程序员转管理的问题,刚好上周末有一个小伙伴找我付费咨询了一些职业规划上的事情,也跟管理有关。他跟我述说了他的焦虑与困扰:
他目前 33 岁,已经工作了 9 年,从技术上来评估自己的话,他觉得自己的技术能力比较落后,好多新知识不会,也没有心力去学习新的技术知识,工作精力也比不上更年轻的人,所以目前非常的焦虑和迷茫,就想着能不能在管理岗的方向上去思考自己未来的职业规划,希望我能够给他提供一些意见
后来在我进一步的了解中得知,他其实转型的心思早就有了,因为他已经当了两年的前端 Leader。在这个过程中,他也在积极的去学习领导力,学习如何管理好一个团队,但是最近由于管理出现了问题,被上层领导多次质疑。
程序员转管理,是我们在探讨 30 岁以后如何做职业规划和转型时的一个比较主流的想法,很多经验丰富的程序员也在职业发展中践行这个想法。但是践行的过程中,由于对管理岗位的错误认知和定性,反而导致自己的职场走得越来越艰难。
那作为程序员,我们应该如何正确理解管理岗呢?
作为一个在读书期间,从小学开始就一直连任班长,工作第三年就开始管理团队,管理过近 200 人团队的管理者,我的管理经验长达 24 年,我个人认为我对这个事情非常有发言权
部分程序员对管理岗位有一个错误的认知:
因为我无法在技术领域达到一个拔尖的位置,我无法因为技术能力强而延续我的职业生涯,因此我觉得转向管理岗,是自己的出路。
上面这位咨询者,一直以来都是这个想法。甚至他还觉得技术能力的可替代性太强,花非常大的精力提高技术其实到了最后也没什么用,当了管理也不需要花那么大的精力去写代码了。他把管理能力当成了自己未来的核心竞争力。因此他在两年多的时间里,主要把精力放在了管理上,本来也不够强的技术能力进一步退化。
首先,他一方面觉得技术能力的提高需要花费很大的精力,一方面又觉得技术能力的可替代性太强,这本身就是有矛盾的
其次,事实上,技术管理者的核心竞争力,不在管理,而在技术。
01技术管理
在我们这个行业,大部分技术管理者,能有机会转向技术管理岗位,都是因为技术能力强。
大多数 Leader 都是被动成为管理者
所以这里就涉及到一个问题,为什么上层领导敢把一个只有技术能力,没有任何管理经验的人,提拔成为一个管理者呢?其实这里就已经暗含了一些侧重:管理能力可能没那么重要。
更具体主要有以下几个原因
1、带好程序员队伍,不需要特别强的管理能力
程序员是相对单纯,相对好管理的一群人。他们在工作中,还是把主要精力放在技术上,没有太多的心思去想别的事情。最大的心机就是趁 Leader 不注意的时候,在工作时间偷偷摸摸水水群。所以你会发现技术群往往会在工作时间非常活跃,一到下班就集体消失
可能对于有些 Leader 来说,有的程序员喜欢带薪拉屎,这令他非常头疼。但是如果有一天,这个 Leader 突然之间领悟到一条管理法则:好的管理,就是不管理,只问结果,不问过程,他就会突然之间发现,自己的队伍比以前好带多了...
况且,就算你管理做得不好,实际上,在公司的大框架下,也不会带来太坏的结果。因为你往往会发现,很多公司的管理者,都做得不好,管得稀烂...
2、技术之内的管理能力,外行难以替代
在一个技术团队中,技术管理需要强大的技术能力来支撑自己的权威性。不说一定要成为团队里面技术能力最顶尖的,但是至少要是处于前列。需要具备很强的技术决策能力和技术分析能力。这样才能服众。
许多在技术上有所成就的程序员内心都有一点点的傲气,他们有的人会觉得自己的 Leader 实在不咋样。当你缺乏技术能力的支撑时,你的管理将会困难重重。出现了争议你不知道如何决策,面对相互推诿甩锅你不知道该如何定性,想要推行一个技术决策也很难得到广泛的认可,你会发现下面的小伙伴总是有意无意的不给你面子,你的管理工作将会非常的难受。
就比有的老板听别人说,别人团队使用了 TypeScript
开发效率得到了很大的提升,你一听心就痒痒,觉得自己团队开发效率那么低,是不是也应该搞一搞
于是当你决定在自己团队内部推行这个技术方案的时候,你会发现阻力非常大。因为你无法说服大家接受这个方案
他们有的人会给你说,ts 会增加开发量,反而会降低工作效率,ts 学习成本很高,ts 升级的代价很大,整个项目都可能会面临重构... 你一听就傻眼了,这么夸张的吗?就只好作罢...
他们说得其实很有道理,哪怕你本身就是很专业的前端开发,你也挑不出来什么毛病,你只有对 ts 有更高层次的理解,你才能正确决策这个事情。如果你缺乏了技术能力,你的管理一定是受限于人
除此之外,技术管理者虽然脱离了一线开发岗位,可以把更多的时间花在公司的管理工作和会议上,但是当团队遇到决策问题、遇到技术难点时,也需要技术管理者站出来兜底
3、技术之外的管理能力,可以速成
有的人过分看重了管理能力的作用,殊不知,管理能力这个东西,他是可以速成的。
傻眼了吧?没有想到吧?
也许有的人,看了我这篇文章,就已经具备很强的管理能力了,因为我在前面透露了一条非常重要的管理法则,悟性高的人说不定已经把他消化成自己的东西了。
当一名程序员有丰富的工作经验时,没吃过猪肉,也一定见过猪跑。他可能不太清楚什么样的管理方式是好的,但是他一定对坏的管理方式有心得。
因此,当你以为掌握了管理能力,你懂了好多所谓的向上管理,向下管理,懂了如何跨部门沟通,懂了好多其他新手开发都不明白的行业管理规则,殊不知,这些东西,上手难度极低。
当然我并不否认许多人确实不知道这些东西,不过这并不代表学习难度高。只是他没有接触过而已,所以这往往会给很多人造成一种错觉,认为管理能力能够形成自己的护城河。实际上并不可以。
许多人在管理团队的过程中感觉到非常痛苦,很大一部分原因在于他的 Leader 也不太懂管理,所以无法给他正确有效的指引,他的管理是在自己摸索的过程中前进的。比如有的管理者在下决定淘汰一个人的时候,前期要做大量的心里建设工作,不然总觉得心里过意不去。对你来说,下这个决定很难,你就觉得管理难。
管理能力达到一个还不错的水平,一定是可以速成的。除非是你要成为一个非常牛逼的管理者,才需要花费大量的精力去扩展自己的综合能力。
所以当你为了提高所谓的管理能力,而放弃技术能力时,你以为你掌握了核心竞争力,事实上刚好相反,你放弃了你的核心竞争力
说得好听点,叫这个人有管理能力,说得不好听一点,就是你一旦离开了这个团队,就啥也不会了。
02总结
记住,单纯的管理者替代成本非常低。
在你还不是老板的时候,管理能力不能独立成为核心竞争力。我们的技术能力,才是我们的基本盘。当你丢掉了你的基本盘,那就是丢了根。
建议大家不要把管理能当成一种能力,而应该当成一种机遇。在你不丢根的情况下,顺带做管理。把他当成加分项,这样,你的职业发展,才更具备生命力。
当然,根据我自身实际情况的体会,如果我们在技术能力拔尖的前提下,同时还具备非常强大的管理能力,你确实能够感受到整个行业对你是非常友善的,你的机会会比别人更多。