防止断更 请务必加首发微信:1716 143665

14 | 职业规划 :转管理是程序员的终极选择吗?

2020-06-17 臧萌
职场求生攻略
进入课程

讲述:臧萌

时长18:45大小17.19M

你好,我是臧萌。今天我们来聊聊程序员转管理这个话题。
这个话题在中国程序员界很热,很大一个原因就是中国官本位的想法依旧根深蒂固。很多人会觉得,转管理才算是“混出头”了,转管理之后就可以悠哉悠哉地“混日子”了。
这种想法肯定是错的。公司不会养闲人,做管理确实拿的钱更多,但那是因为个人能力更强,付出了更多。传统官本位那一套,很大程度上,在现代的软件公司是行不通的。说通俗一点,在软件公司里,管理和开发,都只是为公司打工而已。所以呢,不要给管理套上太多虚无缥缈的光环,也不要对管理这份工作抱有太多不切实际的幻想。
那么,程序员是否成长到一定阶段就一定要转管理呢?我觉得,这个问题背后的核心问题其实有两个:
如果不转管理,是否就到了成长瓶颈了,以后升职加薪基本没戏了?
如果不转管理,会不会到一定年纪就写不动代码了,导致对公司的价值越来越低,最后被淘汰?
那在讨论这两个问题之前,我们先来理解一下经理这个职位。

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

首先,从职责上说,公司都有个人岗和管理岗(Manager)。
首先来说说个人岗。个人岗英文简称叫做 IC,全名叫做 Individual Contributor,也就是个人贡献者。顾名思义,IC 的意思就是只能通过自己实际的工作,来为公司做出贡献,创造价值。软件公司里的程序员,都是 IC,也就是通过自己的专业技能为公司创造价值。
那么与之相对应的,就是管理岗。管理岗一般是不做具体工作的。换句话说,管理岗除了具体的事情,所有的别的事情都要管。管理岗不是通过做具体的工作,来为公司做贡献,而是通过各种管理技能和指导,让手下的 IC 能够发挥更好的合力,为公司创造更多的价值。简单来说,就是通过他人来达成目标。
其实说到管理岗和个人岗,这俩概念并不是什么舶来词,个人岗和管理岗就好似我们古代的官吏之别。做官,就是要和人打交道,要有治理理念,能管理人和人之间的关系,平衡各方利益。而专注做某项事的,则叫做吏。比如税吏、狱吏、刀笔吏,这些岗位的名称都明确了这个职位需要的相关技能,也代表了这个职位对应的具体工作。
那么管理岗到底和个人岗有什么不同呢?简单来说,管理岗位是公司执行系统的一部分。我来打个比方吧,如果将公司看做一个人,管理岗就好像是人的神经系统,个人岗就像是各个职能器官。神经系统控制各个职能器官来做事情。所以如果是从 IC 转管理的话,很多公司都会提供配套的培训,帮助员工完成职责的转换。

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

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

一、对内

从 IC 视角转向管理视角

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

管理绩效

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

二、对外

组织协调各种资源

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

计划和安排,争取资源

经理要给出未来的人员计划和安排,计划未来一年可能需要的预算(包括人、机器、软件等),这些资源分别用来做什么。
这就要求经理必须深入理解自己队伍的家底和强项,并能够在自己的队伍发展和公司发展之间找到契合点,除了要证明自己的队伍现在存在的价值外,还要能规划未来发展的价值,进而争取到更多的资源。

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

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

三、对未来

理解公司发展方向

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

培养人才,发展团队

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

获取客户,赢得认可

经理还必须是个嗅觉敏锐的销售,队伍里的人负责做事情,经理要向外宣传,也就是所谓的“吹”。
对于一个稍有规模的公司来说,一个需求有时不止一套解决方案。如何能够让自己的队伍做的系统,去争取到更多的高价值客户,创造更多的价值,就是经理要做的事情。同时,更多的需求也是打造产品的原材料,通过让队伍理解和消化这些需求,可以打造更好的系统。
同时,一个公司的事情,往往是多个组协同合作完成的。你不出去“吹”,别人就看不到你在这件事情里的贡献,队伍的付出也就“打了水漂”。所以,如何把队伍付出的汗水包装成大家认可的成果,进而换回队伍的实际利益,也是经理要操心的事情。
在一个队伍中,还难免会有各种摩擦,各种磕磕碰碰,各类杂事,这些经理当然也得去协调。

