通往高级开发人员之路

2025-05-28

通往高级开发人员之路

(共两部分,第一部分)

在我作为一名开发者的成长过程中,我曾与许多年轻的工程师一起工作并指导他们,最终获得了一家软件公司的投资。我经常被问到的一个问题是如何成为一名高级开发人员?这不是一个简单的问题,每个地方对高级开发人员都有自己的定义。然而,根据我与多家规模和成熟度各异的公司合作的经验,我发现成为一名高级开发人员不仅仅是熟悉某项技术。实际上,你必须能够做出正确的决策、提供准确的估算并定期按时交付成果等等。以下几点是针对刚刚开始职业生涯的年轻开发人员的,尽管经验丰富的开发人员可能觉得这些显而易见,但这份清单总结了我所看到的一些正在努力解决的问题。

项目

1)明确优先事项并保持清晰:用一个简单的比喻来更好地解释这一点:假设你正在盖房子,待办事项清单上有安装马桶和粉刷窗框的清单。当然,清单上的所有事项都需要完成。然而,为了使房子有人居住,马桶是必不可少的,而窗框则不是。(你可以选择安装马桶或粉刷窗框。当然,这两件事都需要做,但如果不粉刷窗框,房子可能还能住人,但如果没有马桶,房子就无法住人。)这个例子可能非常荒谬,你可能会争辩说项目计划和预算已经获得批准,但在现实生活中,计划会更改,预算也会被削减。这里要记住的是,在任何特定时刻,都要清楚什么是最重要的,并确保完成它。

2)避免假设,提出有力的问题:假设是许多问题的根源,我最不喜欢它们的原因是,它们完全可以避免。你需要意识到那些你不确定的事情,并提出有力的问题,避免出现模棱两可的情况。例如,假设有人约你晚上 8 点在星巴克见面,你会用一个有力的问题来回答,了解星巴克的分店以及见面时间是早上 8 点还是晚上 8 点。这样,你就不会在错误的时间出现在错误的地点,并疑惑:如果我没有假设……

3) 开始编写代码前先分析:年轻时,我们有时会急于展现自己的价值,并尽快开始编写代码。然而,提前思考如何构建代码会更快,甚至可以画几张图表,或者画一些草图,但这些可以帮助你清晰地了解可能需要解决的障碍和需要解答的问题。这样,你就能以更安全的方式开始编写代码。

4)做出正确的决定:这听起来很傻,对吧?但我的意思并非是“酒驾禁忌”,而是在专业场合。那么,如何开始做出正确的决定呢?首先,列出所有可能影响你决策的变量,例如:实施的难易程度、技术经验、性能、成本等等。列出所有变量后,对不同的选项也进行同样的分析。现在,你已经准备好分析你的选项了,你可以使用一个简单的技巧,比如Pugh矩阵,来比较不同的选项,并以更可靠的方式支持你的决定。

5)了解你的客户:我认识一些在代码库上工作的人,他们既不了解软件要解决的问题,也不感兴趣。对我来说,这就是我们所说的“代码猴子”,在不久的将来,他们将被机器人或更廉价的劳动力取代。当你关心客户时,就会表现出来,人们会开始倾听你,征求你的意见并重视它们。就这样,一步步开始,你的责任越来越大,你的价值和机会也随之增加,你的薪水也随之增加。

团队合作

6)不要害怕提问:我理解你可能害怕在同事或技术主管面前显得无知,但请相信我,优秀的团队都喜欢按时交付软件,并且痛恨延误及其原因。所以,如果你没有提出问题,导致项目延期,他们可能会比你提出一些无关紧要的问题,但最终克服困难吸取教训时更难过。

7) 不要害怕发布:对于新手来说,宣布某件事完成绝对会是一段痛苦的经历,但请记住,我们赚钱就是为了发布产品,就这么简单。所以,与其找借口拖延你的任务:发布产品,处理后果,从错误和成功中吸取教训,不断改进和迭代,直到你不再害怕。

8)尊重经验丰富的队友:有时你可能会不同意你的技术领导做出的决定,这没关系,但在因为他/她犯了大错而勃然大怒之前,我建议你采取以下方法:询问他/她做出决定的原因,试着从整体上去理解,也许其中存在一些你没有意识到的限制因素。无论如何,了解决策过程比仅仅因为有人不同意你的观点而发脾气更有益。

9)在盲目服从、鲁莽违抗和掩盖自己之间的平衡:让我告诉你一个轶事来说明这一点。我当时是一名业务分析师,负责一个项目,我的职责之一是编写一些执行业务规则的存储过程。客户验收测试将在中国进行,我们的技术负责人必须飞到那里进行测试。在发布到用户测试环境前大约一周,技术负责人告诉我一条业务规则是错误的,并告诉我如何修复它。他告诉我的内容对我来说毫无意义,我礼貌地告诉他,当他坚持要我更改规则的存储过程时,我请他通过电子邮件确切地说明他想要什么。他照做了,然后我标记了该消息,以便以后轻松找到它。此外,我还为存储过程代码做了特殊备份,以便在需要时可以立即获取它。一周后,在中国进行测试时,同一条业务规则没有通过验收测试,我接到了技术主管的电话,询问我为什么这样编程以及是谁要求的。我再次恭敬地告诉他,是的,让我把邮件转发给你。30 秒后,他问我需要多长时间才能改回来。马上,我手头有备份。这个故事的寓意是,有时候你是对的,而你的老板是错的,在这种情况下,我发现最好通过电子邮件或任何其他可追溯的方式寻求澄清,并可能回复你提出的解决方案。因此,如果出现任何问题,你都有保障,正确的解决方案也有记录。你可能认为这没有必要,但有时老板会把下属置于危险之中,所以我建议你明智地处理这件事。

10)回复邮件:请回复邮件,如果不是出于其他基本礼仪原因,有时一句简单的“谢谢!”或“确认”就足够了,这与完全不回复有很大区别。

文章来源:https://dev.to/veloceronte/the-road-to-senior-dev--b6k
PREV
居中对齐终极指南 - CSS
NEXT
使用 HTML、CSS 和 JavaScript 构建模态窗口(弹出窗口)