我通过艰难的方式学会了这些做法。
从我的经验中学习。始终如一地完成这 7 件事,您就会在团队中受到关注。
交付价值,为您的开发人员职业生涯打下坚实的基础。
顶级开发者有点奇怪
普通开发人员在相同方面也很普通。每个顶级开发人员都有自己的怪癖,这使他们与众不同。
您会注意到——与最优秀的人一起工作时——他们做事的方式不同。
与我共事过的最聪明的开发人员之一打开了一百万个窗口,并将他的待办事项列表保存在一个纯文本文件中。
另一个在命令行上执行所有操作。从不离开终端。优化每次按键,它看起来像魔术。
还有一个总是在后台打开 YouTube 或播客。他喜欢有人在他编码时说话。
他们的工作方式各不相同,但顶级开发人员有一些共同点……
1. 深入挖掘
我认识的最伟大的工程师都非常擅长深入了解一个特性。
我们为什么要建造这个?
为什么现在?
谁需要它?
他们将如何使用它?
这是我们可以构建的最简单的版本吗?
伟大的工程师认真对待产品所有权。他们想预先了解全貌。
他们向产品/设计团队提供反馈,以便提前做出决策,而不仅仅是在实施过程中。
结果是实施最终变得更加容易和更加集中。当工程师需要处理该功能时,动机和范围是明确定义的。
2. 尽早编写出色的测试
最好的工程师喜欢紧密的反馈回路。始终努力让您的代码尽快运行和测试。
我合作过的许多我最喜欢的工程师都在实践测试驱动开发。很多其他人没有。
但是,它们都有共同的测试。
使其能够运行和重新运行代码对于加快开发时间至关重要。学习编写出色的测试,同时学习如何编写可测试的代码。
它将为您的编码速度带来巨大的好处。
3. 优先排序
顶级开发人员对优先级无情。
在英语中,“priority”是一个单数词。这意味着一件最重要的事情。根据定义,您不能拥有多个优先级。
作为一名软件开发人员,尤其是高级软件开发人员,您将被要求同时为多项计划做出贡献。不同的利益相关者需要您对许多主题/想法的投入和关注。
我认识的最好的工程师都擅长选择他们的最高优先级。通常,他们会排除其他可能引起他们注意的“重要”事物。
作为开发人员,我们每天专注和关注的资源有限。了解如何明智地使用它们在最重要的艰巨项目上取得有意义的进展。
4.模块化
模块化意味着将一个大问题分解成更小的部分。通常,这些较小的部件可以重复使用。
优秀的开发人员在编码时会这样做。他们创建具有单一职责的函数和类。共享数据模型和代码重用是优秀编码员的标志。
但除了编码之外,顶级工程师还知道组织工作需要模块化。
例如,规划一项新功能。优秀的开发人员将帮助将功能分解为独立发生的更小任务。将更改范围缩小到增量工作。
在更高的层次上,团队流程、工具和组织也需要模块化。如何使工作流程可重复、可预测、自动化?
5.写得好
最好的开发人员是出色的沟通者。
写得好是作为开发人员成长的一项重要技能。随着您在团队中的资历增加,它变得更加重要。
我最喜欢与之共事的开发人员是那些能够清楚地传达复杂想法的开发人员。它很难。但它也是一种您可以练习、学习并变得更好的技能!
我认为每个开发人员都应该写编码日志,做好笔记,并发布博客。
这是我发展开发人员职业生涯的首要建议。
6. 告诉人们“不”
这个真的很难。
这也非常重要。作为顶级开发人员,您的时间非常宝贵。保护它。
你还会发现很多人都想占用你的时间和注意力。善于巧妙地说“不”是一项关键技能。
如果您还不了解这一点,请研究本文中的其他 6 点。当您作为团队的开发人员和领导者变得非常出色时,请重新审视这个。
你必须说,“不。” 否则,你会筋疲力尽。
7. 建立可观察性
这是一位经验丰富的顶级开发人员的明确指标。
可观察性和监控是大规模维护软件的关键部分。经验不足的开发人员经常忽视,老手知道洞察正在发生的事情是多么重要。
当出现问题时,您将需要日志、指标和报告,了解究竟是什么地方出了问题。
顶级开发人员在构建时会预先考虑监控和可观察性。
日常练习
将这 7 个习惯养成日常工作,您会在团队中受到关注。
它们是作为软件开发人员创造真正价值的基础。
说到日常练习……
我每天都为软件开发人员写一些新东西。
如果你喜欢我的文章,点赞,关注,转发!