查看原文
其他

为何优秀的程序员不断离开?| 畅言

Erik Dietrich CSDN 2019-04-16


所谓“死海效应”,就是指有些互联网公司过于注重挽留人才,以至于他们无意中挽留了很多平庸的人才,反而迫使优秀的人才离职。


作者 | Erik Dietrich
译者 | 弯月
责编 | 郭芮
出品 | CSDN(ID:CSDNnews)

以下为译文:

鉴于我刚刚换了份新工作,所以最近有很多人问我为何有此决定。


一般来说,每当有人离职时,同事、经理、人力资源,甚至朋友和家人都想知道其中的原因。就我个人而言,我一般会给出不太让人满意的答案,比如“我想寻求更好的职业发展机会”,或者“我觉得应该做一些改变”。这些答案说的都是个人的原因,与公司没有太大关系。


而我给出这样的答案,不是因为我很官方,或者我想回避这个问题,而是因为我不知道真正的原因。


请不要误会我的意思。无论你去哪家公司工作,总会遇到一些组织层面的烦恼和麻烦,而且总是会有人找上门对你说:“我有一个绝佳的机会,你可以在家穿着睡衣上班,而且薪水加倍,有兴趣吗?”但是等到你进入公司后老板却会说:“我们打算将你的薪水减半,强迫你做繁重枯燥的工作,还要把你送到南极去。”我辞职肯定有我自己的理由,但这次的情况比较特别。


通常,我喜欢在做某件事情的时候反省自己的动机。我认为这种反省非常好,可以确保我保持理性,不要一时冲动做出幼稚的决定。所以,在这次辞职之前,我也反省了自己,最后还是决定义无返顾。请注意,这些说在开头的话只是想解释我思索这个问题的原因,而且我想针对个人的处境总结一下我的看法,并与广大的软件开发人员分享。也就是说,我并不是想说:“我是最优秀的程序员,各位老板可以按照本文中所说的方法留住我。”我觉得我个人的编程水平与本文无关,而且我觉得自己是一个称职和高效的开发人员,对学习充满了热情,对工作充满了自豪感。我不觉得我是“明星”,而且一般来说我觉得这样的自我评价会适得其反,甚至有点愚蠢。



旁观者的看法



在过去几年中,我阅读了一些个人非常喜欢的有关开发人员换工作的博客文章,我觉得这些文章在这个主题上提供了一个很好的背景。


