你好,我是臧萌。今天我们来聊聊程序员转管理这个话题。

这个话题在中国程序员界很热,很大一个原因就是中国官本位的想法依旧根深蒂固。很多人会觉得,转管理才算是“混出头”了,转管理之后就可以悠哉悠哉地“混日子”了。

这种想法肯定是错的。公司不会养闲人,做管理确实拿的钱更多,但那是因为个人能力更强,付出了更多。传统官本位那一套,很大程度上,在现代的软件公司是行不通的。说通俗一点,在软件公司里,管理和开发,都只是为公司打工而已。所以呢,不要给管理套上太多虚无缥缈的光环,也不要对管理这份工作抱有太多不切实际的幻想。

那么,程序员是否成长到一定阶段就一定要转管理呢?我觉得,这个问题背后的核心问题其实有两个:

  1. 如果不转管理,是否就到了成长瓶颈了,以后升职加薪基本没戏了?
  2. 如果不转管理,会不会到一定年纪就写不动代码了,导致对公司的价值越来越低,最后被淘汰?

那在讨论这两个问题之前,我们先来理解一下经理这个职位。

管理岗和个人岗有什么不同?

首先,从职责上说,公司都有个人岗和管理岗(Manager)。

首先来说说个人岗。个人岗英文简称叫做IC,全名叫做Individual Contributor,也就是个人贡献者。顾名思义,IC的意思就是只能通过自己实际的工作,来为公司做出贡献,创造价值。软件公司里的程序员,都是IC,也就是通过自己的专业技能为公司创造价值。

那么与之相对应的,就是管理岗。管理岗一般是不做具体工作的。换句话说,管理岗除了具体的事情,所有的别的事情都要管。管理岗不是通过做具体的工作,来为公司做贡献,而是通过各种管理技能和指导,让手下的IC能够发挥更好的合力,为公司创造更多的价值。简单来说,就是通过他人来达成目标。

其实说到管理岗和个人岗,这俩概念并不是什么舶来词,个人岗和管理岗就好似我们古代的官吏之别。做官,就是要和人打交道,要有治理理念,能管理人和人之间的关系,平衡各方利益。而专注做某项事的,则叫做吏。比如税吏、狱吏、刀笔吏,这些岗位的名称都明确了这个职位需要的相关技能,也代表了这个职位对应的具体工作。

那么管理岗到底和个人岗有什么不同呢?简单来说,管理岗位是公司执行系统的一部分。我来打个比方吧,如果将公司看做一个人,管理岗就好像是人的神经系统,个人岗就像是各个职能器官。神经系统控制各个职能器官来做事情。所以如果是从IC转管理的话,很多公司都会提供配套的培训,帮助员工完成职责的转换。

软件研发公司里一线经理要做什么?

搞清管理岗和个人岗有何不同之后,我们再来看看,软件研发公司的一线经理都要做什么。一线经理,简单来说就是直接管理一组程序员的经理。一个组的规模看具体的工作性质,可能是七八个人,也可能是十几个人,甚至更多一些。那么这样一个经理,平时都要做什么事情呢?我将从对内、对外以及对未来三个大方向和你聊聊。

一、对内

从IC视角转向管理视角

正如前面说的,IC转管理带来的是视角的转换。IC看管理,很自然的是一个从下向上的视角,觉得管理好呀,可以管人,自己不用做事情。但是真正屁股坐在管理岗上之后,就会发现自己手头的事情忽然多了,担子重了。这时候再看管理,内容就完全不一样了。“可以管人”就变成了要对手下的人负责,要让手下的人有事做,发挥价值。而“自己不用做事”这种想法,则变成了,“怎样才能发挥好管理岗作为神经系统的指挥、协调和管理作用”。

管理绩效

管理绩效问题是每一个经理都绕不过去的一关。手下的兄弟姐妹们跟着经理干了一年了,谁该升职加薪,谁要黯然退场,都是经理需要搞定的事情。有时候甚至要开除员工。如果没有让大家心服口服,带队伍会越来越难。毕竟没好处的话,谁愿意拼呢?

二、对外

组织协调各种资源

经理每天的工作都可以说是在救火。人永远不够用,事情永远都很急,技术债务也在一天天成为发展的掣肘,线上生产问题还会时不时的凑个热闹。经理要组织协调各种资源,在有限的人和有限的预算内,把事情安排到内外各方都能接受甚至满意。

计划和安排,争取资源

