发布于 2026-01-06 2 阅读
0

资深开发人员的价值是什么?经验。资深开发人员想要什么?DEV 全球项目展示挑战赛,由 Mux 呈现:展示你的项目!

高级开发人员的价值

高级开发人员的价值是什么?

经验。

高级开发人员想要什么?

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

你肯定见过这样的招聘信息:“招聘高级全栈开发人员,要求10年以上经验,工作节奏快。必须能够同时处理多项任务……对了,我们是不是说过这里节奏很快?”

我相信发布招聘信息的人肯定预料到,这份工作会吸引到一位非常优秀的人才。他们会约在咖啡馆见面,然后发现这就是缘分:这份工作简直是为彼此量身打造,从此大家相处融洽,幸福快乐。

但这与现实相去甚远。以我的经验来看,那些发布这种咄咄逼人的企业文化警告的公司,实际上是在吓跑人才。那么,双方利益交汇的中间地带在哪里呢?在维恩图中,期望与现实交汇的那个神奇之处在哪里呢?

高级开发人员的价值是什么?

时间就是金钱,所以“高效”的开发人员耗时更短,公司成本自然也更低。这意味着他们更有价值,如果他们能交付两倍甚至三倍于初级开发人员的工作量,那么支付他们两倍的薪水似乎也合情合理。这当然是一个诱人的美好愿景,但这并非高级开发人员的价值所在。

我认为,人才之所以被认为有价值,原因有二:首先,一位才华横溢的开发人员能够为企业带来持续稳定的业绩。其次,人才的稀缺性本身就赋予了他们价值。然而,资深开发人员的职位与才华并无直接关联。一位开发人员拥有10年、20年甚至30年的开发经验,并不意味着他们就才华横溢。更不意味着他们每隔几年就能获得一次晋升资深开发人员的价值并不在于才华。

有些职业的局限性显而易见。如果你砌砖砌了二十年,你可能已经积累了一些新手所不具备的肌肉记忆。随着时间的推移,你的速度和灵巧度可能有所提高,但也可能因为疲惫或年龄增长而有所下降。但这绝不意味着,在砌砖二十年后,就应该要求你承担两个工人的重量。时间的流逝并不会改变人类心智、身体或精神的道德极限。承担几个合格人员的工作量,这并非高级开发人员的价值所在。

那么,究竟是什么让高级开发人员如此抢手?是什么让他们的薪资更高?招聘公司应该对他们抱有怎样的合理期望?高级开发人员希望在招聘信息中看到什么,才能让他们感受到自己的价值得到认可、尊重,并且在特定环境中是真正不可或缺的?

经验。

我算不上什么伟大的音乐家。我曾经想成为那样的人,过去也曾练习过一些乐器,并努力完善过一些曲目。我从7岁就开始拉小提琴,但肯定没有多少经验。说实话,近十年来我几乎没碰过小提琴了。16岁时,我买了第一把吉他,自学成才。但女儿出生后,为了维持生计,我放弃了吉他,之后也鲜有机会继续练习。我接受的古典钢琴训练中的某些方面(希望如此)已经深深地融入了我的思维模式,但最近我重新拿起钢琴时,却发现自己的手已经很久没有做出那些熟悉的指法了。即便如此,凭借多年积累的音乐经验,我相信自己能够轻松融入任何即兴演奏,发出一些在宽容的听众听来自然和谐的声音。

虽然我没有去过纽约市的每一个地铁站,但在这里生活了三年之后,如果你想在我们错综复杂的地下迷宫中穿梭,并在合理的时间内到达正确的站点,你可能会发现我是一个有用的伙伴。

我虽然没有读过所有关于软件开发的文章,也没有读过每一本书,但对于你在谈话中可能提出的大多数话题,即使主题对我来说完全陌生,我至少也会积极倾听,并提出一些有见地的问题。

高级开发人员的角色含义因人而异。所有高级开发人员最主要的共同点是他们的头衔:“高级开发人员”。我见过一些高中时略懂PHP的程序员,仅仅因为公司网站上列出了高级开发人员的职位,以及该职位所需的职责,就直接跳槽到高级开发人员的位置。我也见过一些资历深厚、经验丰富、才华横溢的开发人员,却被卷入公司残酷的权力斗争中,最终只能担任远低于他们能力水平的初级职位。

性格也会极大地影响人们对资历的感知。一个爱吹牛、自负的人可能看起来资历很深,但实际上他们只是非常自负而已。一个谦逊低调的开发人员可能承担了超出自己能力范围的工作,而收入却低于自己的承受能力。

好的,这篇诊断很好地指出了我们在给开发人员贴标签时遇到的一些问题,但是解决方案是什么?我们如何才能确定高级开发人员的价值,并了解他们希望从中获得什么回报?

我们首先需要确立一个非常非常明确的平等概念。我并不比世界上任何其他开发者更优秀,也不比他们更差。我们每个人都选择了与未知打交道的职业:我们创造的是尚不存在的东西,我们无法预测未来。我会犯错,你也会犯错,而且我们无法预测彼此犯错的频率。

你可能刚刚读完我用了多年的某种编程语言的入门教程第七章,写个 FizzBu​​zz 的速度比我记忆中这门语言是否安装在我当前的笔记本电脑上还要快。我或许能一眼看出你代码里那个让你抓狂的 bug,而你用的语言我从 2008 年就没碰过了(哦,Lua,好久不见!给我打电话,我们找个时间一起做一个 Weechat 插件。)。关键是,时间流逝并不会让我们自动变成摇滚明星、计算机大神或网络红人。

资深开发人员仍在学习,仍在成长。有很多事情我们做不到,更多的事情我们甚至不知道该怎么做。