其中一篇是Bruce Webster撰写的《湿件危机:死海效应》(http://brucefwebster.com/2008/04/11/the-wetware-crisis-the-dead-sea-effect/),文中提到了一个很好的术语,用于描述我们的下意识或潜意识隐约觉察到的一种现象。 


“死海效应”描述了有些组织过于注重挽留人才,以至于他们无意中挽留了很多平庸的人才,同时迫使优秀的人才离职:


……最终的结果会迫使更有才能和效率的IT工程师离职。因为他们是最不可能忍受大公司频繁的愚蠢行为,以及忍受职场问题的人,而且他们也是最有可能获得其他工作机会的人。


最后留下的往往都是“庸才”——最缺乏才能和效率的IT工程师。他们很满足自己拥有一份工作,对管理的要求甚少。而且即便他们觉得现在的职场并不愉快,他们也不太可能在其他地方找到工作。他们更愿意巩固自己,成为关键系统的维护专家,承担其他人都不愿意承担的责任,如此一来组织就没办法裁掉他们了。


Bruce描述了一种范例:有才能的人离职的原因往往是因为他们厌倦了没有才干却坐在高层位置上的人对他们指手画脚——频繁的愚蠢行为。组织中的人员等级常常与人才至上的法则相悖,这必然导致组织陷入异常的状况:有才能的人不肯来,或者迅速离职。


Bruce的这篇文章主要立足于组织的角度,他谈到了为什么很多组织最后只留下一群平庸的高级开发人员、主管和经理,但就有才能的人纷纷离开的原因,除了一句“太多愚蠢的行为”的评语之外,并没有讨论太多。Daily WTF的Alex Papadimoulis详细阐述了有才能的人员离职的动机:


几乎在每项工作中,都有一个员工能为公司所带来的总体价值(产出与成本的比率)的峰值,我称之为“价值顶点”。


最开始时员工的价值为零。随着该员工开始熟悉新环境,并运用他的技能和过去的经验,他的价值迅速增长。当该员工熟练地掌握业务领域,并与同事和管理层分享他的想法时,这种增长将呈指数级增长。


然而,一旦员工分享了他所有的外部知识,学习了所有与业务有关的知识,并应用了他过去的所有经验,这种增长就会停止。这时,这名员工在这个特定的工作中已经发挥到了极致,因此他达到了价值顶点。


如果该员工继续从事同一份工作,他的价值将开始下降。曾经我们说“这些是我们暂时还无法实现的新创意”,而如今却变成了“这些老掉牙的无聊建议,我们永远也无法实现。”如果类似问题的解决方案之前采用过,我们会说:“我们以前做过这样的项目。”或者说“五年前,我们就做过这样的项目。”这会导致员工失去自我实现的意识,最终会消磨员工积极向上的动力。


有经验的开发人员都深有体会。在到达价值顶点时,他们往往会有种“也许我该继续前进了”的感觉,用不了多久他们就会对工作产生怨恨和不耐烦的情绪。任何团队都无法缓解这种损失。


另一方面,没有经验的人往往会有不同的发展曲线:价值收敛。最终他们会陷入平庸的境地,并永远在原地徘徊。他们的价值不会降低的唯一原因在于他们积累和建立了大量组织特有的知识。


与人才至上相悖导致的开发人员离职相比,这更加微妙和有趣。Alex的解释表明,对于顶级的程序员来说,只有当工作能够为他们带来价值,同时他们也能为工作提供附加价值时,他们才会感到高兴。优秀和聪明的人才不仅想要成长,还要感受到他们越来越有用,越来越有价值,我相信只有这样他们才会对自己的工作感到自豪。


几年后,Michael Lopp撰写了一篇题为“无聊的人会离职”的文章,他认为无聊是开发人员离职的前兆:


在反思为何我管理的那些人会遗憾地离职时,我才意识到究竟是什么时候他们改变了心意。可能是某个能察觉到的细微变化,也可能是抱怨无聊,不论如何,他们脸上都有一个明显的迹象,表明他们对眼前的工作不再感兴趣。我忽略了我观察到的情况。我以为这些都微不足道。我以为只是因为那天他经历了不愉快的事情,过一阵子就好了。实际上,无聊是一颗种子;“我很无聊”会生根,逐渐变成“我很无聊,为什么没人管呢?”;然后,这颗种子会发芽“我很无聊,我告诉了我的老板,但他无动于衷。”;直到最后,这颗种子开花结果:“我很无聊,而他们却不在乎,我不想在这样的地方工作。”


我觉得无聊是一个时钟。当团队中的某个人感到无聊的那一秒开始,这个时钟就开始一秒一秒地向前转动。在走过一定的秒数后(每个人的秒数因人而异),他们会看看时间,然后举起手臂,说他们决定辞职。


Alex的这个有关动机的主题更注重“为员工提供的价值”,而非“员工提供的价值”,但当然可以说该主题概括了两者。无聊意味着开发人员几乎没有完成任何任务,他或她提供的价值很低。除了“价值顶点”的考虑因素之外,无聊的开发人员还有普遍的问题——他们无法参与或享受每天的工作。



共通的原因



在这里,我不打算讨论一些明显的离职原因,比如恶劣的工作环境、低于市场的工资、削减福利/薪水等等,以及那些没有脑子的人故意逼迫有才华的开发人员离职。到目前为止,我们已经看到一些文章提出了很有说服力的观点,概括起来离职的动机大致有三种:


  • 不肯重用人才,导致员工失望(“组织的愚蠢行为”);

  • 员工和组织之间因工作带来的相互价值回报的减少;

  • 仅仅是因为无聊。


我想在这个列表上添加一些上述文章中隐含的内容,以及我个人的经历或从同事那里听到的内容:


  • 认识到当前的项目注定徒劳无功将走向失败,而组织却无力阻止;

  • 缺乏导师或可以大量学习的人;

  • 组织中论资排辈,而不是按照贡献的价值晋升;

  • 没有明显的晋升渠道;

  • 害怕陷入没有市场价值的技术;

  • 组织官僚主义的繁文缛节导致任何人都无法产生积极的影响;

  • 缺乏创造性自由和创造性控制(又名“微观管理”);

  • 与大多数同事的三观不符。


这个列表中的有些项是Bruce、Alex和Michael提出的要点的具体实例,所以不一定会有助于本文的主题,但是你可能会赞同这些观点,并给出一些自己的意见(如果你想提一些自己的意见,那么请在下方留言。)但有意思的地方在于,几乎上述所有列举项,包括链接文章中都没有提到大家对自主性、精通技能或实现目标的渴望。有关这方面的背景,请查看来自RSA Animate的这个视频(https://www.youtube.com/watch?v=u6XAPnuFjJc)。这个视频很精彩,主要说明了人类在经济上没有自我实现的动力(人们普遍这样认为),但会受到这三个激励因素的驱动:渴望控制自己的工作、渴望精通某项技能、渴望在工作中为实现某个目标而努力(除了每周工作40个小时坐等发薪水外)。


人们对组织的愚蠢行为感到失望的原因,通常是因为员工缺乏自主权,或感觉没有明显的目标。如果达到Alex的价值顶点,那么员工精通技能和实现目标的动机就会减弱,而对工作的厌倦必然是缺乏满足RSA的三个需求而导致的。但是,我不打算在这里通过这三个激励因素来总结员工辞职的症结,我想将所有因素融为一体。如果你想留住优秀的开发人员,那么就必须确保为他们提供一定的潜在承诺。



潜在承诺



糟糕的开发人员或平庸的开发人员通常会被辞退或开除。他们往往没有动力去精通技能,没有目标感,对自主权也没有兴趣,因为他们并不觉得他们能真正拥有自主权,而且在与组织商讨薪资方面也处于弱势。也就是说,他们放弃了自我实现,以换取公司支付的薪水,而且他们需要这笔钱支付房贷、养车和维持生计。


我的一位朋友称之为“金手铐”。他们自己的目标通常是固定的:“我在这家公司工作,因为如果我不努力工作,我的房子就会被人收走。”这些人不一定很糟糕,也不一定是没有生产力的员工,但他们不太可能是最优秀和最聪明的人,但可以肯定,他们在工作中只会付出最少的努力,只要能够保障他们的工作和薪水就行。


留住这些人非常容易,因为这是他们的常态。走出去寻找另一份工作可不是为维持生计付出最小努力的途径,所以他们不会这样做。他们就是Bruce所说的“庸才”,他们会坚持留下来,积攒资历等着升职加薪,如果不加以控制,最终他们会破坏团队中拥有RSA需求的新成员,因此你需要做的是:要么转变他们,要么干脆让他们走人。你给他们的潜在承诺应该是:“坚持下去,每过5年我们都会给你一次升职加薪。”他们会把这种升职加薪当成香饽饽。


但是,如果面对雄心勃勃、充满热情、才华横溢的开发人员,你也给他们画相同的饼,那么他们肯定会转身离开。他们会变得无聊,而无聊就会离职。他们拒绝容忍组织的愚蠢行为,他们会消失。他们会寻找“向上或向外”的机会,一旦意识“向外”更快更有吸引力,他们就会另谋他就:“拜拜了,你们这群傻瓜!”


如果想让他们留下来,那么你就需要为这些才华横溢的开发人员画更诱人的饼。你需要经常把他们叫到一边反复画饼。还要确保这些饼是确定的,确保他们的行动会朝着饼的一个目标前进。下列是一些可以让优秀的开发人员留下来的潜在承诺:


  • “如果你能准时或提前实现功能X,我们就让你升职。”

  • “通过接下来几个月的工作,你将成为我们公司最重要的NoSQL专家。”

  • “我们知道你非常羡慕Bob的Ruby工作,所以我们想把你和他放到一个项目中,让Bob作你的导师,这样你就可以向他学习并达到他的水平。”

  • “我们正在构建一个对我们的业务至关重要的会计软件包,我们决定由你来全权负责这个软件包的安全性和日志记录部分。”

  • “如果你能出色地完成项目Y的工作,那么我们会让你根据自己感兴趣的语言选择下一项工作。”


请注意,这些潜在承诺分别以不同的方式表明了自主性/精通技术/目标性。除了通过金钱和权力诱惑开发人员以外,你也可以利用其他激励因素,例如职业的发展/认可、增加自主性、学习和实践新事物的机会、从工作中获得满足感等。


在你画完这样的饼后,可以问问他们想要什么。换句话说,“我们会让你承担更多的责任”固然是个很好的承诺,但有可能不是这个开发人员想要的。或许我们无法准确地给予开发人员想要的东西,但至少我们可以了解哪些方式是对他们有吸引力的承诺或代替方案。例如,团队的一位新成员说:“我想成为部门的首席架构师”,那么可能意味着他对云有所了解,所以你可以找到一个小型的单人项目说:“先试试看这项工作,做好了我们再说。”


无论何时,你和团队中的开发人员都应该了解他们的目标。这可以确保他们不仅仅是暂时感觉良好,而且还会不断提高工作的满意度和目标。开发人员的工作就是一次不断前进的旅程,而不是混日子等退休的地方。通过这种方法,你甚至可能发现那些“庸才”员工也会重新点燃一点兴趣并提高产出。你也可以通过画饼让你和他们都意识到,他们是“庸才”的看法只是一种误解,相比起编程来说,他们可能有更适合的工作。



总结



你画的饼可能并不完美,但至少是一个良好的开端。不要忽略这些潜在的承诺,也不要让它们萎缩,不论你做什么,千万不要与“人才至上”相悖,不要让“庸才”占据上风。否则你的团队将陷入恶性循环。你需要与开发人员一起制定目标,并随着时间的推移不断改进。你需要获取有关这些潜在承诺进展状况的反馈,并根据需要更新。


Alex认为公司中有人辞职再所难免,尽管这个观点完全正确,但我不能完全赞同。我认为,只要有才能的员工有目标和追求,他们的价值顶点就不需要平衡。在咨询公司尤其如此,因为在这些公司中,新领域和临时组成的组织结构是常态,而不是例外。但是,我可以从Alex的文章中得出一点更激进的想法:即便给有才华的开发人员画的饼不能保证他们留在公司五年或十年也没关系。我们可以通过这种方式改变计划,共同成长。无论目标是什么,你都需要朝着这个方向努力,同时还需改进这些目标,并确保开发人员在为自主性、精通技能和目标而努力。

原文:https://daedtech.com/how-to-keep-your-best-programmers

作者:Erik Dietrich,DaedTech LLC的创始人,程序员,架构师,IT管理咨询师。

本文为CSDN翻译,转载请注明来源出处。


【End】

 热 文 推 荐 

☞TIOBE 4 月编程语言排行榜:Python 让位,老将 C++ 夺回前三,PHP 惨遭抛弃!

☞程序员该不该主动提加薪?| 畅言

☞移动开发出路在哪里?是时候用物联网了!| 技术头条

☞ICPC 2019国际大学生程序设计竞赛,中国高校未能夺冠

☞吃了公司零食被指“偷吃”,外包怎么了?

☞00后的AI开发者进阶之道:从入门到鏖战MIT编程大赛 | 人物志

☞分布式架构系列: 负载均衡技术详解 | 技术头条

☞EOS现状: 72%应用涉赌被列为高危, 说好的诗和远方, 你竟沦落成了这样?

☞刺激!我31岁敲代码10年,明天退休!

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存