经理要给出未来的人员计划和安排,计划未来一年可能需要的预算(包括人、机器、软件等),这些资源分别用来做什么。

这就要求经理必须深入理解自己队伍的家底和强项,并能够在自己的队伍发展和公司发展之间找到契合点,除了要证明自己的队伍现在存在的价值外,还要能规划未来发展的价值,进而争取到更多的资源。

进行各种交流,做出承诺和决策

经理是一个组说了算的那个人,什么事情要在什么之前做完、做完的标准是什么、什么事情要做、什么事情拒绝做等等,这些交流和承诺都要经理给出。经理做出各种决策的同时,自己心里的算盘也要算清楚,手头有多少人,有多少事情,未来还能接多少活儿等等。

三、对未来

理解公司发展方向

作为公司的“神经系统”,当然要和“大脑”有通常的信息通道。经理需要洞悉公司和所在部门的发展方向,并理解发展方向背后的逻辑,在此基础上,才能够在繁杂的日常工作中找到工作的重点,让自己的手下能够把时间用在该用的地方。

培养人才,发展团队

人才和团队是经理这根“神经”控制的“器官”和“肌肉”。一线经理很大一部分的工作就是要培养人才,发展团队,让队伍更具凝聚力和战斗力。前面我们讲到的一对一会议,就属于这部分内容。

获取客户,赢得认可

经理还必须是个嗅觉敏锐的销售,队伍里的人负责做事情,经理要向外宣传,也就是所谓的“吹”。

对于一个稍有规模的公司来说,一个需求有时不止一套解决方案。如何能够让自己的队伍做的系统,去争取到更多的高价值客户,创造更多的价值,就是经理要做的事情。同时,更多的需求也是打造产品的原材料,通过让队伍理解和消化这些需求,可以打造更好的系统。

同时,一个公司的事情,往往是多个组协同合作完成的。你不出去“吹”,别人就看不到你在这件事情里的贡献,队伍的付出也就“打了水漂”。所以,如何把队伍付出的汗水包装成大家认可的成果,进而换回队伍的实际利益,也是经理要操心的事情。

在一个队伍中,还难免会有各种摩擦,各种磕磕碰碰,各类杂事,这些经理当然也得去协调。

什么样的人适合转管理?

说了那么多经理需要做的事情,经理这个角色不知道在你眼里有没有发生一点改变呢?说实话,就我自己的经验来说,经理可真不是那么好当的。在我眼里,一个合格的经理需要具备如下的素质。

喜欢和人打交道

经理的大部分工作内容是要跟人打交道,搞定人和人的关系,搞定关系背后的各种利益,这非常考验经理自身的沟通和协调能力。

同时,跟人打交道的事情不确定性更多,需要操心的事情也更多,工作也更累。所以软件研发公司的经理,绝对不是一个闲职,图清闲的就不用考虑了。

会经营、有眼光、有干劲

经理管着一票人,负责一堆事儿。心里要个本账,做什么划算,什么不划算。

还有呢,经理也要有眼光,能够紧紧盯住公司和部门的发展方向,同时为自己的队伍制定适合公司和部门的发展方向。

经理一定是有干劲儿,打心底里要做事情的人。正所谓,兵熊熊一个,将熊熊一窝。如果经理本身气场不足,那么队伍就不可能有太大战斗力。甚至自己队伍的地盘,有可能被人抢走。

能够承受压力

转管理之后,各种千头万绪的事情都会涌来,各种信息都要消化吸收,各种决策都等着你做,对外有交付,对内要有交代。所以坐在经理的位子上,抗压能力也是必须的。

有远大抱负

如果说前面提到的“要做事”,是管理的基本素质。那么有远大抱负,则是优秀管理者的必备条件。如果你看到技术的前进,感到的不是一般的激动和兴奋,而是心底里不断地涌出要用技术做出一番事情来的冲动,转管理可能是不得不做的选择。因为做技术你只能使用自己的时间,你会深深感觉单凭自己的精力,无法完成自己的抱负。

看着满腔的激情和一天仅有的24小时,恨不得自己一个人可以变成十个人。当然这是不可能的,但你可以带领十个人甚至更多人和你一起做事情。所以如果想成大事,手里就一定要有一个团队,用利益,更用自己的激情,来带领团队实现心中的抱负。

