怎么给程序员做职业规划?

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"程序员的中年危机","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"程序员岗位是吃青春饭的吗?如果不是,为什么行业里一直在说35岁之后不好找工作?如果这个现象确实存在,管理者又能做点什么呢?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"工作上,我们很少看到有35岁以上的普通开发人员。看到的也都属于技术+管理岗。我去网上查了下数据。猎聘的《2020程序员人才大数据洞察报告》显示,48.84%的程序员年龄在25~30岁之间,16.83%的成员年龄在20~25岁之间,也就是说绝大多数程序皆是90后。35岁以上的程序员数量只占程序员总数的不到10%。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"从数据上看,程序员们的“中年危机”绝对真实存在。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"为什么有这种现象?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果要我回答,我认为原因有两个","attrs":{}}]},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"很多程序员基础底子并不好,在技术这条路上晋升的话,很容易到其天花板。工资涨到一定程度也上不去了,出去也找不到更高的薪资。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"另一个原因是,技术有生命周期,有些可能几年,十几年。导致程序员需要持续去学习新技术,如果技术上无法保持更新,公司出现不稳定,就容易成为公司的优化对象。","attrs":{}}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"归根到底,是个人的性价比变低了。猎聘网的数据显示,工作时长为3~5年的程序员平均年薪为17.89万元,3年后,他们的薪水会增长至21.89万元,5年后,他们的薪水会涨至24.21万元,10年后,35岁左右的他们平均年薪涨至26.92万元。","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"新人与35岁程序员的年薪相差了9万元,公司付出的成本绝对不少于10万。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"27万的平均年薪不算低了,你拿这么多工资,就得创造比这更大的价值。创造不了,只能“降价”。所以圈子里才会有”程序员35岁之后,越老越不值钱“一说。而与之相对的,35岁这个年龄,正直上有老要养,下有小要养。需要用钱的时候。所以这是我们迟早要面临的一个困境。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"帮助员工成长,做好职业规划","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我们经常说要帮助员工成长,怎么帮助?我觉得帮助其把职业规划好,就是一个非常好的抓手。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我跟一些同事讨论过未来规划,这个事大家基本都想过,但都没有想清楚。基本上都是走一步算一步。这不怪你,人的大脑就是这样工作的。因为未来还太远,所以总是不着急。但我的经验告诉我,越是重要的事情,越应该早做准备。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"程序员的职业规划大概有这么几条路","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"1. 专注做技术,磨练自己的业务和技术。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"2. 转型做管理。一种是重技术+ 轻管理。一种是重管理,轻技术。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"3. 转型产品、运营、项目经理、销售、讲师等其他岗位。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不管选择哪一条,核心都是一条。你有什么地方是优于其他人的?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"专注做技术","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果选择你第一条,那你需要问自己,你在技术哪一方面优于其他人?对于走技术路线的,我建议在以下某一个方面先做到行业里前2%","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"基本功过硬。如果你能写出的代码比别人更好(无bug、易懂、易维护、可扩展等等)。我没见过有人敢说完全没bug。全世界bug最少的软件:Tex。其创造者高德纳出资悬赏找到bug的人,悬赏金额呈指数增加(2.56、5.12、10.24、20.48、40.96……)。最后只找出3个bug。不得不说,这世界确实存在天才。也因此,普通人要更加努力。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"经验丰富,编码效率高。我见过有着丰富工作经验的人,有自己的代码库。别人写一个功能模块需要一天,他半小时就搞定了。有经验不仅仅体现在业务上,也体现在解决问题的积累,编码的积累等。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"懂业务。懂业务意味着你写的代码扩展性会更好。在于产品经理沟通时也会更通畅,甚至给产品经理提供更好的实现思路。另外要转型其他岗位的话,懂业务是必须的。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"专注一门难度极高的领域。比如专注算法,做一个算法工程师。或者做架构,做一个架构师。这类岗位目前对公司非常重要,招错了成本大,市场溢价会高,生命周期也会更长。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"通用底层能力:沟通能力、解决问题能力、执行力、工作态度等通用能力。很多人都小看了工作态度这项能力,一线管理者的工作状态基本就是团队工作状态的缩影。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"如果你没办法在某一个领域里做到前2%,那么在多个领域里做到前20%也非常不错了。比如,你技术能力做到前20%,沟通能力也能做到前20%。那你就是前4%最会沟通的程序员。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你要是觉得前2%很难,改成5%也行。问题在于我们没办法去考核这些量化指标。其实我想表达意思是,专注技术必须要有明显的竞争优势,也就是你的长板。在团队里,能力太平均了很容易被优化掉。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"转型管理","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你选择第二条做管理。那要提前做好准备。正常情况下,管理岗位是稀缺的,你需要付出很大的努力才能获得。至少要先证明自己能够胜任管理岗。一般早期加入创业公司,随着公司发展起来的,更容易获得管理岗位。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小公司的技术能晋升的岗位并不多,常见的也就三级:小组长/研发Leader—— 技术总监—— CTO。有些公司技术总监就是CTO。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小组长/研发Leader:一般管理3-5个人。主要工作:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"任务管理:评估工作量、定位开发流程、跟踪项目进度。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"质量管理:代码重构计划、代码复查、技术难点调研、制定研发方案。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"团队技术能力提升:招聘面试、新人指导、技术分享、项目覆盘等。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"小组长的大部分时间其实还是在具体实现上,小部分时间会放在管理上。而且这些管理工作大部分也是和实际的工作有关。原来自己给自己拆解任务定工作量,现在要帮助组员拆解,原来自己做实现,现在需要学会分配一部分任务交给组员做。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"技术总监:一般管理人数在20+。主要工作:","attrs":{}}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"组建团队:招聘面试,培养团队小组长。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"设计组织架构:根据产品规划岗位需求。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"设计平台架构:根据产品选择技术栈,解决软件系统复杂度带来的问题。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"项目管理:协调项目资源,提高项目效率,保证项目按时上线。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"组织文化:塑造企业文化、激活团队活力、打造学习型组织氛围。","attrs":{}}]}]}],"attrs":{}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"从中可以看出,技术总监具体的编码实现功能相对会少一些。与人和项目打交道的时间会更多。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"CTO:主要工作是用通过技术手段实现公司目标。具体工作偏向于管理,本身可能已经不写代码了。当然这也看公司大小,小公司CTO还要做技术总监的活。除了技术方面的一些前瞻性把控,CTO还需要参与商业决策,制定公司战略,做好资源分配和绩效考核。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另外,创业公司的CTO拿的薪资可能比技术总监低,但如果公司做成功,可以获得不菲的未来收益。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"从岗位职责上可以看出,小组长的管理难度并不算大,对大部分人来说,如果有晋升机会一定要去尝试。对于大多数员工,能做到哪一步要靠自己。","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"管理者要做的就是让员工看清楚前面有哪些路。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"当然,也有些人是不适合转管理的。这个管理者自己一眼就能看出来。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"不适合转管理岗的特征","attrs":{}}]},{"type":"numberedlist","attrs":{"start":1,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"喜欢和机器打交道,不喜欢和人打交道。","attrs":{}}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"更喜欢自己去实现功能业务,享受实现过程。","attrs":{}}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"世界上有没有那种被管理工作耽误的技术大牛?有,但很少很少。毕竟,个人能力有限,想做成大事就得与人沟通合作。懂点管理是不是更容易做成事?而且相比于专研技术,转管理更容易。我建议每个程序员都应该到小组长的位置上先尝试一下。如果你确实发现自己不适合,可以重新去钻研技术,做一个某领域里的技术大牛也可。只要你具备别人创造不了的价值,薪资是绝不会低的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"初入管理者很容易犯一些错误,如果公司有条件,可以安排一些管理方面的工作给员工适应。比如做会议的主持人。下面是我总结的常见错误,可以给初入管理者做参考。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"初当管理者常犯的错误","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"一、难的事情都自己干","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一般团队里组长在技术上是最厉害的,组长攻克技术难点,逻辑上是很合理的。但深思一下,如果每次都是组长做最难的任务,那组员还能得到成长吗?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"二、对组员要求很高","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我一直觉得对组员要求高是没有错的,有要求才有成长。但每个人的能力大小不同,做出的效果也必然不同。用自己的能力去要求所有人,这样合理吗?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"三、组员遇到问题,自己动手给解决了","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由于工作经验浅,会遇到很多莫名其妙的问题。而这些问题在你看来可能很简单,相比于教他原理,让他解决,还不如自己动手,可能几分钟就搞定了。尤其是项目时间比较紧的时候,你自己任务还很多,哪里有空教?好吧,仔细想想,这是组员请教的目的吗?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"四、不懂项目管理","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"虽然每个人都应该对自己的任务负责,你完全可以分配任务后就完全不管,等到验收的时候在发现问题。延期了,你可以扣他们绩效,但这是你想要的吗?","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人是有惰性的,如何发挥组员的主观能动性,如何通过流程助推项目,这点也是组长需要思考的。","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":5},"content":[{"type":"text","text":"五、不会开除人","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"组长一般面试第一轮,就算面的不好,还有总监把关。但人招进来后,做得好不好,组长是感受最深的。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"要问自己,这个人做的好不好?能否培养?试用期表现如何?如果他没能达到你的预期,你为什么不开除他呢?","attrs":{}}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"转型其他岗位","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你选择第三条路,想转到其他岗位,那么应该提前轮岗,去感受一下该岗位的核心能力是什么?思维方式是怎样?是否合适要试过才知道。在这一块,管理者能够的就是给予员工换岗的机会。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"总结,管理者需要帮助员工做规划,帮助员工认识到前面有哪些路,需要哪些技能。还是那句话,","attrs":{}},{"type":"text","marks":[{"type":"color","attrs":{"color":"#FF7021","name":"orange"}}],"text":"越是重要的事情,越应该早做准备。","attrs":{}}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/ad/ad69aeb0b7dfe7db14d1ea0007bbff49.webp","alt":null,"title":"","style":[{"key":"width","value":"100%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章