裁员时代的战术性工作指南
原始链接:https://www.seangoedecke.com/tactical-work-in-the-age-of-layoffs
在2010年代的黄金时期,科技公司非常看重员工的工作与生活平衡。但那些好日子已经过去了。如今,科技公司高管正在内部要求员工更拼、更快地工作,并拿裁员来施加压力。工程师们感到害怕是理所当然的。我们该怎么办?
有些工程师的应对方式很天真:保持原来的工作方式,只是单纯增加工作时间。我不想说这绝对是个错误,因为这确实有效------吃完晚饭再加几个小时班,你肯定能做完更多事。但缺点也显而易见:整天工作(尤其是写代码这种极其耗脑力的工作)会让人精疲力尽、压力山大。如果你在工作中一直处于疲惫和高压状态,就会犯愚蠢的错误,整体效率也会大打折扣。这种做法注定无法长久。
停止做无偿工作
更好的方法是更讲究战术地分配你的时间 。以我的经验来看,科技公司并不在乎你每周是不是工作80个小时,他们只在乎你的产出数量。更关键的是,他们只在乎能被他们看见的 那部分产出。关于这类工作具体是什么样,可以参考这篇文章。当面临压力时,你可以也应该停止在其他类型的工作上耗费时间。比如,你可以停止:
- 写测试代码
- 重构代码
- 主动帮其他团队干活(即在主管明确要求你做之前)
- 探索新技术、新功能和新想法
- 搞团队内部的流程建设
我得澄清一下,我知道这些都是非常有用的工作。但如果没钱拿,你还会自愿去做这些事吗? 如果你的老板本质上是在说"要么快点交付,要么被炒鱿鱼",那实际情况就等同于没钱拿。公司付钱是让你优先交付他们在乎的项目,只有当你在正常工作日还有空余时间时,才应该去做其他事。忽视这些隐性工作确实会有后果,但主要承担后果的是公司。
很多工程师会说,写出干净且经过充分测试的代码,或者尽力优化内部流程,对他们的职业认同感很重要。他们会觉得,在一个缺乏测试、代码混乱的项目里工作就是没意思。有道理!但你必须意识到,你其实是在无偿奉献自己的时间,仅仅是为了满足自己的职业认同感或在代码库中工作的乐趣。
那这是不是意味着你一点这类工作都不该做?并不是。对我个人来说,如果要长期在一个零测试的项目里工作,我也会很痛苦。我会愿意花点时间写少量的集成测试来跑通核心流程。但我不会主动去写大量单元测试,哪怕从长远来看这会让我更开心、效率更高。同样地,只有当重构是实现新功能的最快方法时,我才会去做重构。
清理企业代码库中的技术债务确实让我很有成就感,但这还没重要到让我愿意免费为它加班。
在关键项目上拼命,然后好好休息
项目与项目之间是不同的。科技公司只能同时关注少数几件事。这意味着对你的生产力评估也是不均衡的:有些几周你做多少事都不太重要,而另一些几周,你的一举一动都会被严格审视。
当焦点落在你身上时,你应该拼尽全力。这就像你在玩游戏时获得了一个短期的分数翻倍道具,你要在它失效前疯狂刷分。就我个人而言,有时候我会每天工作12个小时,但有时候我每天工作远不到8小时。
学会"少工作"和学会"多拼命"绝对一样关键。没有人能一直冲刺。如果你平时已经上了8小时的班,在遇到大项目时再把时间拉长到12小时,你极有可能会崩溃。
怎么判断一个项目是不是关键项目?科技公司通常会表现得很明显。如果给你分配任务时,你的跨级领导甚至更高层级的领导也在场,这就是个很明显的信号;如果这个项目在全公司的大会上被高层频繁提及,那也是个强烈的信号。
总结
- 如果公司施压让你交付更多东西,一个解决办法是在测试、重构和那些不显眼的"胶水"工作上少花时间。
- 在决定要不要做这些事之前,先问问自己愿不愿意免费干(因为占用下班时间做这些,本质上就是免费打工)。
- 当你是焦点时努力拼搏,在其他时间好好休息。
如果你喜欢这篇文章,欢迎订阅我的邮件更新,或者[把它分享到 Hacker News 上](news.ycombinator.com/submitlink?... to work in tech when your job isn't safe)。这里还有一篇同样标签的相关文章预览:
软件工程中的"不可替代价值"(Value over replacement)
评估一个工程师所提供价值的方式通常有两种。第一种是把你交付的所有代码及其带来的价值(比如赚了多少钱)加起来;第二种是去弄清楚你具体做了什么 是换成其他同级别工程师做不到的。换句话说,你可以看你表面的绝对价值 ,也可以看你的不可替代价值 。
继续阅读...