四、避免无谓的时间浪费
刚进Facebook做工程师的时候,我非常享受那种日夜泡在码海中的感觉。后来慢慢的承担的项目责任越来越大越来越多,写代码的时间越来越少(但绝大多数时候仍占大头)。有时候更多的是把时间花在决定产品的方向和设计上。很多事情是和产品经理设计人员一起搞的。但在Facebook攻城狮们有很大的发言权甚至有些时候是拍板的权力。Facebook希望攻城狮们有王者风范。Facebook希望攻城狮能决定自己要做什么应该做什么,而不是总是“被决定”做什么(一种流行的说法是,write your own job description)。
因此,我花了大量的时间在思考这些问题-哪些功能需要添加,哪些功能需要删掉,需要开始或停掉哪些测试,我们正在流血流汗的是不是现在最最最重要的问题,我们是该花时间优化用户交互流程呢,还是减少出错率,还是让系统更快,等等。这些问题很伤脑筋,答案经常不确定,比一个劲码到手抽筋要难。但这些问题很重要,甚至可能决定了你熬的日日夜夜究竟有没有必要。建议所有的攻城狮思考思考代码之外的这些问题,团队领导者就更有必要了。当然,攻城狮的大多数时间还是应该花在代码上。
那究竟哪些时间不应该被浪费呢?很多,但我只举两个我认为最重要的例子。
一是邮件。不是所有邮件都发而平等。有些邮件纯粹打酱油的。有些邮件是不需要马上处理的。我尝试使用过滤规则来踢掉打酱油的邮件,突出需要马上处理的重要邮件。对此,分享两点。
1.建立一个适合你的邮件过滤系统。我会对重要和紧急的邮件做即刻回复,而暂缓处理那些可以等到晚上再回复的邮件(尤其是发自我自己的团队,产品经理,兄弟连和顶头的不顶头的上司们的邮件)。但是,我要确保在我挣扎的爬到床上之前,把这些邮件全部处理掉,读的读,回的回。对于那些仅供参考的邮件,过滤系统会将其塞到某个固定的角落,我隔三差五去瞅瞅。此类邮件诸如某酒鬼询问NapaValley哪个酒窖比较正点等等。这些邮件通常比较有趣,挖的坑很大很深所以也很耗时间,我通常不跳或者不马上跳。
2.广而告之你的个人邮件处理策略。我让我身边的战友们知道我是如何处理邮件的,并把这个政策放到我所有的邮件末端。如是说-“正在尝试个人邮件处理策略-为了戒掉Email瘾,我将强迫自己每隔三小时或以上查看一次Email,急事请电话/短信/IM我”这么做更多的是让别人明白不要指望马上得到回应。其实我查email比每3小时要频繁,但至少不用马上逼得去回每个email了,我可以憋着悠着点。因为如果真的很急,我的iPhone应该已经响过了。而且,批量处理真的效率要高很多。不骗你。
二是会议。开会太容易变成一群人互相在扯对方的蛋。浪费时间而且开完后发现没有结论且很蛋疼。但开会对于teamwork很多时候是必要的。如何主持会议是门学问,这里不细谈。不过,你不可能也不需要参加每个邀请你的会议。当你认为你参加某会议于己于人都无太多价值的时候,建议你考虑不去。如果想要有礼貌一点,那就写个email问问主持人你是否可以缺席。通常当你想过这个问题决定发这样的邮件时,答案通常都会是yes。有些时候我也会很可耻的让我的产品经理替我去开会。当然,我会鼓励他也争取不要去。Only make the meetings you really have to.
同样,我要求我自己的团队在组织和参加会议的时候要慎重,也经常问他们想想看自己花在会议上的时间是不是多了。一个做法是把可能的会议都整合在一起。有一个例子。早些时候,我们会经常收到来自支持团队的比较随意的会面请求。这让攻城狮的一天被会议分割得支离破碎。写代码的都知道没有3-4个小时的连续时间是不容易高潮的。而且这种会议通常效率很低。于是,我们改变了做法,每周安排固定的答疑时间(officehour)和支持团队嗑想法然后followup。当然,紧急的问题另当别论应当马上处理。
有一个被经常忽略的原则-有意识地去思考哪些事情不应该做并且马上不做。例如,哪些是无谓的争论可以避免介入,哪些功能可以放弃,哪些关系不应该发展,哪些人应该开掉,等等。我经常问自己一个很简单的问题,我现在正在做的是否对我的目标很重要。如果你清楚自己正在做的和自己想要的,答案会明了。
相关资讯 [ 关键词: facebook ]