编者按:来想象两个场景。第一种场景,你走进领导的办公室说:“我要加薪,因为我参加了两个培训,看了三本书。” 再考虑第二种场景,你走进领导的办公室说:“我要加薪,因为我搞定了两个项目,解决了三个问题。”哪种场景能够成功显而易见。有些程序员对于晋升的理解过于简单,认为“做到份了就该升”,就好像代码的运行逻辑一样。如果通不过,就是领导为难,公司作怪。 但是,事情明显比这个要复杂。原文标题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个月向你的团队和组织介绍学习成果。如果你被确认领导一个项目,你可以设定的目标是让你的提案得到两个团队以外的资深人士审查。

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

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

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

记录下你的成就和影响

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

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

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

经常征求帮助和反馈

晋升的工作不是一个短暂的过程:它可能需要几个月的时间。你很容易失去方向。

在公司里找一个导师来帮助你

虽然经理可能是站在你这边,为你的晋升而努力,但他们能给你的反馈也是有限的。你可以通过找一个导师,也就是另一个工程师,来加快职业成长。

尽量找一个已经在下一个级别的开发人员。如果他们已经在公司内部经历了晋升过程,那就更好了。向他们寻求指导,特别是关于成长到下一个水平的指导。与他们分享你的评估和目标,并请他们提供反馈和帮助,帮助你成长到下一个水平。

在我的公司里,我注意到那些主动建立这类指导关系的开发人员得到了多种好处。首先,根据导师的反馈,他们对自己想要的成长方式变得更有战略性。这些导师通常在公司工作的时间较长,并帮助工程师们处理一些不那么好的晋升问题。第二,即使他们这次没有得到晋升,有导师的开发人员也更容易保持心态平稳。导师站在他们一边,为他们达到下一个水平而投资。这使得这些开发人员更容易振作起来,继续出色表现,并在下一个周期获得晋升。

要求定期、明确的反馈

设定目标并为之努力是一件事。然而,特别是当你正在努力实现晋升这类重要的里程碑,定期获得关于如何做的反馈是同样重要的。

要定期向你的经理介绍你认为已经取得的进展。向他们询问关于你的进展的反馈,以达到下一个水平。尽早进行对话,讨论他们是否支持你在下一个周期晋升。即使答案是 “还没有”,也要让他们帮助确定可操作的事情,如果你完成了这些事情,你就能为下一个级别做好准备。

投入工作

如果你已经向经理和导师明确表示,你正在为晋升而努力,那就投入工作。在机会来临前的几个月里,要加倍努力,争取在下一个级别上有所表现,把事情做好,多帮助别人。

不要疏远你的同事

我有时会看到工程师们犯的一个错误是太专注于自己的晋升,结果损害了团队的利益。到了晋升的时候,他们往往没有得到机会,因为很明显,他们不是一个好的团队成员。越来越多的公司小心翼翼地不提拔那些影响团队的人,不提拔那些拉低团队的人。

为了达到你所设定的晋升目标而把别人挤开,是一种不好的策略。首先,这是非常短视的想法,你可能在晋升时需要同事的帮助。但即使不需要,这也是不成熟的表现。你的资历越深,就越希望你能成为一个优秀的团队成员,同时提供可靠的结果,这并不总是一个容易达成的平衡。但是,如果你发现自己强行推进目标,并使你的团队中的人感到不满,请考虑改变你的方法,使之更具协作性。

即使稳了,也不要马失前蹄

有一次,一个开发人员与他们的经理设定了一个目标,如果他们成功地领导并交付了ComplexProjectX,就能得到升职。项目进展顺利,这个人也升职了。当这个人听到这个好消息的时候,就放开了这个项目,没有把任何事情交接给别人。随着项目的展开,越来越多的问题浮现出来,没有人采取行动。最后,该项目不得不被撤销。

这件事就发生在晋升委员会开会讨论这位工程师的晋升之前。在讨论中,他们一致认为,虽然这个人在许多方面表现出了很好的技能,但在最后一刻,显示出了不成熟。没有任何沟通,也没有很好地解释为什么会发生这种情况。这个人在那个周期没有得到晋升。

保持脚踏实地

不要相信任何承诺 “肯定会晋升”的人。

我告诉团队中的所有工程师的第一件事是,我和任何经理都不能保证 “肯定会晋升”。如果有人对他们说这些,不要信。我见过太多的开发者被这样的承诺所伤害。即使有最好的经理,也有很多原因导致 “肯定”的晋升无法实现。

