高强度工作下的自我时间管理
2019-04-23 / modified at 2024-09-15 / 2.6k words / 8 mins

近日996非常火爆,本文介绍一下如何在高强度加班下管理出空余时间。

  • 本文读者:普通开发者与初级技术管理者,不适用于高级管理者。
  • 本文目标:提高自己高质量空余时间与利用效率。

根据一份统计报告显示,大部分国内IT类公司每周约工作52~66小时,折合每天约2~4小时的加班,意味着到家后基本上只能整理与洗睡了,高收入的IT工作尚且如此,这样

  • 身体是要完蛋的
  • 内需与人口是没有未来的

自控力模型

人与机器的重要区别,就是人可以进行创造性的工作(比如写作与阅读)。比如在IT行业,老板购买你的思考时间帮助公司创造业务价值,而你在下班后通过阅读学习提高自己的价值。

在工作学习中消耗的时间有两种,它们在工作的价值体现不同

  • 不用集中精力的轻松工作:比如写别人设计好的CURD,玩手机或者开务虚会摸鱼等。
  • 需要高度集中的创造工作:比如看专业书,跨过某个门槛,写设计方案,整改烂摊子等。

第二种是非常消耗精力的工作,需要专注思考,无法被打断,大脑需要满负荷工作,工作后是要充电的。我曾全天都精神高度集中修改代码,疲惫地八点下班回去倒头便睡,这个就是高度集中时间消耗带来的负反馈。

第二种时间在心理学术语中叫做“注意力/自控力”,网上有很多书籍,这里就不讲了

第二种部分工作经过训练,形成方法论后也可以转为第一种,比如我经常研究开源项目,写技术方案就可以快速借鉴实现,几分钟找到源码,不会从零开始设计。

总之,在时间资源中,我认为是"高度集中"的时间(以下简称自控时间)资源是有限的,宝贵的,不能让加班(特别是无效加班)把有限的资源给免费蹭完了。

提高自控时间

我们回到加班(overtime)这个话题,关于加班,我始终认为,加班是一般职员为无能管理者埋单的表现。普通员工如何避免埋单,需要站到管理者的视角进行思考。而唯一的办法就是“提高效率”。

首先上结论

1
2
3
4
5
个人进步与公司项目愿景是否一致(既能挣到钱,又能共同进步,还有成就感)?
a. 一致: 在项目中学习进步,使用最新技术方案,高标准要求自己,提高项目生产力
b. 不一致:
-> 1. 与管理者合作改进 -> 降低非核心耗时
-> 2. 进行收入预期谈判 -> 承诺期货 -> 对预期满意(加班)/不满意(按时走/消耗非自控时间/换工作)

任何情况下,都不要闷着不说,这样无法解决任何问题。

与管理者共同改进

为了避免无效加班,需要尽可能降低加班消耗源头,也就是要与管理者合作降低瓶颈。本文所讲的并不是说要让普通员工与管理者对抗起来,而是共同改进,降低大公司病。

  • 重复劳动:通过自动化与外包解决,只要部门有钱就招人/买机器,这种活全部包出去。转嫁也是一种手段。
  • 无效会议:白天开会,晚上加班,这个是大公司病。在项目组内部,我希望能够参与到会议的主持,把握会议方向,避免走偏;在扯皮会议中(拉上你共同担责),你只用听着就行了,反正后面也有会议纪要。
  • 决策失误:管理者可能由于不了解细节导致低估项目耗时。你作为开发人员,一定不能因为有邮件证据就各扫门前雪,而是要把手伸长点,要明确强调风险并完善决策。
  • 各投入50%:上游为你分配两个项目,并各投入50%。由于编码设计工作是精神高度集中的,切换上下文(Context)是很痛苦的事情,因此需要你据理力争,将两个任务分别排期到具体日期,而非混合进行。否则50%+50%可能要变成160%。

这几点是常见的管理者失误场景,开发者遇到问题不要抗拒,而是共同改进。

解决特色问题