我认为,招聘经理对高级开发人员应该做出的合理、普遍的假设是,他们比刚刚开始职业生涯的开发人员更能体会解决问题的艰辛(以及希望取得的成功)。

我已经说过,高级开发人员的价值在于他们的经验,但是,在公司应该为他们的角色设定的目标和期望的背景下,这种经验又能转化为什么呢?

为了理解这一点,让我们来剖析一下拥有经验的含义。

你肯定看过那种电影,里面总有个退休专家在山里砍柴。直升机来了,他一说“我早就放弃这行了”,你就知道好戏要开始了。我们猜想,直升机司机(现在“直升机司机”这个词已经流行起来了,赶紧跟上)会给这位伐木工开出一笔可观的价钱,而这位隐士当然会拒绝。然后,他抛出了重磅炸弹:“你丈夫是我们第一个联系的科学家,他被坏人困住了。” 系好安全带——我们即将见证一位经验丰富、动力十足的专业人士,在真正想把所学付诸实践时,会做出怎样的惊人之举。

这有什么关系?为什么没有电影讲述他们收到一封通知邮件后,就坐在火堆旁等着特警队来处理事情呢?我们把英雄形象浪漫化了,但那些电影里看似成功的很多因素,其实都只是盲目的、愚蠢的运气。

事实上,你会发现,经验丰富的专业人士的许多习惯,恰恰与招聘公司所寻找的截然相反。

一位在技术领域工作多年的资深开发人员,往往比资历较浅的同行更加谨慎。

经验丰富的开发人员不太可能凭空捏造一个非常不准确的时间估算来逃避尴尬的计划会议,但是“我不知道,但我会查清楚”听起来不像是一个“资深”的回答,不是吗?

经验丰富的开发人员多年来可能已经与许多层级的管理人员打过交道,并且很可能因为组织结构效率低下和工作组织不合理而留下了不少伤痕;他们可能对许多决策、策略或突然的变化犹豫不决,而经验不足的开发人员却会欣然接受。

一位资深开发人员可能在完全相同类型的项目中一次又一次地失败,而这正是经验的最终价值所在:结果。

我们所有人都在努力实现的,不就是项目的最终成果吗?你之所以成为一名开发人员,或者你想要招聘一名开发人员,都是因为你想创造、实现并最终取得成功。

这就是经验赋予高级开发人员的价值:一系列成果。无论成功还是失败,这些成果对任何组织都弥足珍贵。了解、记住或直觉到哪些行不通、哪些应该开发,或者哪些实现起来可能需要耗费大量精力却毫无意义,就能挽救一个注定失败的项目,并为整个组织节省数千小时的累计开发时间。将丰富的经验带到项目中,有助于确定项目实施的方向,甚至当高级开发人员说“嘿,我这里有一些可能适用的代码”时,就能帮助项目快速跳过路线图中最黑暗的阶段。仅仅知道某个SDK、库、插件或附加组件的存在,就能避免团队一次又一次地重复造轮子。

高级开发人员的价值在于他们的经验。他们的经验价值体现在从各种结果(无论好坏)中汲取的经验教训和获得的知识。

等等……这些经验丰富的资深开发人员已经看过你的职位描述很多次了。“必须能够接受来自固执己见、缺乏技术背景的领导提出的不合理期望和糟糕的计划。” 这就是我们想要传达的信息吗?这就是我们想要的诱饵吗?

高级开发人员想要什么?

我前面已经分别写了一些关于开发人员和经理的内容,但最后我想对招聘经理们说几句。资深开发人员不仅接触过代码、框架,以及数不胜数的梗图,他们还经历过项目功亏一篑的惨痛教训——原本只要领导得当,项目就能成功。他们也曾加入过配合默契的团队,管理层信任他们,给予他们充分的自主权,让他们能够交付真正好用的软件,而无需每次迭代都重写。他们经历过渴望挑战的枯燥阶段,也经历过充满挑战却又令人厌倦的重复劳动。

如果您想吸引一位高级开发人员,我建议您认真审视以下几点。如果您发现自己是基于以下任何逻辑来提出对高级开发人员的要求,我建议您重新评估并再次尝试:

  • 请勿暗示您期望高级开发人员完成 5 个人的工作量
  • 请勿暗示您期望高级开发人员犯的错误更少或完全没有错误。
  • 不要因为高级开发人员“速度快”就表示你重视他们。
  • 不要表示你重视高级开发人员是因为他们“优秀”。
  • 请勿暗示您期望高级开发人员在正式入职培训之前就能交付价值,因为每位新员工或承包商都必须接受正式的入职培训。

如果你发现自己用这些方式描述你想要招聘的职位,该怎么办?我很高兴你问了这个问题:

  • 承认你的组织人手不足
  • 承认贵组织需要优先处理技术债务。
  • 根据开发人员的工作速度调整他们的工作性质,从而调整他们的工作价值。
  • 尊重团队中的每一位成员,视他们为平等的一员。
  • 为高级开发人员提供融入贵公司所需的一切资源,尤其是合理的入职培训时间。

将这些理念付诸实践,以下是我认为很有吸引力的高级开发人员职位招聘信息示例:

Initech 正在招聘一位资深开发人员,要求具备前端和后端开发经验;拥有数据库和 DevOps 经验者优先考虑。您的职责包括为我们这支规模虽小但不断壮大的团队提供开发、规划和架构方面的建议,并预留 10% 的时间指导初级开发人员。我们采用敏捷开发方法,确保您的工作量合理,同时我们也希望您能帮助我们提高团队效率,从而提升客户交付速度,因为我们目前正努力跟上客户的需求。

文章来源:https://dev.to/devreopers/the-value-of-a-senior-developer-3c86