首先,任何经理人都可能意外地离开。最常见的辛酸故事是这样的。“基于我所做的出色工作,X经理承诺我将得到升职。然后他们就离职了。我的新经理没有兑现这个承诺,决定不提拔我”。第二个原因是,任何经理都可能误判他们的直接工作做得如何,或者误判公司内围绕晋升的政治形势。尽管相信 “已经稳了”这类声明中的好消息很诱人,但还是不要。如果你相信这种承诺的表面价值,无论说的人多么真诚,都会让自己失望。

不要把晋升作为你的唯一目标

无论你表现有多好,无论经理有多支持你,你都可能得不到晋升。如果你的唯一目标是晋升本身,就可能会士气低落,可能会考虑辞职并寻找新的工作,只是因为结果本身不尽人意。

曾经有一个工程师,我强烈支持他,百分之百相信他会得到晋升。尽管我为这个人打抱不平,到上级部门为他们说情,但还是没有成功。在这之后,我更加致力于帮助这位工程师在下一个周期得到认可。幸运的是,这位开发者不仅关注结果,而且同样关心在其他方面的成长。接下来的时间里,他们把晋升失败抛在脑后,继续保持着高增长的轨迹。

如果你的主要目标是关于职业成长,即使你没有得到晋升,你也会获得宝贵的技能。这些技能可能是诸如传达工程最佳实践、指导他人、领导项目、分享知识等。关注这些技能而不是仅仅关注晋升结果。根据你的公司所遵循的程序,晋升是一个概率问题。但没有人可以从你身上夺走你的成长。

晋升不是获得积极反馈的唯一途径

许多人把晋升看成是对自己工作出色的一种肯定。然而,虽然成功的晋升确实意味着好的反馈,但你得到的大多数积极的认可不是通过晋升。

你每天都会从和你一起工作的人那里得到反馈,人们会说 “谢谢”、“你真的帮助了我”或 “如果没有你,我可能还不知道怎么办 ”之类的话。你会从你的经理和导师那里得到反馈。当然,还有正式的绩效审查,你的经理也会总结你所做的出色工作,以及需要改进的地方。获得奖金或加薪也都是积极的反馈,而所有这些都会比升职更频繁地发生。

保持耐心和积极的态度,这是个漫长的游戏

曾有一个有几年经验的天才开发者加入我的团队,他急切地想晋升到高级职位。他有一个朋友最近被提升到这个级别,他觉得这个朋友在他前面,于是很沮丧。在进行了自我评估后,我告诉他,与下一级相比,他目前还存在太多的差距,无法在这个周期内进行晋升。即使他付出了努力,我也看不出他在下一个周期之前会升职,而这个周期还有9个月。我建议制定一个计划来实现这一目标。

首先,这个人很不高兴,认为我对他有意见。慢慢地,冷静下来后,我们制定了一个计划。一步一步我们取得了进展,他开始意识到自己有多少工作要做。最后,9个月后,他得到了晋升。他只有5年的经验,已经是高级职位了。作为对比,我自己花了很长时间才达到相同的水平。但是,与他们不同的是,我从未感到落后。

再等的6个月或12个月对你的职业生涯有什么影响吗?越在早期,你就越觉得有影响。然而,一段时间后,你可能会意识到,这不是短跑,而是马拉松。虽然你可能在第一份工作的几年里得到晋升,但随着时间的推移,晋升的速度会减慢:获得晋升的难度会增加很多。

玩长期游戏。积极进取,专注于你的持续专业成长。把你的成长当作一个旅程,而不是一场晋升的竞争。这样做,你能更好地保持平衡。

帮助他人

在公司内部获得晋升从来不是一件容易的事。当你成功地做到这一点时,考虑回馈他人,并将某人纳入你的羽翼之下,帮助他们成长。让别人知道你愿意指导别人。如果你看到团队中有人有很好的发展潜力,并且你觉得你可以提供帮助,就可以去指导他们。

即使你还没有得到晋升,也要帮助别人成长,并在成长中得到认可。如果你工作的公司有一个比较重量级的晋升过程,有同行评议,可能其他人需要提供同行评议。如果你加入的级别较高,其他工程师可能会向你请教相关的问题。

不要忘记,晋升是对你成长的一种认可。而成长的最好方式之一就是通过指导他人。保持平易近人和乐于助人的态度,并将其付诸行动。你会学到更多的东西,结交许多盟友,这样你的职业生涯将是一个更愉快的旅程。

译者:蒂克伟

