雖然這個項目本身談不上成功,但對於我個人來說,是個難得的學習過程,技術能力和技巧都擴展、增強了很多,成為一個相對全麵的產品工程師。
2007年4月剛加入Facebook時,我先是和後來負責新兵訓練營的工程總監安德魯·博斯沃斯(編者注:參見新兵訓練營有關章節)及後來成為Facebook首席產品官(Chief Product Officer,簡稱CPO)的克裏斯·考克斯(Chris Cox)合作,做了一個關於動態消息(News Feed)的小項目 。這個項目做了三個月,中間還幫著F8大會的演示做了一周的緊急開發(編者注:相關情況可參考有關紮克伯格的章節)。之後,跟另外幾個人組成一個團隊,開發社交廣告相關係統,把所有用戶在Facebook上麵的行為全都搜集起來,放到數據庫裏,再進行整合、分析,盡量使用戶看到的廣告跟你朋友之間的行為有關係,不會顯得那麼突兀。比如,通過分析你朋友的喜好,知道他喜歡某產品。那在向你做這個產品的同時,會顯示“你朋友××也喜歡這個產品”。這是Facebook在用戶規模逐漸擴大後想做的一種商業化嚐試,是個比較大的項目,我在這個組裏做了六個多月的時間。
之後,我回國休了一段時間的假,再上班就換了組。當時公司要建一個開發動態消息係統的組,而之前一直負責這個項目的負責人有點不好溝通,很多跟他合作過的人都表示不願意繼續合作,而他又是做動態消息最資深的。如果他繼續做這個項目,那麼新建的這個組的經理職位可能要由他來擔當,他本人也一直很想做經理。我之前的老板跟我說,和很多人交流過,隻有我一個人說可以和他合作。老板就做了這樣一個安排:由一名資深工程師(但是沒做過動態消息)來擔任這個組的經理,而原來那個想做經理的人被調到另外一個組去了。但是動態消息這個新建的組仍然需要之前的那些知識積累,在一段時間內還得跟他打交道,誰來做中間溝通的橋梁呢?老板就把我放到動態消息組裏,承擔這麼一個角色。
進了動態消息組後,一開始我很想做後台係統,那是整個Facebook裏最有挑戰性的幾個後台係統之一,非常重要,是公司最為核心的資產之一。當時有兩個人在做那套係統,已經做出了後台係統的第一個版本,不需要再加人,可是我隻想做有意義的、有挑戰性的、對於公司來說非常有影響力的項目,其他的我興趣不大。結果老板“忽悠”我去做了這麼一套項目,就是把用戶在其他很多網站上(像Twitter、Youtube、Flickr、Google Reader之類的)的更新搜集起來,在用戶自願的情況下導入Facebook,他說這可能成為我們的重點方向之一,因為當時Facebook還沒有像現在這樣占據主導地位,用戶在其他網站的行為也很頻繁,非常有必要把用戶在Facebook之外的活動數據引導進來。有幾種方式可以選擇:一種是用戶在Facebook提供他的登錄用戶名,我們把數據導進來;一種是其他網站可以使用Facebook的API,主動地把用戶行為推到Facebook係統裏麵來,後來這種方式(Facebook Connect)成為主流,但當時那些API都還不成熟。