Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >​【译】掌握这些策略,公司轻松留住顶级程序员!

​【译】掌握这些策略,公司轻松留住顶级程序员!

作者头像
Masutaa大师
发布于 2023-08-23 09:28:10
发布于 2023-08-23 09:28:10
1780
举报
文章被收录于专栏:Masutaa大师Masutaa大师

我们是家专注于提供高品质软件开发服务的小公司,最近和一家在全球有业务的大公司签了合同,负责一个大型项目。工程日期只给了八个月,实在是太紧了。所以,我们打算扩大团队来应对这个挑战。

我们新招了一位工程师。刚开始,我们分配给他一些基础性的工作,如文档更新、错误修复以及回归测试等。很快,他在短时间内以极高的效率完成了所有任务。因我对他的工作效率非常满意,逐渐将更多客户项目的任务交给了他。

我知道他是个很优秀的工程师,前途无量的那种。而且在招聘过程中,他成功通过了所有测试,也和团队成员相处融洽。

然而,在不久后,我还是在他身上发现了一些我曾忽视的特性,比如他无法接受他人的批评,不喜欢别人指出他的错误,总是试图证明自己的能力。

我们一直强调我们的软件工作室结构扁平,每个人都有机会为改进我们的系统和工作流程做出贡献。只是没想到他的贡献居然让事情变得如此棘手

他提出想将自己开发的JavaScript框架融入我们现行的项目中。最开始,我并不认为他这个提议是认真的,因为这个提议他是站在饮水机旁边随口一提的。

我告诉他,我们现在的框架已经确定下来了,这个时候再去改动,哪怕不是完全停止,最少也会拖慢我们的进度。他耸了耸肩,轻描淡写地说:“当然,别担心。我懂的。”

然而,在几天后的站立会议中,他以更坚定的态度阐述了自己的观点,其强硬甚至透出些许傲慢。我再次强调,我们不能接受他的建议。

接着,他的叛逆行为愈发严重,甚至试图对代码的各个部分进行独立的系统化操作。代码审查员去哪了?是不是疏忽了才让这种问题发生?当然,这又是我必须解决的问题。这大概就是工程经理的宿命吧。

然后,当我们开始进行第三个模块的工作时,他又一次在站会上提出要换一种方式来编写代码,因为他做的所有工作(其中大部分是在我们背后进行的)阻碍了生产进度,导致生产效率大幅下降。

那一刻,我简直气炸了。但在我采取任何行动之前,我必须先做足功课。我需要先理解一个优秀程序员的思维方式。

理解顶尖程序员的思维方式

要有效地管理那些有颠覆性思维、自我驱动、成绩出色的程序员,你必须要了解他们的思维的运作模式。只有你深入理解这类程序员的性格类型及其行为动机,才能实现有效管理,避免公司资源的浪费

以下是我对这类顶尖程序员的一些见解

  • 他们对于能够完成超出预期的任务会感到兴奋。但是,随着他们挑战的任务越来越大,他们就越难体验到多巴胺的快感。
  • 他们容易产生厌倦感,一旦出现这样的情况,他们常常会选择离职。
  • 他们在处理任务时总是全神贯注,因此经常会忽视一些重要的细节或者其他有利于自我提升的机会。
  • 他们可能表现出心不在焉的样子,但实际上,他们是在全神贯注。
  • 他们的情绪敏感,对批评的接受度较低
  • 他们过于关注未来,一心致力于实现自己职业生涯的目标。
  • 他们并非金钱驱动,而是对项目和实验充满激情。
  • 你是否曾向一位表现优秀的开发人员指出他的错误?是
  • 你是否曾过度管理过一位表现优秀的开发人员?是
  • 他们认为自己并不需要别人的帮助或者指导,反而他们觉得自己有能力去指导别人。

如何管理一个优异的程序员?

设定明确的界限

如果你手下有一个才华横溢但行为出格,自我驱动且成绩斐然的程序员,那你需要立刻约他单独谈话,将问题行为消灭在萌芽状态。

通常,我们应对问题的策略应是在其出现之初就予以解决。假若选择漠视,哪怕问题微小,也会因此逐渐恶化;待到不得不解决的时刻,极可能会激起对方强烈的情绪反馈。请牢记,天才不太可能会接受他人的批判。

对我而言,我已经向那些表现优秀的开发人员明确了他们的角色和期望。我告诉他们,我既负责软件开发的业务部分,也负责人员管理。我认为,他们需要了解软件开发团队的运作,要明白软件的开发是人对人的合作结果