软件开发人员怎么升职加薪?技术高管建议你这么做相关推荐

  1. 中国程序员如何升职加薪,也许我们该学学印度人

    中国程序员如何升职加薪,也许我们该学学印度人 程序员 程序人生 阅读10879  近几年越来越多的印度人在美国硅谷占据要职,其中比较著名的有谷歌 CEO 桑德.皮查伊,微软 CEO 萨蒂亚.纳德拉,A ...

  2. 过来人经验:程序员怎么升职加薪,迎娶白富美...

    原作者:Ryan9 原文地址:https://www.zhihu.com/question/20259295/answer/125138094 文章中的观点,小编赞成绝大部分.出于尊重,全文保留.这些 ...

  3. 程序人生 - 过来人经验:程序员怎么升职加薪,迎娶白富美

    来自:知乎,作者:匿名 链接:https://www.zhihu.com/question/20259295/answer/125138094 我是码农出身,工作十年,从 初级程序猿(半年) - 项目 ...

  4. 过来人经验:程序员怎么升职加薪,迎娶白富美

    原作者:Ryan9 原文地址:https://www.zhihu.com/question/20259295/answer/125138094 文章中的观点,小编赞成绝大部分.出于尊重,全文保留.这些 ...

  5. 升职加薪的方法很简单,但做起来很难,兼说我新工作转正后的初心

    佛教里有个典故,大文豪白居易问一位禅师:如何是佛法大意?禅师回答道:"诸恶莫作,众善奉行!"白居易听到如此平常的话,感到很失望地笑笑说:这是三岁孩儿也知道的道理呀!禅师说:三岁孩儿 ...

  6. 软件开发质量改进措施_改进可能是软件开发人员面临的最大挑战,因此我们该如何做...

    软件开发质量改进措施 Don't get me wrong I don't hate my profession, in fact, I love to code. Having only the n ...

  7. 这些阻碍程序员升职加薪的行为,你中招了几个?

    每个程序员在职场奋斗时,总是会生出一些坏习惯,看似不起眼.无关紧要,实际上在这些坏习惯的日积月累的影响下,不仅会影响工作效率,甚至不利于个人成长,成为阻碍程序员们升职加薪的绊脚石. 今天就为大家总结了 ...

  8. 软件开发人员的三条职业路径

    落入俗套很容易,循规蹈矩也很容易,只要跟其他人做一样的事情就是了.尽管事实上大多数软件开发人员在其职业生涯中只作为雇员为公司工作,但这并非你的唯一选择.有很多更高净值的就业选择可以更好地发挥你的编程技 ...

  9. 想要升职加薪,除了PPT做得好,还要靠什么?

    又到年终,又到了职场人士"披头散发"忙PPT的季节.项目报告.年终总结.述职申请.Team Building策划.年会方案--每一项重要的工作文档都离不开PPT.毫不夸张地说,PP ...

最新文章

  1. 这位院士,获一次性奖励2500万!
  2. 网络营销外包——网络营销外包专员是怎样提升网站收录概率的?
  3. Pyqt 窗体间传值
  4. 演化:这五年里,我们对架构师职责的思考与定位
  5. Linux的Nginx九:负载均衡
  6. SAP应用真的不性感么
  7. c# bool?和bool_C#中的bool关键字
  8. MySQL之算术表达式、聚合函数及GROUP BY 与 HANVING 等函数的应用
  9. iOS开发Item属性总结
  10. Spark:聚类算法之LDA主题模型算法
  11. Matlab2014的下载和安装过程
  12. birt字体 linux,linux下birt 图表中文乱码问题
  13. 中国哪里的地铁最拥挤
  14. java的学习内容,附高频面试题合集
  15. IntelliJ IDEA设置护眼浅绿色背景及文字大小
  16. MySQL数据库中存储引擎和数据类型
  17. 1.软件工程—数据流图
  18. Linux设备管理(一)_kobject, kset,ktype分析
  19. 怎么起用计算机无线开关,笔记本电脑无线网卡,教您如何打开电脑无线网卡开关...
  20. 三十岁而立之年混成怎么样才算成功?

热门文章

  1. 凸包计算几何matlab,计算几何-凸包算法 Python实现与Matlab动画演示
  2. Google终极实验室:从无人驾驶汽车到机器人
  3. Flink官方文档笔记13 流的分析的基本介绍
  4. Oracle暂停俄罗斯业务,国产数据库发展正当时
  5. mssql与oracle修改表名
  6. Java中调用方法的几种方式
  7. 【JZOJ 杂题选讲】友谊
  8. 90后的女孩最高境界……
  9. 西普学院Crypto之摩擦摩擦
  10. cms php vue 开源_vue_cms