有一个很经典的例子。我们都知道,马云看到互联网之后,感觉这个东西能改变世界。那么他是怎么做的呢?他是不是去学计算机了呢?并没有。他肯定也知道这个事情大到单凭自己是无法做出成绩的,所以他选择组建团队,大家一起来实现心中的抱负。最后他也打造出了自己的帝国。

谈谈“临界级别”

无论是IC还是管理,越高端的地带,职位就越少。一般来说,公司都有这样一个临界级别,只要靠单纯的把经理交代的工作完成好,混“资历”就可以升职到临界级别。

临界级别之上,每升一级,几乎都要淘汰十几个甚至几十个候选人。也就是说,就算单纯靠“混资历”,基本是没可能升到临界级别之上的。其实大家平时说的瓶颈,很多时候指的就是这个临界级别。

事实上,管理职位的临界级别,确实是比IC的临界级别高了一级,甚至两级。所以普通人如果有做管理的素质,确实可以通过转管理,达到一个比做IC更高的级别。

在我看来,我并不想从“管理更容易升职”这个角度来看待这个现象。我更倾向于理解为,这是对经理更多付出的一种肯定。也就是说,经理这个职位本身就更辛苦,升到更高的级别是一种合理的现象。

我不转管理怎么办?

不管程序员是否转管理,临界级别都在那里。很多软件研发公司的IC职位,也有着非常高的级别,程序员成长的瓶颈不是自己的角色是否是管理,而是在于自己的能力,是否能够达到职业生涯下一个级别的要求。

很多人的迷茫其实是从“临界级别”开始的,不明白自己好好的把事情做完了,为什么不能升职。其实从临界级别开始,要想继续升职,就要实现自我突破,要能够承担起更重的担子,更大的责任。

IC如果想要继续升职,方向有很多,可以吃透公司的业务,主攻业务;可以吃透公司各个系统,主攻架构;也可以主攻技术,成为某个方向的技术专家等等。当然,这些都需要根据自己的特长来决定,也都需要IC能够继续在技术上深入,有敏锐的技术嗅觉。但是有一个共同之处是,这时候,IC的工作就不单纯的是写代码了,花在与人沟通,塑造自己影响力上的时间会越来越多。也就是说,无论是否转管理,想要向更高级别迈进,都必须注重和人的交流沟通。

但是IC和管理的角色还是很不一样的。它俩最大的不同之处就在于,管理要搞定人与人之间最复杂的一件事:利益。而IC则专注于做事情就可以了。

解答开篇

那么我们再回过头来看看开头的两个问题:

  1. 如果不转管理,是否就到了成长瓶颈,以后升职加薪基本没戏了?
  2. 如果不转管理,会不会到一定年纪就写不动代码了,对公司的价值会越来越低,慢慢就会被淘汰?

第一个问题。成长瓶颈无论对IC还是管理,都是存在的。能够一直做一直升职的人,毕竟是少数中的少数。大部分人会卡在临界级别这里。这时候不妨积蓄力量以求突破,或者跳槽去别的公司寻找机会。

第二个问题。确实,很多人在到了一定年纪之后,就没有写代码的动力,也没有学习新技术的激情了。这时候,一直混下去很难再有升职加薪的可能,甚至还可能被公司淘汰。如果觉得自己随着年纪和阅历的增长,能够应对管理的职责,那么转管理不失为一个不错的选择。毕竟软件公司的一线管理,还是需要有技术底子的人来做比较好。

总结

现实中,也很多人确实是因为对技术没兴趣了,才转管理。毕竟想在技术的路上走下去,学习各种新技术是躲不过的。转管理则可以在很大程度上不用关心各种技术细节。

但是也不是每个人都适合转管理。就拿我来说吧,我在某个特殊阶段,短时间担任过一线开发经理。我感觉从担任经理的那一刻起,自己身上的担子立刻就不一样了。各种事情都要开始自己打理,可以说脑子里就没有一刻是闲着的。想静下心来搞点技术,基本上是不可能的。

当然,这也跟每个人的能力有关。对于擅长这种事情的人,会觉得管理岗位激发了自己的潜力,让自己越干越带劲。但对于我来说,除了累,就是累。所以我还是选择了技术方向。潜心做技术,可以让我感受到发自内心的快乐和满足。

所以是否转管理,答案就在你自己心里。你对什么饱含激情,就应该朝着那个方向努力。

思考题

你有考虑过转管理吗,或者你有过转管理的机会吗?你的选择是什么?回顾你的成长历程,你有哪些感触呢?

欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。