另外,我也明确告诉了他,他不能自作主张去做那些他认为有必要的事情,除非得到我和团队的同意。我们公司更倾向于以团队为主导解决问题,而非依赖单一的技术或开发人员。如果他想在公司有所发展,就必须理解这一点。

而且说实话,我必须得坚守自己的立场。如果我任由他用客户的资金去进行实验,结果却以惨痛的方式失败,那我的处境就会十分尴尬。你知道接下来会怎样吗?士气和效率都会下降。我的下属会对我失去信任,上头的人也会找我要个说法。

过程为主,结果为辅

问题得到解决后,我开始探索如何让他的个性与我们的目标相辅相成。优秀的人往往会被驱使去挖掘自己的最大潜力,但他们常常过分关注最终目标,而忽视了有时候,最终的目标结果是无法掌控的。

所以,我在想的是如何帮他们更专注于他们能控制的过程,而不是只看结果

我可以让那些顶尖程序员们制定一份切实可行的计划,详细列出每个步骤,并在完成后进行标记。这将有助于他们集中精力于现阶段需要实现的目标,而非过于关注遥不可及的未来目标。

每达成一个里程碑,他们便能获得更多的多巴胺的释放,这可以满足他们对于成就感的追求。

协助他们寻找平衡,避免精疲力尽

我在与多位执着于追求卓越的合作伙伴共事的经历中发现,他们的付出的努力往往超越常人。比如在一个项目中,我下班后,他们还在办公室里埋头苦干;而在第二天清晨,我回到办公室时,他们还在那儿忙碌着。

虽然优秀的人深知健康和幸福的重要性,但他们总是保持警惕,始终不停前进。他们常将自我推至极致,长时间投入工作,忽视饮食,牺牲睡眠。甚至在疾病中,他们也坚持工作,这使他们面临患上抑郁症和疲劳综合症的风险。

因此,作为一名工程经理,你必须严格执行强制休息和休假的规定。不仅要让奋斗过头的开发者休息,也要让这成为所有开发者的规定。如果有人违反,可以在与上级的面谈中解决这个问题。

对于那些表现卓越且抱负远大的个体,建议他们将“保持平衡”纳入其目标清单,并保证这一目标的可追踪性和可衡量性

例如,工程经理可以将参加静心训练、寻求专业心理咨询、适当休息调整或投入时间进行放松与学习等行为,作为他们的主要绩效考核指标(KPI)。这样既能确保他们的工作效能,也能维护其身心健康。

平等对待且因材施教

就像我之前提到的,我们实行的是平等的等级制度,确保每个人都享有同等的机会。然而,有些人,比如成绩优异的人,我们会给予不同类型的关注。当然,我这里说的并不是要给他们像摇滚明星那样的特殊待遇。

由于他们的工作效率极高,因此,必须为他们提供能够快速跟进的工具。同时,安排一对一的指导,协助他们进行职业规划。除此之外,提供培训和教育的机会也是十分必要的。但最重要的可能是给他们足够的自由度和灵活性,让他们能接受挑战。要记住,这些人总是全力以赴,投入 110% 的工作热情。

通过实施灵活的工作时间制度、家庭办公等福利政策,能有效提升优秀开发人员对组织的忠诚度与工作满意度。总的来说,我们不应该让“我们一直都是这么做事的”这种观念限制程序员们的思维。

作为工程经理,你的职责不仅仅是保证在预算内按期完成产品交付,同时还需要展现出卓越的领导才能,推动建设良好的企业文化,并协助开发团队在专业技能和个人素质两方面实现提升。

难道你愿意看到自己辛苦培养的开发人员离开,特别是在你帮助他们在职业生涯上达到一个新的高度之后吗?

我的意思是,开发人员离职,不是因为公司,而是因为他们的经理。所以,千万不要成为那种让人离职的经理!

通过配对编程,推动团队合作

高效的开发团队之所以能在软件构建方面取得成功,关键在于他们懂得如何有效地协同工作。对于表现卓越的开发人员而言,理解并掌握这一策略的重要性不言而喻。而让他们以两人一组的形式进行工作,是最佳的理解和掌握协作策略的方式。

结对编程是一种软件开发策略,它依赖两名程序员共享一台计算机,共同解决特定的任务或问题。在此策略中,一名程序员担任"驱动者"的角色,主动编写代码,而另一名程序员担任“导航员”的角色,负责审查代码、提供反馈并进行战略性的思考。

两人在整个编程过程中不断交换角色,驾驶员和领航员的角色要经常交换

该方法实现了实时协作、知识共享以及即时反馈,对提升代码质量、促进创新思维以及增强问题解决能力具有积极影响。成绩优异的开发人员还将了解到其他人有很棒的想法(有时甚至是更好的想法!)。

