TL;DR
- 远程整好办公环境、提升好自制力、理好每日事项:绝对香
- 推荐尝试远程开发、远离 Docker For Mac
- 高效协作任重而道远
远程的一周
因为疫情的关系,我司终于让员工在家/远程办公了。盼着一天盼了老久了,不过这对有的人来说是折磨的。因为家里的环境可能并不适合办公,比如有小孩或者没有桌子或者没有显示器等等一个良好的环境来让自己专注。
我这周的感受就是一个字「爽」!没有通勤的时间(虽然我通勤时间也不长),没有堵车的顾虑,起床后的每一刻都是可控的。在保证规划事项完成后,可以自由的支配时间,甚至是在状态差的时候直接休息,状态好的时候持续工作(只要保证大时间片内完成工作即可)。
环境建议
远程干扰因素主要是三点
- 过于舒适的环境:比如在床上写代码。。这种坚决杜绝,沙发上啥的都可以,但尽可能让自己舒服些,因为还是会有一定时长的工作。
- 设备不齐全:平时熟悉的键盘、显示器都没有,设备的话建议平时常备 😂。虽然设备对工作效率的提升非常大,不合适的设备长期下来可能损耗眼睛、颈椎等等。
- 家人因素:尽可能让自己独处,并且跟家人沟通好「远程不代表随时可以干家务,需要有专注的时间」。可能有的人远程的时候,家人就是不是过来聊几句,问一问啥的,这其实挺干扰的(虽然是善意)。
我的办公环境虽然是在房间,但会有比较正经的桌子,平时玩游戏的电脑拿来扛开发。
对我来说远程是会有更好的设备,更好的环境,更自由的时间支配。在团队协作流程合适的情况下,远程丝毫不受影响,比如我们团队。平时聚焦使用 Linear 作为 issue 分发、稳定需求跟踪、上下文沟通和实时的互相了解进度, 代码协作等不赘述。平时团队没有过多的面对面语言沟通(即使就坐在一起)一切以工具为主,除非特殊情况不然都是优先以效率为先,不打扰为原则。一个很常见的协作方式,主要还是方式差异,有的人会比较喜欢当面、线下,所以远程的方式对他们来说是痛苦的。
本周现状
在公司的时候可能同事会直接跑到你的面前,或者会议比较频繁(因为线下会议发起成本低)所以可能常常会被打断,远程后的这周没有那么多中断了。可能是因为题描述的成本搞了、可能是大家真加专注更容易自行解决问题(也可能是效率低了没问题或者真的问题解决了 🤔 哈哈哈)。 平时公司午休是 12:00 到 1:30,时间上不太符合自己的休息习惯(睡久一点或者不睡),远程后我可以早上撸码到下午一两点,然后吃个饭睡个一小时再起来继续倒腾。理想中的远程不在于什么时间上班,什么时间下班,更在意的是协作和结果:主要在整体时间线上可控完成,那么半夜工作也没问题(抛开会议的因素)。 从实际干活的结果来说,也会比之前更稳、更加多一些输出。要不是疫情,我甚至还想跑别的城市边玩边远程(然而也是因为疫情才有得远程)。
这种情况下,我肯定是希望能够长期远程 😝
本周的一些倒腾和思考
远程开发
由于公司发的 Mac 开发的时候越来约卡,这周索性倒腾了远程机器结合 VS Code 开发起来了,整体感觉非常非常的好。而且平时会开发些许依赖 Linux 运行时的东西,所以这次直接切过去。完美解决了性能和环境问题,顺带可以删掉老弹窗还一堆坑的 Docker For Mac。这周可谓是「人在家里、代码在云端、代码在公司」
远程开发建议:
- 机器安全好好整!!!⚠️
- 慎重操作远程机上的网络设置,尽可能留后手和自动回滚机制
- 代码和其他文件建议多备份,一份自己的电脑、一份代码仓库、一份云存储(比如 BackBlaze):数据无价,该花就花
- 做好准备随时切回本地开发:有一个神奇的东西可以推荐用在这个场景就是 NixOS 借用他的配置即环境的能力可以很快的在任何一台机器上搭起一样的环境(他还有很多牛逼的特性,有兴趣可以自行挖挖)。
远程机上高性能和高速网络可以让整个开发的效率提升一大截!!!
BTW 如果你的开发小鸡及在 RYZEN 5950X 和 AMD EPYC 7282 之间选择,请选后者,因为即使在超售较重的情况下,后者的多线程优势也会挽救低的主频上的缺口。
沟通效率
非紧急的沟通可以考虑走 IM 之外的渠道,如 GTD 工具、邮件等。紧急的如果三两句可以说完,可以考虑 IM 或者电话安排。对于技术支持,强烈建议构建一个这样的系统:方便上报问题(携带优先级)、自动分发(轮值)到团队内人员、对于完成的支持做一定的整理并尽可能提供下次复用(标签、FAQ 等等)、有一定统计分析的功能(分析不足和整体情况)。 但其实很多问题都不是特别必要发出,可能自己主动搜下内网或者再仔细看下可能就解决了。