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 在知乎上對馮華君的 評價,我覺得很適合作為本文的結尾。我們都會犯錯,但是這是一個我們可能去努力達到的生活態度。

華君身上有我所定義的「靠譜的年輕人」的那些特徵:年輕,真誠,執着,對工作有熱情,做事認真,喜歡那些美好有趣的事物。 人們懷念他,因為他給這個社會增加了一些美好的東西。 不虛此生。