什么样的人适合转管理?

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

喜欢和人打交道

经理的大部分工作内容是要跟人打交道,搞定人和人的关系,搞定关系背后的各种利益,这非常考验经理自身的沟通和协调能力。
同时,跟人打交道的事情不确定性更多,需要操心的事情也更多,工作也更累。所以软件研发公司的经理,绝对不是一个闲职,图清闲的就不用考虑了。

会经营、有眼光、有干劲

经理管着一票人,负责一堆事儿。心里要个本账,做什么划算,什么不划算。
还有呢,经理也要有眼光,能够紧紧盯住公司和部门的发展方向,同时为自己的队伍制定适合公司和部门的发展方向。
经理一定是有干劲儿,打心底里要做事情的人。正所谓,兵熊熊一个,将熊熊一窝。如果经理本身气场不足,那么队伍就不可能有太大战斗力。甚至自己队伍的地盘,有可能被人抢走。

能够承受压力

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

有远大抱负

如果说前面提到的“要做事”,是管理的基本素质。那么有远大抱负,则是优秀管理者的必备条件。如果你看到技术的前进,感到的不是一般的激动和兴奋,而是心底里不断地涌出要用技术做出一番事情来的冲动,转管理可能是不得不做的选择。因为做技术你只能使用自己的时间,你会深深感觉单凭自己的精力,无法完成自己的抱负。
看着满腔的激情和一天仅有的 24 小时,恨不得自己一个人可以变成十个人。当然这是不可能的,但你可以带领十个人甚至更多人和你一起做事情。所以如果想成大事,手里就一定要有一个团队,用利益,更用自己的激情,来带领团队实现心中的抱负。
有一个很经典的例子。我们都知道,马云看到互联网之后,感觉这个东西能改变世界。那么他是怎么做的呢?他是不是去学计算机了呢?并没有。他肯定也知道这个事情大到单凭自己是无法做出成绩的,所以他选择组建团队,大家一起来实现心中的抱负。最后他也打造出了自己的帝国。

谈谈“临界级别”

无论是 IC 还是管理,越高端的地带,职位就越少。一般来说,公司都有这样一个临界级别,只要靠单纯的把经理交代的工作完成好,混“资历”就可以升职到临界级别。
临界级别之上,每升一级,几乎都要淘汰十几个甚至几十个候选人。也就是说,就算单纯靠“混资历”,基本是没可能升到临界级别之上的。其实大家平时说的瓶颈,很多时候指的就是这个临界级别。
事实上,管理职位的临界级别,确实是比 IC 的临界级别高了一级,甚至两级。所以普通人如果有做管理的素质,确实可以通过转管理,达到一个比做 IC 更高的级别。
在我看来,我并不想从“管理更容易升职”这个角度来看待这个现象。我更倾向于理解为,这是对经理更多付出的一种肯定。也就是说,经理这个职位本身就更辛苦,升到更高的级别是一种合理的现象。

我不转管理怎么办?

不管程序员是否转管理,临界级别都在那里。很多软件研发公司的 IC 职位,也有着非常高的级别,程序员成长的瓶颈不是自己的角色是否是管理,而是在于自己的能力,是否能够达到职业生涯下一个级别的要求。
很多人的迷茫其实是从“临界级别”开始的,不明白自己好好的把事情做完了,为什么不能升职。其实从临界级别开始,要想继续升职,就要实现自我突破,要能够承担起更重的担子,更大的责任。
IC 如果想要继续升职,方向有很多,可以吃透公司的业务,主攻业务;可以吃透公司各个系统,主攻架构;也可以主攻技术,成为某个方向的技术专家等等。当然,这些都需要根据自己的特长来决定,也都需要 IC 能够继续在技术上深入,有敏锐的技术嗅觉。但是有一个共同之处是,这时候,IC 的工作就不单纯的是写代码了,花在与人沟通,塑造自己影响力上的时间会越来越多。也就是说,无论是否转管理,想要向更高级别迈进,都必须注重和人的交流沟通。
但是 IC 和管理的角色还是很不一样的。它俩最大的不同之处就在于,管理要搞定人与人之间最复杂的一件事:利益。而 IC 则专注于做事情就可以了。

