小马的世界

读书笔记-软件工程师指南【1-4】晋升

下面的内容是我在作为一名程序员入职之前阅读的由Gergely Orosz写的The Software Engineer’s Guidebook。我将将阅读时得到的重要的信息总结成中文以供大家分享。

关于晋升

  • 晋升是如何决定的。
  1. 当你表现出色时,这代表公司认为你的工作已经超出了目前的水平,符合晋升的标准。
  2. 公司有晋升的预算。有些公司只有在有足够的晋升预算时才会考虑员工的晋升,有时即使您表现优秀,如果预算不足或者暂时没有业务需求,升职也可能会受到限制。
  3. 存在晋升机会和空缺岗位。公司在下一级职位有预算,同时下一级职位正好出现空缺。

在实际操作中,有一些关键点需要注意。首先是影响力的感知。其他人如何看待你的影响力可能比你真正产生的影响力更重要。尤其在公司规模逐渐扩大的情况下,要准确衡量某个人对业务的实际影响变得更加困难。

其次是支持他人,因为晋升通常需要得到决策者的支持。内部政策也是一个重要考量因素,指的是候选人在组织中的地位和影响力。晋升的决策者越多,组织结构就越复杂。而且,职位越高级,晋升政策就会变得更加复杂。

最后是晋升流程机制。不同的晋升流程会给予不同程度的认可和知名度。因此,要注意不同晋升流程在晋升过程中对个人的影响。

不同的公司有不同的晋升流程,下面列举了三种最常见的晋升流程和每种流程侧重的奖励:

  1. 非正式的晋升流程:这种情况在初创企业和小公司比较常见。晋升通常是即时决定,并没有正式的程序。在这种情况下,与高管层保持良好沟通是关键。与公司的CTO保持频繁交流可能会让你比那些不和管理层互动的同事更容易获得晋升。
  2. 轻量级的晋升流程:随着公司规模的扩大,让所有主管聚在一起进行晋升决策变得困难。因此,通常会有一个由主管组成的小组来决定晋升。
  3. 重量级的晋升流程:这种流程旨在标准化晋升流程,消除晋升中的偏见。候选人通常需要经历自我评估和同事评审,包括工程师、其他主管、产品人员和技术人员。同事的评价对于那些参与影响力大项目的专业人士非常重要。准备材料充分、能够书面表达个人贡献的专业人士在这个流程中会更有优势。最终的晋升结果不仅仅取决于直接主管,但这个过程可能会很漫长,需要充分的准备。
  4. 混合模式:在一些大型科技公司,如亚马逊和优步,采用混合晋升方式越来越普遍。例如,晋升到高级工程师级别通常由组织内部的经理专门委员会决定。而员工晋升到更高级别通常由组织或全公司委员会评审。

在职业生涯中,有一种称为“终极级别”的概念,有时也被称为“生涯级别”。这代表了程序员可能在职业发展中达到的顶尖水平,随着时间的推移,最终获得该级别的晋升。然而,即使达到了终极级别,他们也不会再往上晋升。比如在2015年,谷歌的终极级别是L5,Meta是E5,Uber是L5A。对于那些进步缓慢的工程师来说,他们有时会被解雇,或者被纳入执行绩效改进系统。这种制度要求要么晋升,要么离开。近来,这三家公司都对这种制度进行了调整。谷歌将终极级别降为L4,低于高级工程师级别。Meta和Uber也宽松了要求,不再要求员工必须超越E4或L4。确定终极水平和生涯水平有两个关键点,首先是要求工程师必须达到这个水平,通常需要工程师具备完全自主的能力。其次,并不保证工程师一定能够晋升到更高的水平,因为更高级别的晋升更加困难。通常来说,终极级别以上的职位需要有专门的预算支持,而并非所有团队都有这样的预算来雇佣高于终极级别的员工。终极级别的企业通常倡导“非升即走”的文化,这鼓励工程师不断改进自身,直至达到终极级别。虽然这种文化会带来压力,但通常结合了公开透明的晋升系统,员工可以依靠主管和经验丰富的工程师来帮助他们提升水平。即使企业没有明确的终极级别,他们也希望员工能够达到一定的职业水平。终极级别几乎总是高级工程师级别。终极级别的预期包括:具备完全自主能力,解锁自身潜力,助力团队成功,指导和支持初级团队成员。

  • 在大型科技公司的晋升