如果你能引导他们把更多的精力投入到成为一名出色的团队成员,那么他们就能回归自我,化解混乱。他们可以先获取个人荣誉,然后再恢复与他人的和谐相处。

投资时间与实验

大型企业普遍拥有一套复杂的体系,其中包含诸多繁杂的组成部分,因此想要改变现状几乎是不可能的。此外,这些企业都建立了强大的技术防护和流程保障,以维护其宝贵且高价的基础设施。

在这样的环境下,杰出的开发人员如果意识到自己的想法无法突破现有模式,其积极性将会被严重打击,甚至可能选择离职

作为工程经理,你真的需要考虑这个问题。如果你只希望团队里的开发人员盲从领导,按部就班地工作,那你不如雇个机器人来做这些事。如果无法给予优秀的开发人员足够的自由发挥空间,那么你应做好他们离职的准备。

但是,假如你愿意去了解他们,你的开发团队能提供的东西远超你的想象。如果他们有一些概念性的证明,你应该让他们有自由去探索如何把这些微妙的想法变成现实。当然,前提是这不能浪费你的客户的时间,也不能用他们的钱来做这些事,对吧?

如果你的优秀员工在你的管理和客户的影响下出现了失误,他们无疑将面临相应的处罚。然而,这可能引发他们的不满,甚至导致他们选择离职。届时,你将需要亲自承担处理后续问题的责任。

我对那位顶尖程序员的实践:

因为无法改变现有的框架,我们允许他开设一个新的分支,类似于一个沙盒。在这个环境中,他可以尝试自己的新想法,以检验其是否具有可行性和优越性。

结果呢?该代码虽然通过了代码审查和测试,但性能提升并不显著,因此我们并未将这些修改合并到下一个版本中。接着,我们进行了无责任归属的事后分析,并对他进行了反馈,以便他能从中学习和提升。

导师指导

一个杰出的软件开发专员,犹如团队的倍增器,其存在对团队无疑是一份巨大的资产。他们对挑战充满热情,始终渴望掌握更多知识。因此,我们为他们配置了专门的导师,以便在现有基础上助其实现更高层次的发展。

这位导师是一位杰出的首席工程师,他运用 360 度反馈和能力矩阵对该开发者进行了全方位的评估,并深入了解了他的个人能力和需求。

我们的导师向他展示了所有他能想到的资源,向他推荐了一些值得一读的好书,并鼓励他在博客上分享他的想法,与开发社区进行交流。这个优秀的开发者开始讨论他的架构构想,询问社区成员这个构想是否能处理某些功能,是否有扩展的可能性。但他得到的回答并不总是能证实他的想法,这让他的自尊心受到了一些打击。

总的来说,这次辅导帮助了他:

  • 尝试以不会对团队士气和代码库产生影响的方式进行实验。
  • 理解在团队中达成共识和提出解决方案的难度。
  • 让他明白,你是来帮助他,提升他的技能的。

最后,我还要说的是

换个思维角度,去深度理解那些始终追求卓越的开发者们的需求和期待。

作为一个工程经理,你需要开始区别对待不同的开发人员。归根结底,想做一些不同的事情并不是一件坏事。关键在于我们需要具备敏锐的环境感知能力,了解所处的业务环境以及利益相关者的身份。

毕竟,你是希望你的团队里的初级工程师能够突破自我,成为能力超群的工程师,还是说更喜欢那些执行力一般、需要花费大量时间完成基本任务的工程师呢?

作者:howareyou 社区

译者:阮煜茜

出品:Masutaa大师

关于Masutaa

Masutaa是个互联网从业者自由协作交流平台,链接行业内TOP10%人才!目前平台上已经有将近400名互联网尖端人才,其中近70%的从业者从业年限超3年。