解答开篇

那么我们再回过头来看看开头的两个问题:
如果不转管理,是否就到了成长瓶颈,以后升职加薪基本没戏了?
如果不转管理,会不会到一定年纪就写不动代码了,对公司的价值会越来越低,慢慢就会被淘汰?
第一个问题。成长瓶颈无论对 IC 还是管理,都是存在的。能够一直做一直升职的人,毕竟是少数中的少数。大部分人会卡在临界级别这里。这时候不妨积蓄力量以求突破,或者跳槽去别的公司寻找机会。
第二个问题。确实,很多人在到了一定年纪之后,就没有写代码的动力,也没有学习新技术的激情了。这时候,一直混下去很难再有升职加薪的可能,甚至还可能被公司淘汰。如果觉得自己随着年纪和阅历的增长,能够应对管理的职责,那么转管理不失为一个不错的选择。毕竟软件公司的一线管理,还是需要有技术底子的人来做比较好。

总结

现实中,也很多人确实是因为对技术没兴趣了,才转管理。毕竟想在技术的路上走下去,学习各种新技术是躲不过的。转管理则可以在很大程度上不用关心各种技术细节。
但是也不是每个人都适合转管理。就拿我来说吧,我在某个特殊阶段,短时间担任过一线开发经理。我感觉从担任经理的那一刻起,自己身上的担子立刻就不一样了。各种事情都要开始自己打理,可以说脑子里就没有一刻是闲着的。想静下心来搞点技术,基本上是不可能的。
当然,这也跟每个人的能力有关。对于擅长这种事情的人,会觉得管理岗位激发了自己的潜力,让自己越干越带劲。但对于我来说,除了累,就是累。所以我还是选择了技术方向。潜心做技术,可以让我感受到发自内心的快乐和满足。
所以是否转管理,答案就在你自己心里。你对什么饱含激情,就应该朝着那个方向努力。

思考题

你有考虑过转管理吗,或者你有过转管理的机会吗?你的选择是什么?回顾你的成长历程,你有哪些感触呢?
欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。
unpreview
© 17161436 65 拼课微信
上一篇
13 | 外派:大家都在一个办公室工作,有什么不一样?
下一篇
15 | 职业规划 :程序员加入创业公司,这些事情你想清楚了吗?
 写留言