在大型科技公司和其他公司,薪资、晋升、绩效表现之间的关系有一些区别。在传统公司中,晋升通常意味着薪资增加,而年终奖金则与公司整体业绩挂钩,或仅基于个人绩效。但在大型科技公司,情况略有不同。首先,薪酬直接与绩效挂钩,这意味着您的现金奖金和股权激励与您的绩效成绩直接相关。其次,这些公司提供晋升机会。同时,表现优秀的员工可能会比同级别员工获得更高的薪酬和股权激励。除了晋升之外,有些员工更看重薪酬的增加,而不是职位晋升。

对影响力和能力的期望是大型科技公司构建绩效和晋升对话的常见方式。

  • 对于获得晋升的建议。

如果你想在下一个评估周期获得晋升,那你可以提前做些什么来增加获得晋升的机会。首先,要实事求是:上次的绩效评估如何?是否达到甚至超出了预期?如果没有,那获得晋升的机会会很小。努力在下一个周期中超越预期表现。其次,要了解晋升的运作机制,包括由谁提名、由谁最终确定,以及晋升的标准和流程。有时,晋升并不完全遵循官方规定流程,通过与经历过晋升的人交流,包括可能的导师,了解未被记录的常见差异。同行评审虽然重要,但直属主管和同事的反馈更为关键。另外,进行自我评估,评估自己当前的水平和下一个职级的要求。使用自我评估模板可能会有所帮助。向同事征求反馈和建议也很重要,尤其是向资深同事请教。可以问问他们:你认为我哪些方面需要改进?我是否有能力胜任下一个职级?你觉得我与目标还有哪些差距?你对我未来成长有什么建议?

  • 组织您的工作

生产、组织和发布是一个非常有用的框架。可以用来思考自己的工作。正如产品经理Shreyas Doshi所说,仅仅做好自己的本职工作是不够的,你需要与他人合作并将你的作品推广出去。在日常工作中,除了每天完成任务、编写代码、撰写文档和进行事后分析、进行代码审查等工作以外,组织也非常重要,比如组织会议、制定计划以及为团队引入更好的工作方式,例如改善工作流程。在公司内部或者整个公司范围内的会议上,分享知识、参加活动并发表演讲都是很重要的。在大多数公司里,随着你的职级提升,你会更多地投入到组织发展方面,而不是个人的生产活动。

  • 与你的主管交流。

对于工程师等级的晋升,你的主管的支持至关重要。主管需要为你背书,并支持你的晋升。建议每隔几个月与主管进行一对一的交流,以便制定切实可行的晋升计划。与主管一起设定下一个级别的目标,并以书面形式提交计划。及时向主管汇报进展并接受反馈。考虑到主管可能会变动,除了向现任主管宣传个人能力外,也可利用内部网络向其他相关人员展示自己的价值。

避免只被视为追求晋升的人,这可能会让上司和同事疏远。制定计划并努力实施是关键。要有心理准备即使没有晋升,通过组织和分享经验,也能让自己得到提升。这种态度不仅让你在公司内外备受瞩目,还可以分享晋升的计划,得到同事们更多有益信息的支持。

  • 长远的职业观

职业生涯并非一帆风顺,很多成功人士在事业道路上都经历了挫折。把视野放远,注重长期职业规划比短期目标更有意义。以下是一些建议:1. 别让晋升和头衔来定义你的自我价值。头衔通常难以比较,重要的是不断提升自己,扩大影响力。这既有益于现在,也有利于未来。2. 不要以肘击方式获取成功。在为职业目标努力和破坏人际关系之间做抉择时,要反复思考是否值得。也许有其他更好的方式?人们会牢记那些曾被推开一边的人,科技行业也比你想象的更小。因此,伤害别人会带来长远的负面影响。