高效开发人员的 14 个习惯(第 2 部分)

2025-05-27

高效开发人员的 14 个习惯(第 2 部分)

本文最初发表于paulisaris.com

介绍

这是“高效开发人员的 14 个习惯”系列的第二部分。你也可以在我的博客或 dev.to 上阅读第一部分:

“高效开发人员的 14 个习惯”系列的第一部分中,我们开始展示习惯在开发人员日常生活中的力量,以及如何通过将简单但关键的改变融入到我们的工作中来受益,旨在获得最大的利益并帮助提升我们作为软件工程师的职业生涯。

习惯造就了我们。我们就是我们的习惯,我们有责任尽可能地养成这些习惯。当我们养成某种与工作或学习相关的习惯时,我们就能有效地对抗那些阻碍我们前进的事物和情况,比如拖延倦怠无聊,以及偶尔的偷懒冲动

欲在大事上成就卓越,先在小事上养成习惯。卓越并非个例,而是一种普遍的态度。——
科林·鲍威尔

我们重复的行为造就了我们。因此,卓越不是一种行为,而是一种习惯。
威尔·杜兰特

道德的优越性源于习惯。我们通过做正义之举变得正直,通过做有节制之举变得节制,通过做勇敢之举变得勇敢。——
亚里士多德

事不宜迟,让我们继续深入探讨这 14 个习惯,它们将永远改变一个人的职业生涯,并让你成为一名高效的开发人员

8. 习惯自尊心受到伤害(好的方面)

我们开发人员真是个奇怪的种族。我们谈论一些我们只懂的东西,却用一种奇怪的方式,让上下文更加难以理解。我们的工作有时会让客户或产品/项目经理不满意,这很正常。某个功能可能没有正确实现,或者项目需求中存在歧义。
这时,我们的骄傲就会开始发挥作用;

绝对不是我的错!我怎么会犯这种错误?他们是傻瓜吗?他们讨厌我吗?他们怎么就不明白重新实现一个功能的难度呢?

所有软件工程师都存在这些想法,它们只会让我们感到沮丧,无法接受问题,无法坚持自己的骄傲。
务必理解,(可能)没有人对你或你的程序有任何私人恩怨。如果存在误解,请立即澄清。如果存在错误,请务必记录、修复并测试。这才是务实专业的软件工程师应该做的。
避免坚持自己的骄傲,甚至避免冒名顶替综合症的发作。

你的工作不仅是成为一名优秀的分析师、程序员和技术人员,更要成为一名优秀的专业人士
拥有优秀的软技能,可以帮助你在技术能力不足的时候获得更大的帮助。

9. 离开营地时,要保持干净

著名的童子军规则。这实际上适用于我们日常生活的方方面面,软件开发也不例外。
很多时候,我们需要扩展代码库的功能并添加新功能。我们设置好开发环境,从版本控制中拉取代码并打开项目,却只看到一堆TODO未使用的方法和变量、硬编码的数值和字符串值以及未使用的依赖项。

这时,我们就会坐下来思考,既然我们已经在这个项目上工作了,是否应该做一些清理工作。
但另一方面,我们不确定这样做是否会破坏更多的东西而不是修复更多的东西。如果我们要重命名的方法(用一个更好、更具描述性的名称)在代码的其他部分(甚至在其他项目中作为依赖项)中使用,该怎么办?
确定项目需要的重构级别并不容易,单元测试和集成测试总是有助于发现代码中存在问题的部分,方法作用域也是如此。

在我们确定任何客户端(调用此方法的代码)都会相应地更改之前,不应更改公共方法。受保护的方法应该更容易更改,我们只需要检查子类是否有明确的实现。私有方法通常是最容易的,因为它们的作用域有限。

除了方法重命名和重构之外,负责任的开发人员还可以做其他一些事情,例如删除注释掉或未使用的代码,或者删除未使用的文件。大多数专业的 IDE 都提供工具,可以让你了解某个方法是否被使用。
不要害怕删除注释掉或过时的代码。过时的代码只会增加项目的技术负担,并且可以通过从版本控制系统签出到较早的时间点来检索。

10. 不要害怕参与非编码的事情

软件工程师的典型工作是编写代码。无论是分析用户故事、撰写需求还是构建数据库,我们的最终目标都是编写出优秀、健壮的代码,从而高效地完成工作。
然而,完成非技术性任务并深入探索软技能的神奇世界也至关重要。
与经理、测试人员和客户沟通可能看起来令人畏惧且疲惫,但也可能非常有价值。

提升你的软技能,提高沟通和人际管理能力,绝对会让你成为更优秀的专业人士。你将能够更好地传达用户故事,甚至无需使用严格的技术语言(那种让人觉得我们是外星人的语言)就能解释技术细节。

此外,能够更好地与经理和客户沟通,还能帮助你在分析新用户故事或估算新功能完成时间时更加高效。你将能够更好地理解客户的需求,因为你能够提出更好的问题。 ;-)