在这个平台上,你有机会获得远程项目,也可实现地理套利,成为数字游民!

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​【译】公司留不住程序员的十大原因,你都知道哪些?
当工程师被迫加班,并且诸如升职加薪或者提高工作灵活性的要求被置之不理,他们要么选择默默地离职,要么去寻找新的工作机会。有些人甚至选择“过度就业”,也就是在多个地方同时工作,以实现财务的自由。
Masutaa大师
2023/08/16
2620
​【译】公司留不住程序员的十大原因,你都知道哪些?
当程序员变身为黑客,现役程序员表示:我太难了!
常言道:“未知攻,焉知防”。知彼知己者,百战不殆;不知彼而知己,一胜一负;不知彼,不知己,每战必殆。黑客所要攻破的任何目标,无论是网站、软件还是物联网硬件产品,这些都是由程序员开发的,所以,他们要攻破的其实就是程序员的安全思维缺陷。如果黑客本身就是程序员呢?他们就会从程序员的角度入手,去挖掘漏洞。况且现在很多开发人员其实并没有经过正规安全培训。
深度学习与Python
2020/11/06
9870
35岁以上的大龄程序员们,后来都干什么去了?
知乎上有个话题叫做“程序员的悲哀是什么?”,有个高赞回复直戳大多数程序员的命门:“最大的悲哀就是以为自己挣到了很多钱,其实根本不懂怎么挣钱,随着年龄的增长,工作瓶颈越来越多,越来越容易受到歧视,却不知道怎么走下去!”
江一铭
2022/06/16
1.5K0
35岁以上的大龄程序员们,后来都干什么去了?
所以,为什么优秀的程序员会不断离去?
聘请一大帮初级程序员是一回事,而如何留下这些初级程序员的导师则是另外一回事。 无论是大学生还是正在找工作的有经验程序员,都一直知道要不断学习编码。尽管来自行业内部有强烈的反对者和要求适度减少编程培训学校的呼声,但大量培养初级开发者的学校还是充斥着就业市场。 你可能会认为这对技术公司来说是好消息,因为他们现在能挑选新的人才了。但在许多情况下,这实际上对于培养和发展那些能真正支持新员工、指导新手以及能解决棘手问题的人,都是不容易的。 很多时候,科技行业通常的额外津贴对留住那些最顶尖、最有经验的人才来说并不是那么
CSDN技术头条
2018/02/08
6810
任正非致歉华为前程序员:回来吧,公司错了
如上所示,内文还转发了社区帖子《寻找加西亚》,其中提到“孔令贤,我们期待你”、“回来吧,加西亚,是公司对不起你”。
IT阅读排行榜
2018/08/17
8110
程序员的自我修养5️⃣—不至于代码
相比码农、程序猿、软件工程师、张江男、屌丝程序员等等这些网络词汇,当你把自己看作是一个屌丝程序员的话,那你也可能就是那个衣食不愁,但整天浑浑噩噩、无所追求的屌丝。我更愿意用技匠这个词来形容程序员,就像我给自己起的花名一样。
马拉松程序员
2022/04/26
4040
2014,成为更好程序员的7个方法
英文原文:7 Ways to be a Better Programmer in 2014
Isaac Zhang
2019/09/11
4350
程序员如何成为架构师?
程序员的职业道路通常非常清晰。从初级开发人员开始,要么在前端或后端之间进行选择,要么来回移动以获得完整的堆栈。然后是:高级开发人员、首席开发人员或技术架构师,然后是团队领导。这是从个人贡献者到软件经理的描述方法,所有方法都从技术角度进行。
MavenTalker
2021/08/26
3740
漂洋过海去学习,一文读懂程序员如何从初级升级到高级
还记得前几天跃哥的这篇推文吗?《知道吗,你和高级工程师差距巨大》这篇和大家简单的聊了聊程序员和高级程序员的差距,目的就是为了让大家有一个深刻的认知,然后朝着这个目标去奋斗。
程序员小跃
2020/05/11
4600
程序员百万年薪进阶指南
大厂的技术经理/架构师及以上、中小厂的技术总监/资深架构师及以上,都能轻松达到年薪百万。并且如果你持续具备岗位的要求,保持绝不是问题。而我,在11年职场生涯中,上图的大部分职位都干过。
范蠡
2020/03/12
8340
10倍开发者与AI:科技精英程序员会被取代吗?
传说中的 10 倍开发者。在我们这个行业,他们就像独角兽一样稀有。他们就像 George Hotz 一样——那种可以在几个小时内从头开始编写神经网络、在青少年时期越狱 iPhone 并因破解 PS3 而被索尼起诉数百万美元的开发者。这些能够以超越同行的速度编写代码的稀有物种长期以来一直是科技公司的圣杯。但是,在 AI 时代,他们在开发者层级顶端的职位是否受到威胁?
云云众生s
2024/11/05
760
8个方法让你成为更优秀的程序员
8个方法让你成为更优秀的程序员 现在是时候认真考虑提高你的编程技能了! 这是给自己设定的一个简单的职业生涯提升目标,但是“成为一个高薪程序员”不是一个简单的目标。一方面,“我要变得更优秀”意味着你知道
用户1289394
2018/02/27
5270
8个方法让你成为更优秀的程序员
理解程序员并不是一项简单的任务, 即使你当过程序员
最近在读一本软件团队管理方面的书 :books: ,是两位在软件行业的资深从业者写的,其中有一个章节在讲如何理解程序员这件事。 理解程序员并不是一件简单的任务,即使你当过程序员也不例外。 文中提供的多种视角还是蛮有趣的,转述一下,供大家讨论消遣,还有其实想让大家认识到一个事实就是程序员之间的差异真的非常大,只有很了解程序设计的人才能完全了解这一点,而大多数的高层管理者对所有的程序员都一视同仁,而更多的企业更是把程序员当做工具、资源看待。 程序设计工种 这其实是常用也是比较简单的方式去理解一个程序员,就是分
用户1257393
2018/03/21
7370
30KiOS程序员的简述:如何成为高级开发人员
本篇文章适用于所有在这个行业已经有了几年时间后想要在职业生涯中取得突破的开发人员,编程人员和程序员(或者你可能刚刚开始,但希望你能看到你的路径)。本文适合那些有着简单愿望的人:你想成为一名高级开发人员,并希望在你的领域中脱颖而出。在阅读完这篇文章后,您将获得一组具有最佳资源列表的路径,供您升级并成为高级开发人员。
原来是泽镜啊
2018/07/16
6410
程序员那些年踩过的坑
作者 | Ravi Shankar Rajan 译者 | 苏本如,责编 | 郭芮 从自己的经历中吸收经验和教训是最有效的学习方式,但是通过借鉴他人的经验而获得知识是一种更快,更聪明的方法,它可以减轻痛苦。毕竟,生命是短暂的,你不可能在一辈子的时间里犯下所有可能的错误。 从事一份软件开发工作是掌握你的技术之旅的开始。和任何领域一样,你会面临各种挑战,你有机会做正确的事,同样你也有可能做完全错误的事。这篇文章记录了迄今为止我在软件开发的职业生涯中所犯的错误,同时也是如何避免这些错误的一本指南。 让自己
腾讯大讲堂
2020/04/23
5670
程序员的烦恼、技术领导的烦恼和管理者的烦恼
为什么做 {程序员、技术领导、管理者} 很可怕? 我专业从事软件开发工作已超过 10 年的时间,我热爱这份事业,希望有一天我会被人们称呼为老程序员。但这一路走来,我经历了许多可怕的事情,这些事情让我讨厌我的工作。在职业生涯早期,我曾期望有人能给我一份职场指南,这样当遇到之前未曾遇到的事情时,我就不会感到如此的孤单和沮丧。 从某种意义上说,这篇文章就是那样一份指南。我写这篇文章有三个目的。 一、回顾 辨别出我们以往都曾有过的经历。这些会帮助我们建立一些理解上的共识,可以作为判断其他不熟悉的问题的参考点。 二、
用户1289394
2018/02/28
9650
程序员的烦恼、技术领导的烦恼和管理者的烦恼
作为一个新手程序员该如何成长?
大纲 找一种你喜欢用到工作中的语言 修复问题 (公开)发布工作 写博客 保持健康心态的小技巧 引言 “哦,天那。相比其他开发者,我又笨又没准备。老板会知道我是多么无能,我要被炒鱿鱼了。” 这种想法,在我们作为一名软件开发人员刚进入工作领域的时候,非常常见。我也不例外。这种想法会让人觉得自己不如其他的开发者,感觉自己是滥竽充数的,感觉自己像一个全面的傻瓜,当涉及到写代码的时候。 在短短的几个月后,我第一次获得一份真正编程工作的兴奋——改善和维护一个基于web的研究平台——终于变成了绝对的恐惧,那些消极负面的想
用户1667431
2018/04/18
7070
作为一个新手程序员该如何成长?
一分钟告诉你究竟DevOps是什么鬼? 转
为了能够更好的理解什么是DevOps,我们很有必要对当时还只有程序员(此前还没有派生出开发者,前台工程师,后台工程师之类)这个称号存在的历史进行一下回顾。
wuweixiang
2018/12/24
4470
为什么Java程序员的薪资一直居高不下?
众所周知,随着科技发展,国家政策的支持,IT行业可谓是目前最火、也是众多行业中薪资待遇最好的行业,其相关工作人员的基本薪资也使得许多传统行业望尘莫及。
java架构师
2018/10/08
5350
为什么Java程序员的薪资一直居高不下?
代码自动生成Codex 引发程序员恐慌?OpenAI:不信谣,不传谣
今年夏天,人工智能公司 OpenAI 发布了 Codex,只需简单的提示就可以用自然语言自动编写软件代码。
新智元
2021/10/12
5870
推荐阅读
相关推荐
​【译】公司留不住程序员的十大原因,你都知道哪些?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档