那么,成为一名高级开发人员意味着什么?

2025-05-28

那么,成为一名高级开发人员意味着什么?

开始之前,我正在开发https://cloudash.dev,这是一种监控无服务器应用的全新方式🚀。如果你在调试生产事件时厌倦了在 50 个 CloudWatch 选项卡之间切换,可以看看这个。


免责声明:本文仅代表我个人观点,您的理解可能会有所不同。

定义角色是件很棘手的事

毕竟,将某人分配到初级/常规/高级级别有点像试图将他们的全部技能都包含在一个“标签”中。

我正在为OLX 集团面试很多前端工程师,我经常问的一个问题(剧透警告!)是:

您认为高级开发人员和普通开发人员有什么区别?

注意:我不喜欢“普通”开发人员标签,也许我应该使用中级,但这也很奇怪,所以让我坚持使用“普通”

这个问题没有正确答案。我也不指望每个答案都一样。我个人认为,这是一个邀请,让我们更广泛地探讨我们作为开发者所做的事情。

我也真诚地想了解其他观点。

我们的工作就是代码吗?还是写测试?还是把代码发布到生产环境?指导别人?写文档?我们是人吗?🎵还是舞者? 🎵

更努力、更好、更快、更强

当我开始从事开发人员职业时,我记得当时公司里的高级工程师给我留下了深刻的印象。他们在我看来坚不可摧,我觉得无论你把任何问题交给他们,他们都能解决。

是的,作为一名高级开发人员,您应该能够解决与您的专业领域相关的各种问题。

但老年人不是机器。

也不应该如此——资历并非“这个人每小时能实现 30 个 Redux Action ”那么简单。我相信有些公司会要求你成为一个更好、更快、没有 bug(哈哈)的开发人员,这样你就能升职,但我真心相信,资历这回事远不止于此。重要的不是“做什么?”,而是“怎么做?”,更重要的是——“为什么?”。

有很多关于技术决策的书籍。这是一个极其复杂的领域,需要考虑的因素有很多。最好的方法是准备多个选项,这样总有可以拒绝的。与其像往常一样:

“过去 20 年来我一直这样做,所以我们会继续这样做,因为我不知道其他任何事情,而且坦率地说,我有点害怕学习任何新东西”。

所有这些都非常重要,但事情是这样的。

我确实相信,高级开发人员应该对他们的组织产生影响。这意味着——这不再仅仅是将 JIRA 转换为代码而已。

跳出 VSCode 的思维框架

请允许我引用一位非常聪明的人的话来开始本节:

您的目标是用代码解决问题。

如果你对正在构建/维护的系统有深入的理解,那么你就可以做出超越纯技术层面的决策。这个功能真的有必要吗?它解决了什么问题?我们能用其他方法解决这个问题吗?我们一开始就想解决这个问题吗?

这种思维方式有时被称为商业背景,但如果你想做好你的工作,你不仅应该了解商业背景,还应该能够塑造和影响它。你不必在组织中担任高管才能影响你的产品。或者至少——了解它。

这不仅仅关乎你编写的代码你最终没有编写的代码也同样重要。高级开发人员能够跳出代码层面思考,从更广阔的视角审视他们的产品,并思考他们的下一行代码是否会对团队的目标有所贡献。

举个例子:

可以用一个 Sprint 的时间,根据规范使用 redux-helicopter 实现某个 UI 部分的两个不同版本,然后启用 A/B 测试来验证。这是一个很棒的方法。

尽管你可能认为(例如)20% 的用户贡献了 80% 的销售额。为什么不给他们发个邮件?问问他们的意见?或者直接给他们打电话?

当然,这只是一个有点傻的例子,但它说明了一点——思考问题优先,而不是代码优先。大多数问题可以通过多种方式解决,高级工程师能够跳出 Visual Studio 的思维框架。

为他人服务

你知道那种感觉吗?当你清楚了解某个功能的含义,然后戴上耳机,就可以开始写代码了。是不是很棒?

确实如此——除非你考虑到你周围的人可能对自己的工作不太确定。资深开发者的职责是指导其他经验不足的开发者。我亲眼见过太多经验丰富的开发者,他们显然已经忘记了当事情总是令人困惑不已时是什么样的。

这里需要记住的是,并非每个人都适合一对一的面对面指导,这没关系。你可以通过有意义的代码审查、确保 README 文件合理、为文档和架构决策(理想情况下应该有完善的文档)做出贡献,帮助其他人实现他们的目标。简而言之,成为一名+10% 的工程师

资深人士经验丰富,把所有经验都据为己有绝对不公平。我个人认为,这个职位的一大职责是促进知识共享文化。

博客、演示文稿、文档、在 Slack 上粘贴链接——凡是你能想到的,都有。看到同一家公司里两个不同的团队重复解决同一个问题,真是令人痛心——高级开发人员的职责就是确保这种情况不会发生。

听起来不错,我怎样才能晋升到高级职位?

首先从推销自己开始。

说真的,晋升到高级职位的最好方法就是在正式成为高级职位之前完成工作。

以更广阔的视角看待你的代码以及它与整个系统的关系。参与代码监控,或许能发现一些优化的机会?对你的应用进行性能审计(在别人提醒你之前),将你的主页精简 10% 以产生积极影响。开始帮助他人(他们会感激你的)。在你的组织中开启知识共享文化,或者成为这些举措的积极贡献者。自愿参与你舒适区之外的项目和任务。

最重要的是——祝你好运!


你觉得怎么样?如果你想聊聊,欢迎在推特上联系我,我的账号是@tlakomy。

文章来源:https://dev.to/tlakomy/so-what-does-it-mean-to-be-a-senior-developer-18mk
PREV
我希望有人能告诉我关于在技术会议上发言的事情
NEXT
通过 AWS 解决方案架构师助理考试 你想成为一名解决方案架构师吗?学习路径:通过考试 好吧,我该如何选择正确答案?总是用 Lambda 吗?祝你好运!