软件开发人员怎么升职加薪?技术高管建议你这么做(上)

神译局2021-09-26

业绩好但晋升不了,正常吗?

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:来想象两个场景。第一种场景,你走进领导的办公室说:“我要加薪,因为我参加了两个培训,看了三本书。” 再考虑第二种场景,你走进领导的办公室说:“我要加薪,因为我搞定了两个项目,解决了三个问题。”哪种场景能够成功显而易见。有些程序员对于晋升的理解过于简单,认为“做到份了就该升”,就好像代码的运行逻辑一样。如果通不过,就是领导为难,公司作怪。 但是,事情明显比这个要复杂。原文标题Software Developer Promotions: Advice to Get to That Next Level,作者Gergely Orosz。

我最近在晋升方面的表现的相当不错。从工程师过渡到管理层之后,有八个人向我报告。两年后,这八个人都被提升到了更高的级别,还有一些其他的开发人员,也加入了我的团队。此后,我帮助我团队以外的人成功地提出了晋升案例,我还成为一些工程师晋升委员会的成员。最近,我也被提升到了工程管理岗之上的一个级别。

对于工程师来说,晋升迟早会成为一个敏感话题。加入一个公司时,很少有开发者会思考这个问题,这很正常,因为人们都在关注如何尽快进入状态,融入公司。但随着时间的推移,身边越来越多的人得到晋升,升职成为许多人的头等大事。作为一名管理者,这自然成为我经常思考的一个话题。

这篇文章收集了我一直以来给团队中工程师的晋升建议,其中许多人都得到了升职。

做好准备工作

一旦对晋升有兴趣,就从收集基本信息开始,并评估晋升对你来说是否现实。

了解公司的晋升程序

每个公司都有不同的晋升流程。虽然一些公司可能有类似的流程,但不要想当然。如果有关于流程的资料,这就是一个很好的开始。最好还是询问领导。随着公司的成长和成熟,晋升过程也会发生变化。我观察到的最常见的晋升程序类型是这三种:

非正式晋升:经理们决定谁得到晋升。几个经理在一个房间里,然后拿出一份晋升人员的名单,这是小型初创企业和公司的典型过程。在会议上,经理们介绍团队中的人,由小组成员决定是否有资格晋升。

半正式的晋升过程,有一个经理人为主的晋升委员会。随着公司的发展,把所有经理召集到一起变得很困难,而且过于耗时。另外,以前的程序偏见开始变得更加明显。领导层的目标是建立一个更具可扩展性和更公平的程序。这通常从写下每个工程级别的基本期望开始,并要求经理们提交简短的文件,说明为什么他们团队中的工程师可以晋升。

正式的晋升程序:晋升包和委员会。这是像谷歌、Uber这类大型科技公司所遵循的程序类型。它要求有明确和广泛定义的工作阶梯,每个级别都有明确的期望。这样做的目的是使晋升尽可能地不偏不倚。更公平和透明的过程,需要制作更多的文件。需要自我审查、同行审查和经理审查。一个由高级工程师和经理组成的晋升委员会决定是否可以通过晋升。

所有的方法都有其好处和缺点。了解你的公司属于哪一种,这样你就能更好地了解你和经理要如何准备。

评估自己

大多数科技公司都遵循一种方法,即把已经表现很好的人提升到下一个级别。晋升通常是对你的影响力和技能持续超出预期的认可,而且符合下一级别的标准。

那么,与下一级别相比,你目前做得怎么样?你在一家公司工作时,回答这个问题要容易得多,因为那里的能力和水平都在文件中明确定义,可以参考。一些定义明确的能力的好例子包括Monzo、Square或Rent The Runway等公司。如果你的公司有明确定义能力的文件,请阅读你所在级别和下一级别的期望。列出你所展示的技能和你所产生的影响,以及如何与这些期望相匹配。

如果你的公司没有明确的能力和期望值,你仍然需要弄清楚你在当前期望值方面的表现,要达到下一个级别的期望值是什么。根据经验,要晋升,你要在目前的水平上做得非常好。因此,你可以从获得关于目前表现的反馈开始,与最有资格向你提供这种反馈的人交谈:你的经理。

让你的经理站在你这边

无论你的公司遵循什么程序,如果你的经理不支持晋升,得到晋升的机会就非常小。所以一定要让你的经理站在你这边。如何做到这一点?问问他们晋升是如何进行的,他们对晋升的理念是什么。问他们如何评价你目前的表现。根据经理的反馈,你可能会决定一步一步地推进,但你需要对此进行诚实的对话。

作为一名工程师,这种谈话对我来说总是感觉很尴尬,在我的职业生涯中,我回避了很长一段时间。现在回想起来,我希望没有回避,原因很简单。

在你准备好的时候得到晋升,这对你的经理也是最有利的。判断管理者的标准是他们是否有能力让团队提供更好的产出。他们通过让团队的工程师更有效率来做到这一点。为了使团队有更高的产出,团队中的工程师需要成长为更高效、更可靠、更资深的人。增长的外部可见指标之一是晋升。晋升意味着经理帮助这个人成长,或者通过指导、辅导,或者只是摆脱他们的方式。一个经理,他的团队变得更加资深,表明他们在培养人才方面做得很好。

所以我们知道,你的晋升对经理是有利的。但是,还是有很多开发人员认为 “我的经理不会提拔我”。问问自己:这是为什么?一个经理,如果他的下属工作停滞不前,就会开始吸引不必要的关注,无论是来自上面还是来自他们的团队内部。如果人们一直得到平均或较差的绩效评估,从来没有晋升的机会,这对经理来说也不是好事。因此,在你问过自己为什么经理似乎不想提拔你之后,也问问经理,什么是你可以和应该发展的领域,这对他们是最有利的。

在晋升到高级职位以上时要现实一点

通常情况下,晋升到高级别的主要依据是技能,展示技能,并产生影响。然而,在高级工程师级别以上,其他因素也会起作用。

首先,对于有多少人可以晋升到更高的级别,可能受到预算的限制。有些地方要求提供商业案例,说明为什么一个特定的团队或地区需要一名管理者、高级别职员或首席工程师。如果没有商业案例,即使你在其他方面有晋升机会,你可能也无法被提拔,这是事实。

其次,在高级工程师级别以上,你可能会发现要找到足够大和有影响的项目来保证晋升是很困难的。例如,你的团队可能正忙于交付小的、增量的功能,这些功能的复杂性不高,但商业价值还不错。几乎可以肯定的是,你不会因为在这里做了出色的工作,而被提升到高级别的职位。在这种情况下,你需要对职业有一个权衡,并决定如何前进。你要等待新的机会到来吗?你会调动团队,领导一个复杂而有影响的新项目的工作吗?你是否会提出一个具有巨大商业影响的新倡议,说服利益相关者启动它,并最终领导这个项目?没有简单的答案:你必须采取主动,收集信息,获得支持,并最终在你的职业生涯中明智地承担风险。

随着你在职业阶梯上的发展,要想进入下一个层次就越来越难了。在开发者的阶梯上,这是一个类似的挑战,从经理(manager)到总监(director)通常是类似的困难,就像从高级工程师到主管工程师一样。

把视线放在晋升上

一旦你知道晋升过程是如何进行的,对自己进行了评估,并且你的经理也站在你这边,那么就该集中精力了着手了。

设定目标,缩小你所欠缺的方面,以达到更高的水平

毫无疑问,你需要在几个方面做得更好,或者展示你的影响力。这可能包括像软件工程、有影响力的执行、设计复杂问题的解决方案、更好地与他人合作等方面。

设定S.M.A.R.T.目标,这将帮助你达到目标:具体、可衡量、可实现、现实、及时。设定的目标只取决于你自己,而不取决于外部因素。例如,如果你已经确定要改进的领域是在构造方面做得更好,就不要设定一个做复杂项目的一般目标。但你可以设定一个目标,每月至少彻底审查一份提案,在这个领域至少指导一名初级工程师3个月,或阅读一本相关书籍,并在未来2个月向你的团队和组织介绍学习成果。如果你被确认领导一个项目,你可以设定的目标是让你的提案得到两个团队以外的资深人士审查。

像你已经到了下一个级别一样行动和承担责任

有两种晋升的情况。一种是非常简单的:该工程师已经承担更高级别的职责,执行了很长时间。另一种是更有挑战性的:这个人表现出了很大的潜力,但有几个方面与下一水平有差距。这第二种类型的晋升案例是掷硬币式的,结果可能成功也可能失败。

当你在为晋升而努力时,要以持续表现出下一个阶段的水平为目标:不要只局限于你的重点领域。如果你的目标是高级别的,而你团队的项目有风险,那就设立并帮助整个项目成功。如果你的经理要求志愿者做一项无聊但重要的杂事,而没有人站出来,可以考虑举起你的手。在处理这项工作的基础上,将部分工作自动化,让团队中的下一个人更容易做。

记录下你的成就和影响

当你的经理或你要把晋升案放在一起的时候,第一个问题是你取得了什么成就,值得晋升。到那时,你会忘记你所做的许多重要工作。因此,要抢先一步,记录你所做的所有工作。

启动一个工作日志文件或类似的东西,你要持续保持更新。我创建的是一个谷歌文档。与你的经理分享,这样他们也知道你正在做的所有工作。没有人比你更了解你所做的工作。你的经理可能会对你所做的许多额外工作感到惊讶。当你被提拔的时候,这会让你们两个人都更轻松。

考虑对照下一个职业阶梯级别进行自我评估,列出你认为能证明你已在下一个级别工作的例子。向经理征求反馈意见,并利用这次审查来确定你可以努力弥补的与下一级别的差距。

译者:蒂克伟

(0)

相关推荐