
做管理者天天面对的都是一堆的不确定性性心理压力很大很容易心累的。比如说团队的人你能不能招到招到了留不留得住项目能不能按时交付上级对团队的预期你能不能达成这些变量不全在你一个人手里的。你做了所有你认为正确的事情结果可能还是不好。反过来有时候你什么都没做对结果反而还行。这种投入和产出之间的非线性关系是管理岗最让人不安的地方。下面说说管理岗的不确定性到底体现在哪些地方。做开发只需要对自己的代码负责做管理要对整个团队的产出负责。你只有真正坐上那个位置你才知道这句话的分量。你写代码你加把劲就能多交付一个功能。你带团队产出是十几个人共同决定的变量不全在你一个人手里。某个人今天状态不好某个模块的技术方案选错了某两个组员之间配合不顺畅任何一个环节出问题最终都反映在团队产出上。而这些事情你作为管理者你不能替每个人写代码也不能替每个人做决策。我之前做过一次大的系统重构把核心模块从PHP转成Java。方向是对的团队也需要这个事情。但推动的过程极其艰难。下单接口灰度上线折腾了9次才全量。每次刚放一点流量进去不是接口报错就是数据不对只能切回老接口。测试人员和运维被反复折腾到后面意见很大觉得别上了对生产环境要有敬畏之心。产品经理天天来问全量了没。作为推动这个事情的人你一方面要承受多方的压力另一方面结果是高度不确定的你不知道下一次灰度会不会又翻车。团队产出的不确定性还只是一层。更具体地说你手里是握着实打实的权力的而这个权力本身就充满不确定性。管理者是有真权力的。给组员打绩效、定建议工资、决定谁是核心骨干谁不是这些权力不是虚的它直接影响每一个人的收入和发展。很多人以为做管理就是分分活、催催进度实际上管理者最核心的权力场景是每半年或者每年给组员打绩效的时候。绩效这个东西直接决定了年终奖拿多少、工资涨不涨、能不能晋升。你给谁A给谁C每个决定都在改变一个人的轨迹。这种权力带来的其实是压力。因为你很清楚你在excel那么一填对面那个人未来半年的收入和职业发展就不一样了。最痛苦的是公司强制分布的情况就是那种规定团队里必须有人拿C的。你手底下有个人工作态度很好每天来得很早走得最晚但你认真评估他的产出今年确实不够。你还是得给他C。打完绩效之后面对面谈你看着他的眼神你知道他心里在想什么他也知道你在想什么。但你没得选制度就是这么定的。这种心理负担做开发的时候是完全不会有的。开发岗的绩效基本就是看你自己的产出代码质量怎么样交付了多少需求线上有没有事故。你对自己的绩效心里有数不存在要给队友打C的问题。管理岗的绩效评定是在给别人做裁判这个角色的心理压力完全是另一个级别的。而且这种压力是「周期性」的每半年或者每一年来一次。每次评定之前那几天你得反复权衡和找数据以及分析这个人给B还是A-那个人到底算B还是C给了A的人后面会不会觉得不公平。这些纠结不是技术问题技术问题你查文档、看源码、跑跑压测相对而言比较容易找到答案。这些是关于人的判断没有标准答案你怎么选都会有人受伤。真可谓是几家欢乐几家愁哎每年都是如此循环。这种持续的心理消耗慢慢会变成一种很特殊的状态。开发岗的累是身累。加班到深夜赶项目上线身体疲惫是真实的。而管理岗的累是心累。半夜躺在床上脑子里转的不完全是代码是某个人最近状态不对是不是要走、某个项目下周能不能按时交付、老板上次开会说的那句话到底是什么意思。这些东西不会因为你下班就停下来它会一直跟着你。网络上有一项基于两万多名全职工作者的研究发现管理层有18%的人报告了抑郁症状而基层工作者是12%。中层管理者的心理健康风险比基层和高层都高。这个数据不奇怪。基层员工的压力来源相对明确做好手头的事就行。高层有足够的权力和资源去推动事情。中层管理者恰好卡在中间上面有预期要满足下面有团队要操心手里有的资源又不够多。这种上下受压、又缺乏足够掌控力的状态是心理问题高发的温床。心累还有一个很隐蔽的特点它会侵蚀你的判断力。身体累了你知道要休息心累到了一定程度你自己可能意识不到。你会开始变得犹豫该拍板的事情拍不了该推的事情推不动。管理者要做的是决策而不是做决定决策是一次解决一批问题决定是一次只解决一个问题。做错了决策全组人的时间都白费了。管理上的决策失误往往要过几个月才能看到后果而且后果波及的是整个团队。没有足够强的心理韧性和意志力不建议去碰管理岗。这不是能力问题是承受力的问题。这个是我做了9年管理特别想要说的。且管理岗的不确定性还不止这些。一旦你带团队上级对你的预期会急剧放大这也是一个很大的压力来源。你做开发的时候上面对你的预期很明确代码写好需求按时交付线上稳定。你做管理之后预期会急剧膨胀。团队战斗力够不够有没有有效的产出注意是有效的不是做了多少事情是做出了多少对公司有实际价值的成果。成员的成长和梯队建设有没有在做团队的技术规划有没有稳定性建设、安全建设、基础组件、架构设计这些规划层面的事情上级都会看。上面列的这些有几项没达标你的绩效就不会好。而你的绩效不好不是你自己一个人的事是你带着十几二十个人一起不好。这种放大效应让管理岗的失败成本远高于开发岗。开发岗绩效差影响的是你自己。管理岗绩效差影响的是整个团队在公司里的处境。如果你抢过蛋糕肯定就知道我在说啥你能否拿到大一些的蛋糕跟你管理水平和产出强相关的。我之前写过一篇关于团队管理的内容里面列过几条自检标准团队有没有产出难事你能不能推过去队伍稳不稳下面愿不愿意跟你干结构和梯队有没有。这几条里任何一条亮红灯你在上级眼里就是不合格的。你不需要每条都满分但你不能有明显的短板。问题是这些标准里的每一条都有大量不可控因素。队伍稳不稳取决于市场环境、薪酬竞争力、个人发展诉求这些你说了不算。说了这么多回到问题本身。人心是不确定的你永远不知道他明天会不会提离职不知道他对你的安排是真心的认同还是嘴上说说。管理岗的不确定性根源就在这里你的工作对象是人而人是所有变量里最不可控的。这不是说管理岗没有价值。一个好的管理者对团队的贡献是巨大的能带着做成很多人原本做不成的事情。但这个岗位需要的心理素质和承受力跟技术岗是完全不同的两套东西。技术好不代表适合做管理这个道理很多人都懂但很少有人真正从内心接受它。因为社会默认的路径就是做技术做到一定年限就该转管理不转就是没出路。这个默认路径该被重新审视了。行业需要给资深开发者提供足够的技术通道让他们可以在技术线上持续深耕而不是被年龄焦虑推着去做一个自己不想做也不适合的岗位。选择继续写代码是因为清楚自己更适合跟确定性打交道。