说了合作改进的,再说下(国内的)特色问题,这里需要共同讨论出合理的时薪(比较主观,仅供参考)

  • 与"主动承担"的区别:我以前文章说的"主动承担"是自己因为热爱项目的愿景而为团队进行的主动工作或改进,是提高项目杠杆率的工作内容,而非本部分的强制劳动,这一点需要区分。

  • 强制或者暗示加班文化:对于这种文化,我个人只有刚工作时有过体验,后来就不这么搞了(重复工作量转给了外包),不要给自己设置罪恶感。如果有领导找你"谈话",你可以一起算明账;也可以沉默(习得性失助),把加班时间消耗在【非自控时间】上;或者走人。

  • 过多的工作任务:通过无穷的任务压着你加班,这种你要叫出来,让领导给你加人,而不是生闷气不吱声。

  • 鸡汤类:很多(国内的)管理者喜欢用"领导很重视",用"奋斗",“感恩”,"不会亏待"来进行鸡汤,但是这些的确太老套了,工资就是价值的体现,把加班折算为奖金,并问什么时候兑现就行了。

注意这里所有的重心讨论始终都不是免费义务加班的问题,而是期货谈判问题。正所谓屁股决定脑袋,由于我个人愿意抽出时间去思考,所以我不太愿意为了多一个月的钱而加班,但是如果用10倍的钱砸我可能就改变想法了;有的原生家庭生了三个娃,挤在80平房中还要生,肯定要拼命996养家;有的人年轻打满鸡血,缺思路,一言不合就通宵,这种也不要跟着搞,长期身体会扛不住。

估算空闲时间

本方案是低语境的,基于时间表的方案,一次只干一件事。最好能分配到2小时以上。

估算时间指对一周的空闲时间进行规划,精确到小时。假设你在某个中型互联网公司工作,并每周加班两次到9点,剩下三天可以准点下班(应该已经在国内不错了),那么我建议的规划是这样的

  • 充实的三天【19~23】:由于是大段时间,可以用来做自控事情(比如学习,Blog等工作)
  • 加班的两天【21~23】:由于当前很累了,自控时间已经被消耗,因此只能用来做简单事情(比如家务,休闲与运动等)
  • 周末取决于个人爱好:我个人建议学习一天,出去逛一天(我个人周末效率不高)

这样算下来,一周能用的高效时间只有12小时(甚至还达不到,比如玩手机一不小心整个晚上就浪费了),这个时间如果还想加,只能少加班,早起或者使用低效时间了

还有一个方法是,回去先睡1小时,然后顺延到12点,这样休息后,避免上班盯一天代码后仍然看代码(是不是感觉和衡水高中一样?没错,大部分人都不聪明,跨过门槛就是要幸苦)

利用自控时间

使用项目软件跟踪任务

假设目前有12小时需要分配,这里我个人更推荐重型的项目管理软件,而非待办/日历软件(包括Notion),因为待办软件无法刷新(Comment)项目进展,也无法录入预估(ESTIMATE)时间,最后也很难有结构化的分析功能,导致难以量化跟踪(无法实现keep track of your progress)。

除了重型的Rally等软件,我个人目前试用的是Backlog(無料)或者AzureDevops,虽然免费版有一定限制,但是一般够用了。

先掌握指导思想,再通过方法论拆分与预估持续改进

掌握某个问题,一定要先POC学习的方法论(形而上问题),找到自己的本体论方法进行分解,而不是漫无目的地陷入海洋中随机地选中一个来搞。如果是新领域知识,掌握方法论又是很tough的,因此需要先掌握自己不知道什么。比如做技术选型,不要上来就看源码。

谨慎看待(国内的)知识快餐

网上有很多"XX星球”,快乐学习"的教程,但是实话实说,学习本来就不是轻松快乐的事情。这类随便就一百多,够你买很多专业的书籍了。我不建议在自控时间中阅读这种快餐。

总结

本文是在工作项目管理外,个人时间管理的方法,就看坚持了,再次强调下

  • 唯有时间对所有人是公平的,一定要提高工作中共同进步的比例
  • 预估时间是一项收益很强的方法,建议掌握,使用更专业的平台工具管理业余时间
  • 上文的拆分与实践流程是强迫自己做自己不擅长的事情,是非常枯燥的,类似于衡水模式,需要长期坚持