在 Google 的一天
工作过的朋友都知道,实际写代码的时间其实并不多,有很大一部分工作的时间都用在了处理邮件、开会议、编写设计文档、与产品经理 battle 等等,甚至摸鱼。
今天看到一位谷歌工程师分享了他的工作日常,介绍了他是如何高效率工作的。
他给自己定了个规矩:不在工作时间内浏览与工作无关的网站,目的是下班前结束自己的工作。这个规矩很真实,有时候我们忙完一个小事情后,总会想摸一会鱼,看看无关的网站、聊聊天之类的,结果时间瞬间就过去了,导致自己得加班处理掉今天的工作。
以下的「我」为原作者(Dimitris Leventeas,谷歌工程师)。
我的工作
我有一个文档,专门记录待完成的任务列表,因为我害怕自己记不住。
每当完成一个任务,就从文档的列表中划去。此外,这个文档还保存了团队与组织的目标链接。
这个文档非常方便,因为其中记录了许多零零碎碎的信息:
各种链接:指向各种文档、相关代码片段、代码位置以及 bug。 记录与其他人的讨论事宜。 结束一天的工作后记录自己的心情。 计划第二天早上的工作。
如果这个笔记超过 10 行左右,我就会认真考虑完善它们并将其添加到 bug 中,或者编写设计文档。
有时,我也会将重要的细节添加到代码审查请求的描述中。目前这个文档大约只有 3 页,但其实我已经使用了很长一段时间。
我的工作时间以及内容
我把一天分成两部分:午前和午后。
早上的工作重点是保证产出。在早上的工作时间里,我一般会排除一切干扰,不看电子邮件、不聊天、不开会,但代码审查和优先级较高的 bug 除外。
我喜欢利用早上的时间专心思考更具战略性和挑战性的问题;为实现本季度的 OKR 目标而努力;帮助其他人排除困难;解决一些重要问题的根本原因;思考系统设计方面的问题。
除了各种沟通工作之外,我会将早上 80%~90% 的时间都集中在产出上。
午饭后,我会阅读并回复各种联络信息(电子邮件、聊天、非关键性 bug 等)。此外,我还会参加各种会议来调整自己的工作、了解新情况、寻求帮助或提供帮助等等。
在这些任务中,我会设法完成自己应承担的那部分工作,比如完成一些编程任务、完成一些文档。
我还会根据各种收集到的信息更新自己的笔记,我不希望利用第二天早上宝贵的时间通过聊天、电子邮件等渠道沟通工作。
在结束一天的工作后,我会更新自己的笔记,记录下未完成的任务以及第二天应该完成的工作。通常只需几句话就够了。
电子邮件
我每天都会收到几百封电子邮件。不是因为我身居要职,而是因为很多工作需要借助异步通信。
我会使用很多过滤器整理邮件,大多数邮件列表都有相应的过滤器和标签。
我会将标签隐藏起来,除非其中包含一些消息。我还会通过过滤器和标签标记出哪些是直接发给我的邮件,哪些是发给我的经理、管理和项目经理的电子邮件。
此外,我还会过滤掉大多数自动化工具发来的电子邮件,因为我几乎从来不看这些邮件,也不需要给它们添加特殊的标签。例如,我几乎从来不看代码审查的电子邮件。
我有一个插件,可以在收到代码审查请求或有人针对我的代码给出评论时发通知给我,还有一个自定义的仪表板,供我快速查看小组成员的工作。
在浏览电子邮件的标题时,我设置的分组标签可以帮助我快速了解某个电子邮件的重要性以及相关背景。
我会尽量在当天回复发送给我的电子邮件,而且我会在一周内阅读所有电子邮件,并将它们标记为已读。
会议
我现居欧洲,大多数同事都在欧洲或美国。
因此,大家共同的办公时间通常是下午或傍晚。对于我来说,所有会议都可以集中在这段时间内。
与美国东海岸的同事协调时间一般都不成问题,但对于西海岸的同事,难度就更大了。
我的同事主要在加利福尼亚,因此我尽量将这些会议限制在每周一次,因为我们之间有 9 个小时的时差,他们上班的时间对我来说太晚了。
聊天
通常我会通过聊天的方式进行一些非正式的快速交流。每天我会花费 10~15 分钟聊天,一般只在下午或傍晚。
不在工作时间内浏览与工作无关的网站
从八年前,投入全职工作开始,我就给自己定了一个规矩:不在工作时间内浏览与工作无关的网站。目的是在下班前结束自己的工作。
我的特殊情况
我是一名 Google 的高级软件工程师,现居瑞士苏黎士。
本文介绍的工作习惯都是基于我个人的实际情况,可能有些人的习惯与我略有不同。
相信有很多人能够找到更好、更高效的工作方式。
我个人坚持这种工作习惯已经大约两三年了,我认为将一天的工作分为午前和午后两部分,有助于提高工作效率。
原文链接:https://dimle.wordpress.com/2022/04/24/my-typical-working-day-as-software-engineer/
本文为 CSDN 翻译,本号已获授权转载(未经允许,禁止转载)