如何判断一个人是不是高级软件开发者
大多数软件公司都会面临这样的问题:如何判断一个人是不是高级开发者?这个问题非常难以回答,因为它有着很高的主观性。
更糟糕的是,一些公司根本不在乎这个问题。他们非常随意的就把这个头衔分配给开发者,尤其是在招聘的时候:
“另一个公司给你的薪资比我们高20%?我们能给你高级工程师的头衔!”
还有一些企业,当开发者提出涨薪的时候,他们会拿出这个头衔跟开发者讨价还价:
“我不能给你涨这么多,不过我能给你高级工程师的头衔,这可是你职业生涯成长的好机会。”
当然,一些公司还是非常重视头衔分配的,他们对开发者有着较高标准的要求,要让开发者的头衔有实际意义,能反应出他们真实的工作能力。
因此,我们必须要解决那个问题:什么样的人才能成为高级软件工程师?
有人认为,解决这个问题最简单的方法,就是做一个清单,把你对高级软件工程师的要求都写在上面。
当你想把某个开发者的头衔晋升为高级软件工程师的时候,拿着这个清单,看看他是否做到了上面的要求。
但是在做清单的时候,你也会遇到一些问题。首先,做这个清单的时候,你会在上面只写2-3个要求吗?你最好别这么做,你所做的清单应该越详细越好,
其次,你也很难把这个清单做的非常完美,我们都知道,每个人都有自己的长项和短处。例如,如果你公司内有一名开发者,他在各个方面做的都非常好,但是你清单上的某些要求却恰恰是他的短处,那么这个人在你这里就永远没有晋升之日吗?
清单衡量法还有一个缺陷,那就是你必须要为高级软件工程师提出可量化的指标,而很多时候我们很难确定这种量化指标。修复过多少bug不能成为判断标准,工作过多少个小时也不能成为判断标准。正是出于这个原因,判断一个开发者的优劣才成为了一个非常主观的事情。从这个角度来看,清单判断法和“相信感觉判断法”几乎别无二致。两者都无法为企业带来价值。
我曾经对团队中的另一名开发者的晋升决策提供过意见。我之所以参与这件事情,是因为那一段时间我的工作变轻松了。我不再需要像从前一样审核大量代码或是处理问题。
而 我的工作之所以变轻松了,是因为这名开发者的工作做的太好。他的代码质量非常高,而且他能帮我处理许多代码审核工作。最重要的是,即使在我分不出身的时 候,他能够带领团队继续项目进程。当然,在可能的时候,他还是会找我来确认各种决策,但是即使找不到我,他也不会停止项目进程的脚步。
在他出现之前,每当我休假的时候,整个开发工作就会停滞。而他加入之后,这个问题消失了。当我发现这样一位开发者的时候,我就能够判断他是一名高级软件工程师。
在我看来,判断一个人是不是一名高级软件工程师的标准,就是你信任这个人,而且当你不在的时候,他可以把所有事情都处理好。
是的,我的这个判断方式依然非常主管,与相信直觉判断法看上去很相似。但是至少这种方法给你提供了一些判断依据,例如这个人代码写的好,或是整个项目在他的带领下进行的很顺利。
你和你所在的公司是如何判断开发者能力的?欢迎在评论区留下你的看法!
本文文字及图片出自 www.sdk.cn
你也许感兴趣的:
- 【外评】电脑从哪里获取时间?
- 【外评】为什么 Stack Overflow 正在消失?
- Android 全力押注 Rust,Linux 却在原地踏步?谷歌:用 Rust 重写固件太简单了!
- 【外评】哪些开源项目被广泛使用,但仅由少数人维护?
- 【外评】好的重构与不好的重构
- C 语言老将从中作梗,Rust for Linux 项目内讧升级!核心维护者愤然离职:不受尊重、热情被消耗光
- 【外评】代码审查反模式
- 我受够了维护 AI 生成的代码
- 【外评】Linux 桌面市场份额升至 4.45
- 【外评】作为全栈开发人员如何跟上 AI/ML 的发展?
你对本文的反应是: