软件工程师生产力:工作流程

2025-05-25

软件工程师生产力:工作流程

多年来,我成功地将每天的编码时间从 8 小时缩短到 5 小时,并通过以下技巧保持了高效的工作效率。当然,我无法横向扩展,如果我工作更多,就无法交付更高质量的代码。

本文最初发表在我的博客上:https://coder.today/6-workflow-tips-for-a-software-engineer-productivity-ba35d9f7e267

生产力技巧是一系列面向编程人员的通用文章。这些技巧适用于任何环境、框架、语言或平台。

这个故事属于多流系列:

  1. 生产力:编码——具体的编码技巧和工具

  2. 生产力:工作流程——本文

每小时刹车🦋

如果您是吸烟者,请跳过此步骤,因为您可能已经在吸烟了。

每小时几分钟的休息(散步)对我的健康有益,也提高了我的工作效率。如果办公室有休息区,有游戏或其他互动设施,就去那里,或者在办公室里走走。我就是个坏榜样🚭,我是办公室里最大的“被动吸烟者”,因为我经常在吸烟区休息。

如果您正在应用番茄工作法🍎,那么您已经做得很好了,只是我的计时器是 50 分钟而不是 20 分钟,至少对于我当前的工作流程而言是这样。

“你能拥有的最好的编程技能之一就是知道什么时候该离开一会儿。”——奥斯卡·戈德森

开发人员输入了很多内容,但是,我们需要多思考,少编写代码。

“The Zone” 是一种危险的瘾

每小时休息一次还有另一个好处,那就是它能让我们避免加班加点地“沉浸其中”,这很可能会损害代码。当你深入问题内部时,很难发现问题的根源。

我认为“区域”就是我们的自然环境。你会发现开发人员最常在那里写#happycode。

有一个门槛🚸,你可能会“过度”关注问题/代码,结果你会在“真空”或“泡沫”中编码。当你走出泡沫时,你会意识到你忘记了一些东西,因为你的注意力集中在一个非常小的范围内

  • “我忘了 X 模块中有这个功能,我刚刚写了一个新的”

  • “我忘了我应该和 X 谈谈这个任务”(边缘情况或实施细节)

  • “我跳过了单元测试,我明天再做,它们拖慢了我的速度”

  • “我使用了一些 X 平台不支持的东西,我忘了”

基本上,当您匆忙、时间紧迫或不注意时,您很容易犯下所有通常出现的错误。

大多数时候,“区域”会给我们“生产力错觉”💨。

我百分之百肯定你会写更多代码,但代码质量如何呢?要真正了解代码是否更好,你必须衡量整个代码生产生命周期中,编写原始迭代所花费的时间 + 修复代码所花费的时间 + 调试代码所花费的时间 + 错误的影响。在“区域加班”模式下,你的第一次迭代很快(“快速完成”),但后期阶段的持续时间会大幅增加。

当开发人员将大脑当成一堆堆🗒去理解一段代码(通常是用来复现 bug 的烂代码)时,也会出现“区域超时”的情况。有很多方法可以缓解这种情况,其中之一就是:先重构代码,然后使用合适的调试器。

多年来,我发现“区域加班”对企业有利的几种情况如下:

  • 当整个项目都出现在你的脑海中时— — 更确切地说,当你是唯一的开发人员或者项目很小的时候。
  • 当您正在制作原型或库的第一个版本时。
  • 当您正在研究单一但复杂的算法时。

除了这些情况之外,我没有发现任何好的场景可以让开发人员花费超过 40-70 分钟的“时间”,而不会犯至少一个导致部分代码无效的错误。

PS:这只是一个概括,我相信肯定有例外。

分心

观察自己,回忆一下哪些因素导致了最多的干扰,或者寻找其中的规律。如果可以的话,尝试自己解决这些问题,或者在定期的团队回顾会议上讨论这些问题。

可能是服务器崩溃,可能是不停地查看社交媒体,也可能是咖啡机的噪音。干扰的形式多种多样。

说起来容易做起来难:不要登录社交网络📪。

如果您的同事继续打扰您,只需将其打印并粘贴到附近的墙上:

学会分离调试器——你的大脑😨

如果你在一个问题上卡了超过 5-15 分钟,那就赶紧逃吧。你就像身处迷宫,却浑然不知🤔。你会伤害到自己,甚至可能损害代码。浪费时间也会损害团队/产品/雇主的利益。

走开🏃🏿,多想或者根本不想,与他人交谈,分离调试器,然后稍后以更广阔的视角返回。

用你的大脑作为队列👩🏾‍💻

工作时如何处理传入的请求:

  1. 如果忙碌{将新任务添加到待办事项列表}

  2. 如果他们亲自联系您{建议他们下次使用聊天/电子邮件等异步通信系统}。

  3. 当前任务结束后重新考虑优先事项

为了使此方法有效,您需要将日常任务分成更小的部分,并每小时休息一次。

通知👋

良好的通知:可用于消除干扰,例如:您可以设置@mention 通知警报,而不必每 10 秒检查一次团队聊天。

不良通知:您收到了一份新闻通讯。

尽可能将通知静音。尽你所能节省更多时间。提示:智能手机有免打扰间隔,因此它们在夜间和工作时间会保持静音。

移动设备👩‍💻

移动办公,用笔记本电脑。当然,如果你已经在用笔记本电脑了,那就把这个删掉吧。

谢谢!🤝

请向我发送您的反馈,以便我改进以下帖子。

其他资源📚

未来编码的风险

惯用 Go 语言

“区域”到底是什么?

高效开发人员的 5 个秘诀是什么?

37 秒讲解番茄工作法如何提高工作效率🎥

文章来源:https://dev.to/bgadrian/software-engineer-productivity-workflow-5hce
PREV
为什么 React 组件需要以大写字母开头?
NEXT
7 个最佳 VS Code 扩展,助您加速开发 — 2024 年版