IT技术博客大学习 共学习 共进步

程序员技术晋升非正式攻略

后端技术 by Tim Yang 2015-10-26 22:16:19 累计浏览 5,783 次
本机暂存

   一个成熟的中大型组织中,专业人员会有不同序列技术级别上升通道,比如腾讯及百度的T系列,阿里的P系列等。一些公开介绍的腾讯职级情况如下。

   腾讯的职级系统有26个职业通道,如果你是一个一张白纸,没有任何职业能力的毕业生,可以从这个26个通道,比如行政、财务、设计、运维、开发、运营、产品…….的任何一个1-1级开始,修炼,打怪升级,直到千万年薪。如同一个完整的人生指引。横轴是26个职业通道,专业技能各不相同,纵轴是4个大层级。

   通过职级的设定,大部分员工不需要更换工作,就可以通过自己的技术提升及项目贡献获得更高的级别,获得薪资的提高、专业能力的肯定及个人在公司声望。大公司的职级通常也得到业界大范围的认可。因此程序员可以在公司获得一个长期成长的通道。这通常是大量小公司留不住人的一个困境,在小公司中,有大量流失是员工没有看得见的上升通道造成。

   在公司有合适上升通道的情况下,工程师每年都有机会从当前职级晋升倒更高的职级。在大部分公司里,对于高阶的晋升,会由公司相关权威专家组成的评审小组(通常是公司的技术委员会)来进行;低阶的晋升大多是由员工的直接或者跨级上级决定。下面讨论场景主要关注需要评审小组审批、候选人需要答辩的晋升,它要求候选人有更高的综合能力、专业影响力、展示能力及逻辑表达能力等。每年的年底也是大部分公司晋升评定的时间,因此本文谈谈对于晋升各种问题的看法。

   本文主要是针对程序员的情况进行探讨,但所有技术工种如测试、运维以及其他专业工作岗位的人员如产品经理也大多同理。

   Q: 晋升的申请材料怎么写?

   当你思考晋升材料怎么写的时候,说明你已经获得了晋升的机会,这在很多公司里不是一个容易的机会。管理层通常只从符合条件的人员列表中挑选部分优秀的人员进行晋升提名,因此当上级跟你沟通这次机会的时候,说明你半只脚已经踏入了新的一个职级。

   晋升无非是评估候选人的专业能力是否满足高一个等级的技术要求,候选人需要通过自己的参与项目的业务贡献、技术成就、技术影响力等实践经历,来证明自己的技术能力达到新的一个级别的要求。中级的晋升主要看岗位的成绩及贡献。高端的岗位可以归纳成公司级专家及行业专家。公司级专家指精通公司业务相关核心技术,在相关领域有较好积累,并且做出独到的贡献。行业专家则需要相关专业能力具有行业的领先能力,并且专业能力最好属于公司的核心技术。

   Q: 每一级别的评审标准是什么?

   在大部分公司一样中,每个技术等级会有相关的要求,比如技术能力、影响能力、协作能力等。在评审阶段,评委会根据要求进行候选人评估。在实践上,也有很多采用标杆人物对比的方法。评委集体选择几名处于相应级别最低能力、中等能力、和较高能力的在职员工,与申请人相对比,如果申请人处于这些标杆之中,正常应该处于中间能力人左右,则认为候选人符合条件,如果候选人处于最低能力以下,则认为候选人不符合申请相应的职级。

   Q: 技术晋升中技术能力与非技术业务能力的比重?

   A: 技术能力还是非技术的业务能力是一个纠结的问题,但背景毕竟是技术晋升而非项目奖金或者贡献排行,因此原则上技术能力的权重更大一些。而且放到业界,技术人员(非管理岗)也是按技术能力强弱来决定薪资及等级的,所以让技术能力强的人原则上技术等级需要更高。

   Q: 怎么看待业务能力与技术能力脱节的矛盾?

   脱离业务研究技术的人?纯粹脱离公司环境的业务去研究技术在大部分组织里面是比较有争议的,如果给这种人晋升会不会带来一些负面的问题,比如鼓励工程师脱离业务去研究技术?

   A: 首先在评判一个人是否适合技术等级晋升,最主要的还是看其技术能力是否符合高一等级的要求,高一等级也是按技术能力来评判的。

   从公司角度为了保证公平性,公司管理层可以设置晋升准入条件,比如绩效需要达到某个分以上。但技术评审小组在评判维度上,还是应该以技术因素为主。

   Q:直接上级是否可以控制下属是否晋升?

   这个取决于公司,在大部分公司中,对于低阶职级的候选人,直接上级及跨级上级能发挥较大影响力,大多可以由直接或者跨级上级来决定。而越高阶的申请,直接上级发挥的作用越小,通常由公司级别的专家小组来进行评审。

   Q: 评审时时候评委喜欢提的问题?

   项目的难点

   技术的成长及贡献

   项目中的个人贡献

   Q:怎样看待评委的刁难问题?

   候选人用朴素的方法来介绍自己的项目,尽量客观的方法来描述自己的成绩。当被问及刁难及质疑性问题时候,尽量不要有防卫心态,不要将自己的项目中的不足设法合理化,心平气和的接受评委看到的不足。

   Q: 评审时候选人容易忽略的问题

   指导及影响他人的能力。在一个组织里面,独行侠未必能得到好评,帮助及带领周围技术人员一起成长会更容易得到认可及欢迎。

   非岗位要求的贡献。能够按照岗位的要求完成工作只能满足合格的水平,主动思考及完成超出岗位要求的工作更容易得到高分。

   Q: 我工作很努力,经常加班,是否必定会晋升?

   简单的回答是没有直接关系。评审主要看技术能力提升、技术贡献及通过技术获得的成就。与是否努力是否加班没有必然关系。当然,工作努力的人员通常也通过更多时间投入在技术领域获得了比较好的成长,因此有更大的晋升可能。

   Q: 我在我的team里面公认是技术能力最强的,甚至别的部门一些职级能力高的能力不如我,是否必定会得到晋升?

   取决于你近期所做的工作是否能体现出高级别所具备的能力,

   Q: 我刚毕业,怎么才能获得快速的职级晋升?

   刚毕业的同学还是更多的学好基础的知识,乐于学习,更多的参与实践,在工作中发挥更大的价值,不要刻意追求晋升与否。晋升更多的是一个能力到达的伴随物而不是追求的目标。如果你具备以上素质及习惯,即使在当前企业未得到认可,可以在一另外一个的环境得到实现,只是一个短暂的时间差问题。

   Q:我公众场合的展示及表达能力不强怎么办?

   大多评委也是技术背景出身,因此对展示表达能力并不是特别在意,反而过于华丽的展示材料会引起评委反感。但在另外一个方面,展示材料的层次关系、论证问题的因果关系需要得到清晰的表达。评委不会特别介意候选人念稿,但是会介意材料结构及逻辑混乱。

   Q: 应该以什么样的心态去看晋升?

   晋升大多时候是个僧多粥少的游戏,而且评审的价值观也趋向单一,在有限的评审时间,考虑到准备的充分与否,候选人对于评审重点的理解等,未必每一个候选人都能得到合适的展示。评委也很难在短时间对候选人进行充分了解,因此评审通过与否未必能合理体现候选人的能力。

   因此晋升通过与否仅是晋升薪资的一个损失,其他包括个人能力,职业生涯、个人影响力基本没有实质性的影响。

   候选人最重要的是调整好自己心态,不以物喜,不以己悲,将更多的精力投入到自己关注的事情上去,并产生相应的成果及影响,这个比一个晋升意义要大得多。晋升评审可以视为是一个职场游戏,不少得到晋升的人员后面无所成就的案例也是层出不穷。

建议继续学习

  1. 我是如何学习计算机编程的 (累计阅读 181,082)
  2. 每个程序员都应该学习使用Python或Ruby (累计阅读 17,820)
  3. 再次写给我们这些浮躁的程序员 (累计阅读 17,082)
  4. 给年轻程序员的建议 (累计阅读 10,981)
  5. 编程能力与编程年龄 (累计阅读 9,362)
  6. 一个大二学生有关如何成为一名软件工程师的疑问及答复 (累计阅读 9,103)
  7. 你做过的最有效的提高你的编程水平的一件事情是什么 (累计阅读 8,980)
  8. 给想当程序员的大二学生的建议 (累计阅读 8,880)
  9. 技术人员的未来:做技术还是做管理? (累计阅读 8,782)
  10. 我学编程时犯的最大两个错误 (累计阅读 7,901)