![](https://img.haomeiwen.com/i12541355/9550c678d4e26a30.png)
加班 = 为您的雇主免费工作。
作为开发人员,您应该设定界限。不要让你的工作影响到你的个人生活。花在加班上的时间是你无法收回的生命能量。
长期以来,我一直认为开发人员不应该延长工作周。一直工作到很晚根本不值得。
但是最近,我收到了一位读者的提问:
“不要加班是一般意义上的好建议。但是,对于特定项目或部署,我可以从夜间/周末工作中学到一些东西的具体情况呢?”
当你可能工作到很晚
我不得不承认,有时候加班是有道理的。在某些情况下,如果你不这样做,你会危及你的工作和人际关系!
- 发生严重性生产事故,您是值班工程师。或者事件需要全体人员齐心协力。
- 您的团队正计划在深夜发布敏感更改。您想在那里支持您的队友并了解这些变化。
- 你在一家跨国公司工作,如果你在一个奇怪的时间参加会议,你就有机会结识不同时区的新同事。
对于这些情况中的每一个,熬夜可能是有意义的。
好的公司会确保这些事件很少发生。他们也不会要求你为这些活动加班。相反,您通常会获得补休,以弥补您在夜间/周末工作的时间。
不幸的是,在你的职业生涯中,还有很多时候你会被要求或被诱惑熬夜。并非所有情况都清楚/显而易见您应该做什么——加班或坚持工作与生活之间的界限。
相关漫画
Alpha Software 最近谈到了这一点:
![](https://img.haomeiwen.com/i12541355/3fcafeb37d041da8.png)
对于经常加班、每周工作 60 小时的开发者来说,这部漫画可能会大受欢迎。
加班是您无偿工作的时间。
所以,我建议不要经常加班。您决定加班应该很少见。
决策题
在考虑熬夜时,以下是我脑海中浮现的一些问题:
- 这个要求合理吗?这些任务是否紧迫、重要且定义明确?我通常不会因为开放式或不重要的任务而迟到。他们可以再等一天。一般来说,我也尽量保护我的团队免受这些类型的请求,当其他团队让事情看起来很紧急时,我会拒绝。
- 我的专业知识会对这个项目的结果产生影响吗?如果我对系统有独到的了解,那么我会尽量让自己有空。这伴随着成为一个好队友以及在压力大的时候让你的团队回来。
- 我能从这个项目中学到什么吗?假设我的参与是可选的并且工作需要完成,我想确保我将时间投入到有助于我成长的事情上。
- 我会通过项目工作建立或改善关系吗?参与的另一个潜在原因是您是否会遇到新同事或改善与其他团队/利益相关者的关系。
决策公式
每种情况都略有不同,但我认为每个延迟工作的决定都是一个布尔案例:
# pseudocode for how I think about this decision
def should_i_stay_late(task) -> bool:
"""Decide whether to stay late working on a task"""
urgent = calculate_urgent(task)
important = calculate_important(task)
defined = calculate_clearly_defined(task)
if not urgent or not important or not defined:
reschedule_task_for_another_day(task)
return False
expertise = calculate_my_expertise(task)
learn = calculate_my_learning(task)
relationships = calculate_my_relationships(task)
total_score = important + expertise + learn + relationships
if total_score > STAY_LATE_THRESHOLD:
return True
return False
基本上,它必须是紧急的、重要的和明确定义的。然后,它也应该是一个专业知识、学习或建立关系的领域。
如果是这样,我会迟到。但正如您所想象的,大多数请求都不符合该标准。通常,我在工作日结束时就完成了工作。
一个反例
大多数时候,我会在下午 5 点之前完成工作。
但我之前在博客上写过关于事实并非如此的时候。
这是一个:为什么我昨晚 9 点还在编码。
只是想分享争论的双方并表明这个决定可能会失败。没有绝对的规则可以帮助您做出留下或离开的选择。
这始终是一个判断调用。
每日清单
喜欢你在这里读到的吗?我每天早上为 2,000 名软件开发人员写一些新东西。
如果你喜欢我的文章,点赞,关注,转发!
网友评论