程序员是怎么晋升的?
共 5472字,需浏览 11分钟
·
2020-12-30 13:45
本文公众号来源:IT人的职场进阶
作者:骆俊武
本文已收录至我的GitHub
先申明一下,本文就不讲那些投机取巧的套路了,只关注:如何在一个公平竞争的环境中,提高晋升的成功率?
对于那些日常表现都称不上当前职级要求的同学(比如说绩效很差),晋升基本不太可能,因为评委的职级一般都比你高两个级别,就算你过了部门内的初筛,要水过大部分的评委概率还是很小的。
我讲的内容主要针对平时表现正常的人,给你们一个思路去提炼和准备,同时帮助你们踩准评委们的喜好。
01 重要的话说在前面
但我个人认为,如果你能吃透「晋升的标准」,再有针对性的去准备,其实难度没有想象中的那么大。
怎么理解「晋升的标准」呢?其实你只需要证明好这样一件事:通过讲述你做了什么?拿到了什么样的结果?来说明你的能力已经达到下个职级的要求了。具体怎么拆解,后文会详细展开。
从这一点来看,晋升其实就是一个命题作文,难度肯定比求职面试小一些,因为晋升 PPT 是你事先准备好的,评委的问题也基本都是围绕你的 PPT 展开,就算超纲也不会很离谱。
因此,如果你所有的准备工作都能围绕「晋升的标准」去反复推敲和优化,每一点都尽可能地做到最好,你就能比别人准备得更充分,胜算自然更大。
02 准备晋升材料的正确姿势
2.1 如何更通俗地理解职级要求
“深刻理解服务在实际运行过程中各个环节的相关原理,如硬件(CPU、内存、硬盘等)、内核(进程调度、内存管理等)、应用(设计模式、同步异步设计)、网络(协议栈等),清楚各个部分对实际服务的影响,并在实际系统开发中灵活应用。
”
以开发同学为例,从评委视角通常会这样来把控各个大级别的要求:
1、初级:能在他人的指导下完成工作;具备简单模块的开发能力,代码质量达标。
2、中级:能独立完成日常工作;具备子模块的设计能力,熟练掌握常用的技术栈。
3、高级:能指导他人完成工作;具备跨模块和子系统的设计能力,有一定的技术深度,对高可用、高并发、高扩展等问题有完整的思路。
4、专家:能对业务和技术进行整体规划;具备复杂业务场景的系统设计能力,能体系化的分析和解决问题,视野全面。
可以看到:职级越高,负责事情的复杂度越大,对技术能力的要求也越高。这还只是表象的理解,背后更深层次的解读其实是:从点、到线、再到面,系统性的思考力和把控能力,高度也要跟上。
这个标准基本适用于我们常见的互联网大厂,只是有些公司会将大级别进一步细分成多个子级别而已。大家务必先吃透这个晋升标准,再考虑下面的事情。
2.2 选择项目的正确思路
1、项目贡献:代表你做出的成绩,可以是业务价值,也可以是技术价值(比如研发效率的提升、研发成本的降低等等)。
2、专业能力:代表你做事过程中体现出来的实力。可以是技术能力、业务能力或者协调能力等等。
上个章节提到了:有些你以为「很厉害」的项目其实并不适合作为答辩的素材,一定是没法同时满足上面那两点要求。比如说有不错的技术亮点,但是没产生实际价值(或者项目的负面评价很多),在评委看来:要么是没想清楚为什么做?要么是没想清楚该怎么做?
上面说的两个因素,项目贡献往往比专业能力更重要一些,一定要有很具体的东西让评委们看到。如果只是能力够了,贡献还不够,这种情况要通过晋升也是很难的。
此外,不论是项目贡献还是专业能力,一定要和目标职级的要求相匹配。假如你的目标职级是技术专家(P7及以上),那所选的项目最好能对业务起到一定的助力作用、或者能横向复制影响到其他业务,技术上则建议从全链路、整体架构这个视角去梳理。
说这么多了,那到底该如何挖掘最合适的项目呢?建议按照下面的步骤去操作:
1、详细梳理:回顾晋升周期中你参与过的所有项目,将每个项目的技术亮点和成果整理一遍。有些项目可能闪光点不多,这种都不要放过,后续可以通过合并多个项目的方式串联进去。
2、初步筛选:根据第一遍的梳理结果,拉上你的直属 leader 以及团队中的高 P 做一次深入讨论,参考目标职级的要求做一次初筛,留下 4 个左右价值最高的项目(注意:有些亮点不多的小项目可以合并成一个大项目,只要你能找到一条主线将它们串联起来即可)。
3、深度挖掘:针对第 2 步筛选出来的项目,做更深入的亮点和成果挖掘,这个时候可以将业务视角带入进去,结合你对业务的理解对技术点做下升华。价值的体现最好落实到具体数据上(可以是业务指标、也可以是研发维度的 Bug 数量、研发工期等)。这一遍需要你将项目想呈现的亮点全部整理出来。
4、精细筛选:再对第三步的结果做一次精筛,考虑答辩时间只有 15 分钟,一般选出 2 个即可。标准是:成果要明显,技术亮点的密度合适(每个项目至少要有 2 个亮点)。
整体来看,项目选择是很核心的一环,项目没选好,后面做得再好可能都于事无补,因此一定要高度重视。
2.3 一份优质的 PPT 该如何写?
1、个人简介:重点说明你在当前公司的经历,比如什么时候加入的?在什么时间点参与了哪些业务?如果有比较出彩的学历或者工作背景也可以提一下,加深评委对你的印象。
2、工作回顾:将晋升周期中你参与过的项目做下罗列,重点突出有影响力的项目。
3、核心项目:这是 PPT 最重要的部分,需要展开陈述,会占到 80% 左右的篇幅,按照前面说的思路组织即可。
4、其他贡献:能进一步证明你价值的其他信息,比如公共组件的开发、性能优化、项目管理、或者团队管理工作等等,简单罗列出工作内容和成果即可,无需展开。
5、未来规划:可以是支撑业务长期发展的技术规划,可以是解决技术痛点的方案改进,确保有远见、有高度、可落地、不务虚。
当然,一个优质的答辩 PPT,还有非常多的细节需要打磨,下面几点建议是根据我当晋升评委时看到的一些 case 总结的:
1、材料的层次关系、论证结论的因果关系,一定要有非常清晰的顺序,不能逻辑混乱。
2、清楚每一页 PPT 你最想传递给评委的亮点是哪一个?充分利用标题、文字加粗等形式突出这个亮点,去掉不必要的废话。
3、非常不建议粘贴大段代码,这不是代码审查会,你可以用流程图、类图等方式呈现你的思路。
4、PPT 不需要很绚丽,但是标题、图片、文字等样式要做到统一,不要有错别字或者图片看不清楚的情况,技术同学该有的严谨性要体现出来。
03 现场述职的关键点
3.1 如何才能做好 PPT 演示?
3.2 问答环节该如何应对?
1、PPT 范畴内的问题:和 PPT 强相关,可能是评委没理解你的讲解逻辑提出来的;也有可能是评委想将问题进一步复杂化,考察你的应对能力。
2、PPT 范畴外的问题:针对你所用的技术或者所做的业务延展出的问题。评委想考察你的全局视角,目标职级越高,这类问题越重要。
下面我举一些具体的例子,以便大家有更好的思路去搜集问题:
1、你为什么用方案 A,而不是方案 B?你为什么要自研,而不是用开源方案或者中台的能力?(评委想判断你在做一件事情之前,是否做过深层次的调研)
2、如果业务再扩张几倍、或者并发再增大几倍,系统会遇到哪些技术挑战?你又会如何优化技术方案?(评委想将现实问题难度加大,来判断你的技术水平)
3、业务目前存在的问题有哪些?重心是什么?各种核心业务指标分别是多少?从技术维度你能做哪些事情更好地助力业务?(评委想考察你对业务的敏感度,以及从更高级别的视角来审视你的思考高度是否足够了)
4、过去一段时间你的成长是什么?有哪些需要突破的瓶颈?团队以及你个人接下来的规划是什么?(评委想考察你是不是一个善于复盘总结,同时抬头看路的人)
除此之外,两点最实用的建议:
1、PPT 中每一个信息点,都不要有技术盲区或者业务盲区,同时确保你的技术方案和业务数据是合理,同时经得起推敲的。
2、面对质疑性的问题时,不要有防卫心态,不要尝试将项目中考虑不足或者逻辑不严谨的地方合理化,而是虚心接受评委的意见就行。
04 写在最后
添加我的微信进一步交流和学习
如果显示频繁,微信手动搜索【sanwaiyihao】添加即可
点亮在看和转发是我持续更新的动力,对我真的很重要!