You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
15 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 14 | 职业规划 :转管理是程序员的终极选择吗?
你好,我是臧萌。今天我们来聊聊程序员转管理这个话题。
这个话题在中国程序员界很热,很大一个原因就是中国官本位的想法依旧根深蒂固。很多人会觉得,转管理才算是“混出头”了,转管理之后就可以悠哉悠哉地“混日子”了。
这种想法肯定是错的。公司不会养闲人,做管理确实拿的钱更多,但那是因为个人能力更强,付出了更多。传统官本位那一套,很大程度上,在现代的软件公司是行不通的。说通俗一点,在软件公司里,管理和开发,都只是为公司打工而已。所以呢,**不要给管理套上太多虚无缥缈的光环,也不要对管理这份工作抱有太多不切实际的幻想。**
那么,程序员是否成长到一定阶段就一定要转管理呢?我觉得,这个问题背后的核心问题其实有两个:
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还是管理都是存在的。能够一直做一直升职的人毕竟是少数中的少数。大部分人会卡在临界级别这里。这时候不妨积蓄力量以求突破或者跳槽去别的公司寻找机会。
第二个问题。确实,很多人在到了一定年纪之后,就没有写代码的动力,也没有学习新技术的激情了。这时候,一直混下去很难再有升职加薪的可能,甚至还可能被公司淘汰。如果觉得自己随着年纪和阅历的增长,能够应对管理的职责,那么转管理不失为一个不错的选择。毕竟软件公司的一线管理,还是需要有技术底子的人来做比较好。
## 总结
现实中,也很多人确实是因为对技术没兴趣了,才转管理。毕竟想在技术的路上走下去,学习各种新技术是躲不过的。转管理则可以在很大程度上不用关心各种技术细节。
但是也不是每个人都适合转管理。就拿我来说吧,我在某个特殊阶段,短时间担任过一线开发经理。我感觉从担任经理的那一刻起,自己身上的担子立刻就不一样了。各种事情都要开始自己打理,可以说脑子里就没有一刻是闲着的。想静下心来搞点技术,基本上是不可能的。
当然,这也跟每个人的能力有关。对于擅长这种事情的人,会觉得管理岗位激发了自己的潜力,让自己越干越带劲。但对于我来说,除了累,就是累。所以我还是选择了技术方向。潜心做技术,可以让我感受到发自内心的快乐和满足。
所以是否转管理,答案就在你自己心里。你对什么饱含激情,就应该朝着那个方向努力。
![](https://static001.geekbang.org/resource/image/a1/38/a115ec84d69c17790fc3933cfd9bca38.jpg)
## 思考题
你有考虑过转管理吗,或者你有过转管理的机会吗?你的选择是什么?回顾你的成长历程,你有哪些感触呢?
欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。