17161436 65 拼课微信(6)

  • 2020-06-17
    一般会有两种发展方向
    一个是在技术的某个方向深入,成为专家级别,即使年龄大了,也是很抢手,但这个不容易,毕竟很多程序员都是很普通的开发,学的比较杂,哪个方向研究的都深或在某个方向研究的深的还是不多
    还有就是转管理,但转管理也不容易,需要各种硬技能和软技能,毕竟几十个人里就一个管理,可见比例之低

    那既不是在某个领域很深入,也没转成管理的怎么办?
    如果工作能力可以匹配工作年限,还是可以继续在程序员这条道路上耕耘的,但这种发展轨迹其实和第一种在技术方向深入的差不多

    就怕什么呢,就怕一年经验用了8年,而不是8年工作经验,我们都有这种误解,用工作年限来考虑要多少工资

    哎,如果真的工作几年,一直吃老本,随着年龄的增长,就避免不了遇到35岁中年危机,到了那个时候,要么转行,要么回老家,真不知道该怎么面对

    既然知道这种现状,是不是努力就能自己朝着某个方向发展?
    嗯,应该是这样
    展开

    作者回复: “一年经验用了8年,而不是8年工作经验”精华了。

    所以我一直觉得,工资重要,自己有发展更重要。如果学不到新东西,就会感觉很不安。

    3
  • 2020-06-19
    看完感觉,不管是技术还是管理,要做好都不容易。个人认为,归根结底的问题是找到自己的兴趣和优势所在,这样虽然不能保证能上到怎样的高度,但至少不会太累。

    没做过管理,就拿技术举例,两年开发下来最大的困扰就是还没能找到一个自己感兴趣或是觉得可以一直投入下去的领域或方向,往往都是根据工作需要去学习一些零碎的知识,自己有学习的意愿,也花了很多时间,Python,Go,Java,前端都弄过,计算机基础知识也一直在学,但很难说在某方面有所积累,有所沉淀,学到的都是一些片面的,大概的东西,换句话说就是只知道是什么,不知道为什么,一个东西只知道大概怎么用,不知道它为什么这样设计,也不知道这个技术的出现是为了解决什么样的问题,当然就对新技术没什么嗅觉。总觉得这样下去不会让自己对未来充满期待,反而是更多的迷茫,目前也没考虑转管理,感觉先把技术打牢在考虑别的,但现在的困扰就是怎么样才能让自己找到一个自己觉得还不错的方向,然后深入下去,很多时候都只能屈服于工作,屈服于现实
    展开

    作者回复: 工作是技术的试金石。根据工作需要去学习是对的,我建议不要只学习零碎的知识,可以根据工作需要,系统的学习一下,也就是把工作中用到的深入学下去。

    1
  • 2020-06-17
    现阶段把经理交代的事做好
    展开

    作者回复: 一步一步,稳扎稳打。

    1
  • 2020-06-19
    从资深程序员转管理是比较痛苦的,首先要控制不要冲到一线,这个真的比较难;再就是之前是自己做好事就行了,现在要管理下面一组人做好事,人多的话就涉及到各个方面,要应才管理,不能对每个人都是同一个管理策略。还有上下级以及跨部门之前的协调,好多事情也比较难推动。
    展开

    作者回复: ✅✅,所以对于转经理的开发人员,公司一般都会有培训

  • 2020-06-18
    做管理没有安全感,还是做技术心安,技术在手说走就走

    作者回复:


    技术够硬,管理够软。其实各有各的优势,也各有各的难处。

    技术的优势就是简单,干活靠自己,够硬。到哪儿都能靠技术干活出活。就像你说的,技术在手,说走就走。反正是干活嘛,靠技术,没毛病。

    相比之下,就是管理的劣势。管理靠的是各种软技能。虽有套路,但是对公司,对环境,对团队,对周围人脉的依赖都是有的,靠自己没法出活。很多时候,公司裁员也会优先选择裁中低层的管理人员。

    但是反过来说,技术也有劣势。技术的劣势就是随时可能被淘汰,要一直学习新的技术。要时刻关心各种技术的发展方向。

    举个简单的例子,在 Web 井喷式发展之前,JQuery 可以说是统治了前段。然后 Web 开始井喷式发展,各种框架层出不穷,现在呢,JQuery 已经在新的项目里寻不着踪迹了,很多老的项目也在迁移。

    可以说,发展越迅猛的方向,技术更迭越快,比如前端。而发展迟缓,或者本身就不适合市场的技术方向呢,整个可能被替代,比如Java中的EJB,现在就被 Spring 替代了。

    对比之下,管理的优势就是技能和经验,不会被淘汰。

    技术招聘上会有各种专项技术要求,比如“使用 Java 多少年”,“使用 C 多少年”,“精通性能调优”等等。但是招聘管理的时候,就不会写“有多少年管理Java 程序员”的经验。只是会要求多少年管理研发团队经验。当然,偶尔还会对行业有要求。

    硬,容易折了,折了就得换新的。软,不容易折了,但是要有依托。

    最后补充一句,计算机的基础知识,就是定海神针的硬,既稳,又硬。比如计算机网络,操作系统,编译原理等等,这些都是看不到被淘汰的可能的。

  • 现阶段我是一部分时间参与管理,做计划、分配工作、追踪进度,事情是比以前多,但压力不大,大家主动性都不错;
    个人觉得管理的难度可能在于要对项目和公司战略有眼光,不能选错了(选择比努力重要),还会做宣传和懂得利益分配;
    无论走哪条路,沟通能力要作为重点工作内容培养起来。
    展开

    作者回复: 加黑加粗加大 👉选择比努力重要👈加黑加粗加大

    对于经理来说,沟通不是必备技能,是生存技能😁