不幸的是,有些人认为软技能并不那么重要。然而,几乎每位我与之交谈过的雇主都不这么认为。在这个工作角色瞬息万变的世界里,软技能将是少数几个不变的技能之一。

11. 成为文档狂人

如果没有正确记录,添加/删除插件和第三方库、在代码中做出假设、在设置或构建过程中添加额外步骤或使用特定版本的命令行工具,将来都可能带来巨大的麻烦。这条规则与第一部分
中描述的“始终为下一位开发人员着想”规则紧密相关。您应该确保您不是唯一能够设置开发项目或运行生产构建的开发人员。

其实,这有一个非常简单的规则。完成项目后,将代码库克隆到另一台机器上,并尝试仅按照 readme 文件中的说明进行设置。
这肯定会指出缺少的说明,然后你就能构建出强大、专业的文档。

12. 给自己时间放松和锻炼

当然,8小时的睡眠和(尤其是)每天锻炼对普通开发者来说并不常见。我们下班后往往会偷懒,看看电视剧,玩玩电子游戏。更别提提我提倡清洁饮食和避免垃圾食品了。
事实上,健康的饮食和坚持锻炼的习惯会对你的工作情绪和表现产生巨大的影响。

锻炼还能增加大脑的血流量,这有助于提高你的意识,让你更有准备地应对下一个重大项目。保持最佳的身体健康状态有助于提高你的整体工作能力。锻炼不仅有助于减轻体重和降低某些疾病的风险,还能改善心血管健康,让你更有耐力地完成日常工作。

当你运动时,你的大脑会释放血清素,它能让你感觉更好,改善你的精神状态,让你更容易应对工作压力。血清素是大脑中的一种神经递质,它向身体发送信息,刺激情绪和情感。

除了锻炼,睡个好觉也能让你第二天早上感觉更好。当生活变得忙碌,工作繁忙、作息不规律、学习和育儿责任加重时,睡眠往往是第一个被放弃的事情。所有这些看似正常但又越来越耗时的现实,往往会挤占健康睡眠所需的时间和内心的平静,而健康睡眠无疑能提升工作记忆力和整体表现。

在会议上表现得精神饱满,而不是像刚熬夜玩电子游戏的青少年一样,这肯定会让你在工作中表现得更好,并且在同事和客户中更有地位。

13. 学会摆脱个人情感

这与第八条规则“习惯自尊心受到伤害(好的方面)”紧密相关。然而,学会如何接受“开发者自尊心”受到伤害不仅仅是重要的。这条规则还关乎学习如何成为一名高效的专业人士,并避免在工作中因个人问题而烦恼。

接受这一点极其困难,但不断抱怨产品漏洞的客户并不讨厌你。审查你的代码并发现一些设计缺陷和技术债务问题需要改进的同事,并不会认为你是个坏人,也不会讨厌你,甚至想揍你一顿。
学会接受别人的意见(即使你个人并不认同),并做对工作和项目有益的事情。

当然,这并不意味着你应该贬低自己的个性,或者接受别人对你提出的任何质疑。你拥有不可否认的辩论权利,但要始终牢记,如何才能让辩论尽可能富有成效。你只是为了辩论而辩论,维护自己的自尊,还是你真的有可以改善局面、达成双赢平衡的建议……?

14. 提供有益的建议

初级开发人员和高级开发人员之间的一个巨大区别在于他们能否提供良好的建议并进行有益的代码审查。当被要求提供建议或进行代码审查时,不要只考虑自己的视角,而要着眼于全局和“共同利益”。

就像一位优秀的超级英雄一样,一位优秀的软件工程师在提供建议时应该直截了当、极其诚实(当然,不能粗鲁)。你发现有什么需要重构的地方吗?别犹豫,说出来吧。你被要求提供专业意见,你也会提供专业的建议!

这里最关键的部分是,每次你准备给出建议或指出缺陷或错误时,都要问自己一个小小的内心问题:
“我还需要提出更好的建议吗?”
没有任何改进建议的建议,哪怕只是稍微改进一下,也和抱怨没什么两样。确保你有一些有益的内容可以为富有成效的对话增添内容,并始终牢记全局。

作为一名高级软件工程师,你不仅要关注自身的发展,更要关注他人的进步。不要只顾自己,而要为他人提供有益的指导。你将从中受益匪浅,因为你将负责整个专业团队的成长。

结论

养成良好的个人和职业习惯是成为高效专业人士的必经之路。职业发展并非一朝一夕之功,需要时间,尤其是坚持不懈。你现在的任务是尽可能将这些习惯运用到日常生活中,开启向真正职场人士的转变!

请在下面留下您对这些习惯的评论!:-)

这篇文章发表在我的个人博客上。

文章来源:https://dev.to/pavlosisaris/the-14-habits-of-highly-efficient-developers-part-2-2io0
PREV
30 年软件工程师职业生涯的 30 条建议
NEXT
极简主义可以帮助你编写干净代码的 6 种方式简介一些资源