code review WTF

和同事吵了几次,Leader 就找我谈话了。开门见山问我知不知道自己的问题在哪里,我当然知道,说好听点叫“完美主义”,难听点就是固执、刻薄、吹毛求疵。我看不惯 un-professional 和各种 trick 导致的 dirty work,对于我看不惯的事情我喜欢指手画脚或者直接批评。这很容易触及对方的逆反心理和消极情绪,最终结果就是不欢而散。比如我质疑某个模块的实现,回应“底层是我负责,你不要管,你按照接口用就是了”,而我深知里面有我不愿看到的东西,这让我很反感。没有 code review 就是这样子。我几乎把 程序员漫画 里的吐槽场景都经历了一遍。

条件反射

有时候我知道自己是对的,但怎样去说服对方?这和产品经理想要说服开发是一个道理,人们的回答是产品也应该懂技术,站在开发的角度用技术的思维来看为什么这样做更好。只是开发和开发之间的沟通竟然也有很多问题。我经常反思,最后发现最大的问题是我喜欢把自己的作风强加于别人身上。有些事情很难说对和错,一定程度上就是 trade-off 的解决。我们怎样学会如何妥协呢?

余果 曾经分享过大前研一《专业主义》中的观点,我深感赞同,在此摘录如下——

  1. “顾客”至上。这里的顾客不仅仅指购买产品的客人,准确地说应该指你所服务的对象,比如上司。对于我们前端开发,顾客就还包括“产品经理”,我还在做对CP(外包公司)接口的工具,那么CP就是我的顾客。
  2. 关于授权。如果完成一个任务需要的能力是100,下属的能力是X,那么你需要非常清楚100-X就是自己的工作,而帮下属提升到100的程度也是自己的工作。
  3. 灵活应变。普通的专业技能者就是指能按照规定完成某个操作。而专家是指在还没有规定的时候知道如何操作的人,把专家放到另一个不熟悉的环境中也能很快适应并且解决问题。简单地说,专家是“有办法的人”。

很多时候人们都忘记站在对方角度去思考,“如果我是 API 的使用者,我会希望有哪些参数获取那些结果?”其实我也有这个毛病,即使我是对的,也往往给人强词夺理的印象。如果站在对方的角度思考,或许会想到说服对方的论点。

预期 确实是一件耐人寻味的事物。就像 Sroan 给我讲过股票预期的那个例子——

比如下个月今天中国要发射登航天飞机登月了,航天股票立马飞起来。但是等到真正登月那天,立马都跌停了。当好消息被核实了,股价是下跌的。

这叫见光死。意思就是说仅仅满足 贪婪的 华尔街的预期是不够的,你必须要不断超出人们对你的预期。上司对你有预期,同事对你也有预期。比如说,现在同事遇到点棘手的问题,如果你是上面所说的“专家”,他便会想起了你。因为他知道你什么都能解决,一定能帮上忙,即使问题的领域是你不熟悉的,你也会搞定。

问题是你无法拒绝。如果你偶尔完成不了,你的表现就未能满足预期,你个人的声望也将受损。怎么办?

我鄙视把自己的失败主要归咎于外部环境。我认为主观的想法才是自己前进的动力,而环境可以改变。我只是把别人用来打游戏的时间都用来获取业界信息,持续学习。IT 这个领域日新月异,今天大家认为很酷的技术明天可能就被抛弃。看看吧,微软已经迟暮,连 Google 都已经 not cool anymore(我收回这句话是因为 Google 眼镜、自动驾驶汽车等项目的继续出现,这便勾起了人们对 Google 新的更高预期),大量员工跳槽去了 Facebook。这还是发生在 2 年前,而现在 Facebook 已经上市,这对于一些年轻人来说也就失去了吸引力,相对于加入 Facebook 来说他们更热衷于去创造下一个 Facebook。

想要比别人懂的更多,那就要拥有强烈的上进心,并且对新鲜的事物保持求知欲,有什么能阻止自己主动去了解和学习它的渴望?积极的态度有着辐射效应,也将增加他人对自己的认同。

最近在读《黑客与画家》,不得不说阮一峰的翻译传神,黑客精神的诠释十分到位。为了解决问题而打破常规,追求极致,就像人们评价乔布斯那样:“那些认为自己能改变世界的疯子,才改变了世界。”书中关于自由主义的论述、以及第六章“如何创造财富”的价值观亦令我深为认同。偶然看到 Fenng 在知乎上对冯华君的 评价,我觉得很适合作为本文的结尾。我们都会犯错,但是这是一个我们可能去努力达到的生活态度。

华君身上有我所定义的「靠谱的年轻人」的那些特征:年轻,真诚,执着,对工作有热情,做事认真,喜欢那些美好有趣的事物。 人们怀念他,因为他给这个社会增加了一些美好的东西。 不虚此生。