我对高级开发人员的定义:对你正在做的事情充满热情,成为一个“问题解决者”,学习编程语言和框架的基础知识,成为一名导师,并拥有一名导师,保持自己与时俱进,离开你的舒适区,为自己的观点而战,善于社交,也关注软技能,结论

2025-06-07

我对高级开发人员的定义

对你所做的事情充满热情

成为“问题解决者”

学习编程语言和框架的基础知识

成为导师并拥有导师

保持最新状态

离开你的舒适区

为你的观点而战

社交

也要注重软技能

结论

在我担任软件开发人员期间,我结识并共事过许多其他开发人员。他们中有的刚刚开始学徒生涯,有的大学毕业后才开始第一份工作,有的已经拥有多年的工作经验,甚至有的拥有十多年的软件开发经验。

在我职业生涯的早期,我问过自己什么是“高级”开发人员,以及如何获得这个头衔?我以为这与工作经验的年限有关,如果我有 3 年以上的工作经验,我就会自动获得这个头衔。

如今,在与许多其他开发人员合作之后,我对“高级”软件开发人员这个称号有了明确的看法。

首先我来总结一下我作为一名高级软件开发人员的显著特征:

  1. 对你所做的事情充满热情
  2. 成为“问题解决者”
  3. 学习编程语言和框架的基础知识
  4. 成为导师并拥有导师
  5. 保持最新状态
  6. 离开你的舒适区
  7. 为你的观点而战
  8. 社交
  9. 也要注重软技能

现在让我们更深入地探讨这些主题。

对你所做的事情充满热情

激情模因

如果你对所做的事情充满热情,其他大部分分数都能自然而然地达到。在我看来,只有热爱自己所做的事情,才能成为一名优秀的软件开发人员。这也意味着你应该选择一个你目前(或将来)非常擅长的技术栈或专业。

当然,你也应该学习专业之外的其他知识。你的目标应该是成为一名精通自己专业领域的T型软件工程师。

在这篇博文中,我将主要关注 Web 开发技术栈,因为我对此有最丰富的经验,并且对它们有个人的看法。

成为“问题解决者”

解决问题模因

你应该热爱在无限的时间内解决具有挑战性的问题。你应该拥有力量、雄心、技能和热情来解决职业生涯中可能出现的任何问题。

学习编程语言和框架的基础知识

永不停止学习

这对于软件开发者来说至关重要。学习编程语言或框架的基础知识通常并不复杂。大多数情况下,你可以在短时间内快速实现功能,甚至完成一些小型项目。但如果你需要调试、调整框架或修复错误,情况就会变得棘手。

例如,许多人使用 Angular CLI,但并不熟悉其幕后的所有步骤。或者,许多人使用 Angular 和 TypeScript,但不知道如何读取压缩包中的 JavaScript 代码。

基本上,您可以按照以下基本步骤来学习基础知识:

阅读一些关于软件编程的基础书籍

我建议读一些软件开发的经典书籍,比如《代码整洁之道:敏捷软件工艺手册》《程序员修炼之道》 。这些书会提供编写优秀软件的基本模式、指南和最佳实践。

深入研究你的编程语言

在 Web 开发中,JavaScript 是你应该掌握的语言。最终,你的浏览器会运行 JavaScript 代码(即使它是使用 Angular 等框架和 TypeScript 等编程语言编写的),你需要能够理解这些被执行的代码。如果你需要分析某个功能在你的框架中是如何实现的,这一点也很重要,所以你应该能够阅读底层 JavaScript 源代码。

对于 JavaScript,我建议您阅读JavaScript:精​​彩部分

掌握你的框架

与编程语言一样:深入研究框架中使用的高级机制。例如,对于 Angular,我推荐博客“深入 Angular”

了解你的 IDE/编辑器/命令行

充分利用 IDE、文本编辑器和命令行的键盘快捷键、插件和命令,尽可能提高效率。如果您使用 Visual Studio Code,请查看我的文章《如何使用 Visual Studio Code 提高工作效率》

学习版本控制

我主要使用 Git,可以向您推荐免费的在线电子书Pro git

成为导师并拥有导师

导师模因

在我看来,只有当你指导他人并且自己也有导师时,你才能称自己为“高级”开发人员。


你应该在公司、项目甚至互联网上找到可以向你学习、提升的人。你也可以找一位“远程”导师,通过阅读博客、观看演示文稿、收听播客或阅读推文来指导你。

不要害怕自己并非事事都做到最好,几乎总有人比你更优秀。(另请参阅“冒名顶替综合症”)

如何指导他人:

  1. 要有耐心,不要因为别人缺乏知识而评判他们
  2. 让对方说话并积极倾听
  3. 展示高级开发人员可以实现的成功之路
  4. 投入足够的时间并在需要时提供帮助

保持最新状态

我的建议是利用这些渠道来让自己了解最新情况:

  • 叽叽喳喳
  • YouTube
  • 播客
  • 会议
  • 博客
  • 聚会
  • (在线)课程

离开你的舒适区

舒适区

许多开发人员试图避免离开自己的舒适区,而“高级”开发人员不应该害怕离开自己的舒适区。以下是一些示例:

  • 您害怕与很多人谈论技术问题?——> 在会议或聚会上发表演讲并适应它。
  • 你不喜欢写后端代码,只对前端感兴趣?——> 那就去学习后端技术吧。如果你了解“另一面”,你就会受益匪浅。
  • 您是否避免接触 CI/CD 管道,因为您不了解它,而其他一些开发人员对此更有经验?--> 花时间学习基础知识,这样您就可以帮助自己,并且不依赖其他开发人员。

为你的观点而战

我认为,“高级”开发人员应该有清晰的观点,并且能够在客户或其他开发人员面前为之奋斗。对我来说,如果我把技术决策“发号施令”给团队,而每个人都不加解释地接受并开始执行,那我肯定不会满意。

如果双方能够就技术方案进行生动活泼的讨论,那么讨论会更加有趣。这可以帮助架构师获得新的见解,团队也可以积极地影响决策。

社交

不要躲在显示器后面。走出去,和其他开发者交流,你会从中受益。此外,利用上面提到的社交平台与其他开发者联系。

我还建议您建立个人品牌并让其他人关注您:

  • 拥有一个可以展示你的项目的网站
  • 使用 Twitter、Facebook、YouTube 或 Instagram 等渠道,向您的关注者介绍有趣的话题
  • 创建一个博客,开始撰写技术文章
  • 尝试在会议上进行演讲

也要注重软技能

编写优秀的代码固然重要,但能够向客户等“非技术人员”解释技术细节也同样重要。你应该能够以通俗易懂的方式绘制架构图,或用文字描述。此外,你还应该具备良好的工作时间管理能力,能够优先安排任务,并以最高效的方式完成它们。

结论

正如你所见,成为一名高级软件开发人员并非易事,无法在短时间内实现。多年的经验至关重要,但你必须花时间专注于上述方面。在我看来,如果你只有多年的工作经验,却没有在开发方面有所成长,那么你根本无法成为“高级”开发人员。

当然,这只是我的拙见,所以请让我知道您对“高级”开发人员的定义是什么,以及您与他们合作有什么经验?

文章来源:https://dev.to/mokkaapps/my-definition-of-a-senior-developer-3k8l
PREV
我最常问的 Angular 面试问题
NEXT
我如何用私有、开源且自托管的替代方案取代 Google Analytics