(一)html
2011-12-08 [原文連接]前端
今天有同事恭喜我,我才知道本身在淘寶已經七週年了。不少人第一句話就是七年癢不癢,老實說,也曾經癢過,但每每都是一癢而過,又投入到水深火熱的工做中去。回家以後就想這七年我到底收穫了什麼,且不論成敗與否,這7年的經歷,是我人生的寶貴財富。web
第一年:面試
'正牌七公'曾經說過,要是寫一本淘寶的歷史書,必定不少人感興趣,其實我也很想寫寫這樣一本書。2004年12月8日入職的時候,我和'衲子如幻'一塊兒進來,迎接個人是駱冰和嶽旭強 ,駱冰是百阿的班主任,嶽旭強是個人師父。當時尚未百淘,先參加了百阿,百阿給我發了一本書叫《完美商店》,講的是eBay的故事,看的時候我就想何時我也寫一本淘寶的故事來。ajax
我進淘寶很是偶然,當時只是看到這個網站作的不錯,本身也不想繼續作對日外包的工做了,就過來面試了一把。進來的時候我被震撼到了,跟傳統的企業很是不同,處處都是生機勃勃的樣子。還有前臺的'香香的好朋友'笑的很親切,原來公司的前臺都冷冰冰的。'武當三豐'給我兩張筆試題,我估計作的很爛,可是竟然經過了。'財神'面試個人時候,問我爲何到這裏來,我說很欣賞這家企業發展這麼快,這麼快的企業裏面必定有不少高手,跟高手在一塊兒必定成長很快。我每說一句,他點頭「嗯哼」一下,以致於後來我跟老婆形容公司的CEO的時候,她只記得那個喜歡「嗯哼」的人。算法
來淘寶作的事情是Java開發,可是以前我只作過3個月的Java項目,連Eclipse都不熟(但我來以前惡補了一下快捷鍵的操做)。一開始作事是在嶽旭強的手把手的指導下作的,當時很是依賴旁邊的幾個老員工,多隆、正風、進寶、我行、不一樣、範禹、天川。作的事情也沒有一個成熟的流程,經常是你們在論壇看到有人叫須要什麼功能,咱們問問PD是否是須要作,而後就寫代碼,提交測試(給自在、郭芙、寶駒),而後就讓青青打包,讓劍英發布。還很清楚的記得作的第一個需求是,有賣家說不想把貨賣給一個「心」如下的買家、有賣家不想賣給某個省市的買家,因而就給賣家一個工具,他能夠限制某些買家不能買。因而我就在發佈商品的流程和生成訂單的流程中,找到合適的地方,加了幾個合適的參數,寫了幾段合適的代碼,就發佈上去了。可是這個功能一直沒敢啓用,估計是怕買家要叫。直到3年以後,08年要拆分denali的時候,這段代碼都在,但都沒有發揮做用。數據庫
作完第一個需求,感受好牛叉,本身寫的代碼在系統上運行了,一會兒有了信心。當時HR成立了百淘的項目,我先去百淘二期玩了幾天(原本要我參加一期的,但當時忙,延遲到了二期,胖胡斐是我百淘同窗,如今百淘已通過一百期了),回來就投入到一個更牛叉的項目——支付寶。 apache
支付寶一開始生存在淘寶系統上,但到04年末的時候老馬已經有眼光看到支付寶的將來了。當時請了Sun的一幫人在把淘寶的第一個PHP版本變成Java版,以後,就讓他們作獨立的支付寶系統了。我跟天川被從淘寶派出來作支付寶跟淘寶相關的業務,當時除了Sun的人,淘寶的人,也來了一位標誌性的人物fenng ,他是這個項目的DBA,記得他那時侯剛來杭州,家裏裝寬帶,運營商服務不周到,被他罵了很久。後來(2010年)他在微博上大戰中國電信,已經至關有經驗了。項目組裏面還有另外幾個我很是佩服的人,魯肅、苗人鳳,二人後來成了支付寶的首席系統架構師和業務架構師。就這麼跟着這樣一夥牛人,鼓搗了3個月,支付寶在五一節的時候上線了。還記得幾個DBA在作數據遷移時候的囧樣,數據結構已經面目全非了,正牌七公、 fenng、多隆、魯肅這幾個苦逼的傢伙愣是搞了3天3夜。咱們熬夜的時候還有杭州的賣家跑來看咱們,有一位是淘寶璧君 ,後來直接加入了淘寶。 緩存
當時是多麼一派熱火朝天的苦逼歲月啊,我三天三夜沒回家的時候,老婆還打電話過來問「你到底還愛不愛我了?」怎麼會不愛呢。性能優化
第一年進來是P1,如今已經沒有P1了,後來調整過,我當時進來應該是算P3的樣子,記得年末的時候三豐給了我4分的評價(超出指望),而後升級爲P4了,那是我成長最快的一段歲月。
(二)
2011-12-09 [原文連接]
第二年:
作完支付寶,公司給弄了碩大的慶祝儀式,帶咱們一幫人去了千島湖。玩的很爽,但我有有點不安,由於我跟這幫人混了3個月,實際上只作了3個功能,一個是建立支付寶交易的接口、一個是接收支付寶訂單狀態的接口、一個是綁定和解綁支付寶帳號的功能,而另外的牛人們,搞出了那麼巨大的一個系統,我處於深深的拜服中。半年以後,淘寶網的outing又去了千島湖,後來另外兩個項目的慶祝,也去了千島湖,到後面我都認得那邊的道路了。
從千島湖回來,真正苦逼的日子開始了,我很長一段時間都在作擦屁股的工做,擦的就是支付寶系統裏面的一些問題。因爲支付寶和淘寶是兩個獨立的系統,系統之間的通訊是一個大問題,而銀行跟支付寶也須要通訊,因而問題就常常出現:用戶在銀行付款了,未必能通知到支付寶,支付寶收到通知了,未必能通知到淘寶,因而用戶的錢沒了,淘寶的系統上卻顯示未付款,很讓人崩潰。我和魯肅嘗試了不少種辦法,一開始用MQ,但併發量上來以後老丟消息,消息的時間順序也會錯,後來他作了一個消息中間件系統,這個就是淘寶的notify的雛形,如今notify一天能發送幾個億的消息通知,能保證通知到、能保證不重複通知、能保證消息有次序,至關不容易。
三豐看我好像在支付寶作了不少事情,並且跟魯肅他們合做的這麼好,還覺得我水平大有長進,因而在維護着支付寶接口的同時,我開始了PM(項目經理)的生涯。聽說我是淘寶的第一個PM,這讓我很爽,我在作PM的過程當中跟SQA一塊兒整理出了《項目管理流程》、《PM工做手冊》、《系統設計模板》等等開創性的工做,有些東西沿用到了如今。但後來某一日有人提出敏捷的概念的時候,我又在反思,我是否是誤導了淘寶的項目開發模式不少年?後來想一想,反正當時你們都不懂,誰說的明白聽誰的。
個人PM生涯從2005年持續到2008年,這三年又大體分爲兩個階段,一個是「新手上路」階段,本身摸索着作了【商品詳情拆分】、【收藏夾改造】、【支付寶認證】幾個項目;另一個是「死去活來」階段,作了【個人淘寶ajax版】、【招財進寶】、【淘寶旅行】,爲何死去活來,由於後面這3個項目死了2個,活了1個。
【商品詳情拆分】是在2005年的時候開始作的,三豐說讓我當項目經理,我看到經理兩個字嚇的半死,但後來知道項目裏面就我和拖雷兩我的。要作的事情很是簡單,淘寶商品信息表一開始就是一張表,商品的全部信息都在這張表裏面,包括商品的詳情,用一個clob字段存儲的。你們應該知道商品的詳情是一個多麼恐怖的字段,聽說淘寶商品詳情頁面若是打印出來平均大概有5米長,當時沒這麼長,但也很恐怖了,跟其餘信息放在一塊,嚴重影響數據的讀寫性能。因而我新建一張表,存儲商品詳情,普通的商品查詢不會用到這張表,只在商品詳情(detail)頁面纔會用到,作完以後性能一會兒好了不少,我又驕傲了好久。再後來我知道商品的詳情已經不能存數據庫了,放到了文件系統上。
【收藏夾改造】是一個稍微再大點的系統,最先淘寶的收藏夾只能收藏商品,我跟萬劍、領軍幾我的把收藏夾改形成能收藏店鋪、能收藏搜索、能把收藏的內容分類處理,當時的UI設計多是承志(@SharkUI)作的,看他一個像素一個像素的扣,才發現他比咱們寫代碼的更苦逼。這個項目算是一個比較完整的項目過程了,我除了寫代碼,也作些計劃之類的東東,因此後來就開始寫項目管理的文檔了。
【支付寶認證】是淘寶的一個創新,淘寶在成立之初就要求賣家實名認證,最先的認證方式是讓用戶上傳身份證照片,咱們去鏈接公安系統的網站來覈對信息,覈對一個要交5塊錢,成本至關高。後來淺雪(@面我)過來當PD了,提出了一個新的認證方式:咱們認爲銀行裏面必定有用戶的身份信息,而支付寶又跟銀行有合做,那就能夠經過銀行的用戶信息來驗證身份了。因此支付寶認證的原理就是:用戶提交身份信息和銀行帳戶,咱們往這個帳戶裏面打錢,打進去以後用戶填寫收到了多少錢(咱們號稱打過去的是1塊錢之內的金額,實際上只有幾分錢),用戶填寫的跟咱們打出的是一致的,那這我的的身份就是對的。這不只下降了認證的成本,也使認證的效率由原來的一週左右變成一天之內便可完成。因爲我跟支付寶比較熟,又作過PM,就理所固然的作起了這個項目的PM。聽說這個項目後來申請了專利,這的確是一個很大的創新。
這三個項目我作的很順利,認爲本身已經能稱得上是項目經理了,但巨大的失敗在後面等着我,因爲後面那些想起來太傷心了,先寫到這裏吧。
(三)
2011-12-09 [原文連接]
第三年:
2005年年末的時候,我結婚了,跟老婆匆匆領了證就往公司跑,由於當時我負責了一個更大的項目,重構【個人淘寶】。因爲太匆忙,結婚證掉在了半路上,後來有人送到了民政局,結果一天去民政局領了兩次結婚證。
【個人淘寶】是給會員管理本身的商品、交易、收貨地址、評價、投訴的地方,這個地方因爲登陸以後才能看到,因此風格跟外面徹底不同,很長時間都沒有優化過,樣子醜,用戶操做也不方便,若是一我的有不少商品,上下架還須要一個一個的操做,很是麻煩。這時候一個重要人物登場了,承志(@SharkUI) ,他給咱們演示了最牛叉的前端交互技術,就是Gmail上那種ajax的交互方式,能夠拖動、能夠用右鍵、能夠組合鍵選擇、操做完畢不刷新頁面,管理商品若有神助。除了承志,還有個牛人加入了項目組,一燈(@喻策) ,這是他做爲PD的第一個項目。再拉上萬劍和一夥工程師咱們就開搞了,我給這個項目取名alps,就是阿爾卑斯山,淘寶的前臺項目叫denali,後臺叫mickley,都是名山,咱這個要更有名。項目的過程當中我把電腦桌面換成巍峨的阿爾卑斯山,加班的時候給兄弟們買阿爾卑斯糖,你們乾的熱火朝天。快要完成的時候,老馬不知道怎麼回事忽然出如今我身後,看我操做了一遍新版【個人淘寶】以後,問我這是否是客戶端軟件,我說是網頁,他抓狂了,說這跟客戶端軟件同樣,連接底下連線都木有,上下架用文件夾表示,我都不知道怎麼操做了,賣家確定也不會玩。被他這麼一說,咱們雖然不服,但也留了個心眼,因而作了一個beta版的發佈,在老的版本以外讓一部分用戶先體驗新的版本。
接下來淘寶曆史上第一個羣體性事件爆發了,試用完新版本的【個人淘寶】以後,不少賣家憤怒了,說不會玩,一燈就和承志一塊兒商量怎麼把頁面改得像個網頁一點,改了半個月,憤怒依然沒有平息,我很無奈地看着這兩我的在那裏堅持,而後跟老闆們商量怎麼辦。後來咱們用了一個很挫的方法給本身一個臺階,到論壇上讓你們投票要不要使用新版【個人淘寶】,投票結果是一半以上的反對。因而這麼十來我的作了3個月的系統被殺掉了。我當時只感受對不起這幫兄弟們,也對不起本身領的這3個月的薪水,走路都擡不起頭來。但這還不是最痛苦的,最痛苦的是咱們下線以後,另一撥賣家不滿了,說這麼好的功能怎麼沒有了?
雖然【個人淘寶ajax版】掛了,但老闆們也沒說我什麼,我本身坐臥不安的總結出了項目過程當中的幾大罪過,發給你們,警示後人,緩解一下心裏的歉意。到2006年五一的時候,另外一個劃時代的項目啓動了,就是【招財進寶】(我苦逼的連續失去了兩個五一節)。財神說要用最好的項目陣容,我被選中了,這一會兒讓我以爲我能劃分到最好的員工之類,原來正受傷的心又痊癒了。這是一個商品P4P的系統,就是按成交付費。咱們認爲已經有不少賣家有錢了,但淘寶上這麼多的商品,他們很難被找到,他們願意花錢讓商品排在前面。咱們容許賣家購買廣告位,把他的商品按必定算法給個排名(相似於百度的競價排名,但不只僅看他出了多少錢,還有信用、成交量、被收藏數量等等,這個算法搞的巨複雜)。這是一個多麼牛叉的盈利模式啊!在這個豪華的陣容裏面,喬峯(@王煜磊)是業務方,淺雪是PD,開發有黃裳、進寶、曉鋒、長空,測試有自在、非煙,UED是青桐和承志(@SharkUI),架構師是行癲,DBA是葉開。
在咱們開發的過程當中,喬峯大俠踢球斷了腿,因而他SOHO辦公,常常在網絡的另外一頭給咱們打氣。我當時第一次據說SOHO這個詞,只是別人so的是home,他so的是hospital。這個系統進行的很順利,但發佈的時候,更大的羣體性事件出來了,買家們質疑:大家不是承諾3年不收費麼?收廣告費不是收費麼?……後來巴拉巴拉不少事,因爲有內幕,此處省略500字,之後發到阿里味……而後,這個項目又悲劇了。項目下線的那一天,喬峯先哭了,財神說男子漢大丈夫要拿得起放得下,晚上去虛竹家請你們吃個飯,算是項目結項了。飯桌上他才喝了兩杯,就掛了,我看你們都吃不下去,也不敢多吃。結束的時候我和小寶送他回家,小寶力氣大,揹着他,我在旁邊撐着傘,路燈下霧濛濛的,小雨一直下。
有人說這個項目的失敗,讓中國電子商務的成熟延遲了N年,但那些背後的人,大家真的損人也沒有利己。
接連兩個項目都掛了,我反倒不怎麼悲傷了,已經被老闆悲傷完了,心態反倒輕鬆了許多,不少東西,不是你努力就能成功的,也許應了那句話,謀事在人成事在天。
這期間也作了不少平常性的需求,印象最深入的是胖胡斐有一次給我提了個需求,年末了要作個抽獎的系統,要求在抽獎人數能預估的狀況下,系統可以即時開獎,發獎數量要均勻分佈在一天的時間內,發出去的獎品不能超過預設的值,也不能有獎品沒發出。真會難爲人,我想了好久搞出一個算法,用隨機數來作抽獎的種子,數字在某一個區間的時候算中某一等的獎,每一個小時發幾個獎有限額,發完以後在這個小時內的數字即使在中獎區間也不算中,若是前面一個小時很快就有人中獎,減少後面一個小時的中獎區間。這個算法後來被應用到屢次抽獎活動中。
好吧,心碎的第三年就這麼過去了,那時候已是P5了。
(四)
2011-12-12 [原文連接]
第四年:
在【招財進寶】項目中有一個技術的細節值得拿出來講說,淘寶商品詳情頁面天天的流量在10億以上,裏面的內容都是放在緩存裏的,作【招財進寶】的時候,咱們要給賣家顯示他的商品被瀏覽的次數,這個數字必須實時更新,而用緩存的話通常都是異步更新的。因而商品表裏面增長了這樣一個字段,每增長一個PV這個字段就要更新一次。發佈上去一個小時數據庫就掛掉了,撐不住這麼高的update。數據庫撐不住怎麼辦?通常的緩存策略是不支持實時更新的,這時候多隆大神想了個辦法,在apache上面寫了一個模塊,這個數字根本不通過下層的web容器(只通過apache)就寫入一個集中式的緩存區了,這個緩存區的數據再異步更新到數據庫。好像什麼問題,到了多隆手裏,總能迎刃而解。
那一年發生了不少事情,多到我都記不住了,我只模糊的記得項目結束以後,組織結構有過一些調整,也來了不少牛人,尤爲是UED的人。例如@XX的三通 (他和我都是一燈的四個門徒之一)還有@趙小馬、語凝、圓心他們。那個時候UED開始分交互、設計、用戶研究、前端等等工種,之前都是一兩我的搞定全部。下面那個項目中,咱們有了深刻的合做,UED的這種分工,對於PM來講,讓我以爲項目週期更長了。
悲催的一年過得很慢,可是年末我卻升到了P6。
2007年春天,老婆回老家生孩子去了,我在公司開始生個人孩子,就是下一個項目【淘寶旅行】。這個項目之因此我以爲像是本身生的,是由於我從最先期的商務調研就跟進了。咱們想作一個集團版本的旅行服務,能夠接入淘寶、支付寶,也能夠接入B2B的系統,因而後來咱們作出來的第一個版本的【淘寶旅行】是用支付寶帳號登陸的,跟如今的一淘接入的用戶系統是同樣的,當時不少人會以爲很奇怪,怎麼不用淘寶的用戶信息。老闆們看我閒着,合做方也是我比較熟的支付寶,因而我闊別2年以後,又一次跟支付寶合做了。
我跟着支付寶的BD們(孫權、夏波波)去拜訪一家家的航空公司,談合做方式和分紅模式,我第一次坐在談判桌上跟這麼牛叉的國企談判,只在他們問我能不能實現的時候作一下技術分析。國企中有很多有眼光的人才,他們但願作點創新的事情來,但整個體制過重了,談了半年,沒有結果。因而咱們又轉向跟代理商談判,這些商人嗅覺很是靈敏,他們意識到有淘寶這麼多的用戶接入進來,是一個很大的市場。他們都很積極,因而很快【淘寶旅行】的模式就作成代理商做爲商家的服務平臺,代理商賺錢了給咱們分紅(分多少?不告訴你)。
艱苦的商務談判完成以後,更艱苦的項目開發跟進,老婆不在杭州,也不問「你還愛不愛我」了,我專心的投入進去, 2007年年末的時候,淘寶旅行上線了。上線的時候我問老闆們用什麼域名,語嫣姐姐說,用最土最好記的吧,因而jipiao.taobao.com就發佈了。這個平臺上產生的第一筆交易是一個代理商的老闆給本身買的機票,按照分紅規則,咱們賺了幾塊錢。那天下午,財神和語嫣帶了一波運營的同事,敲鑼打鼓的給咱們發金幣巧克力,告訴你們這是淘寶第一筆收入。當時我被一撥人推着走,拍的合影也沒人發我一份。這個項目的PD是小玉、運營支持是葉青和文紈,交互設計是語凝,從那個時候開始,我跟更多的女同事結下了深厚的情誼,因此我開玩笑說打算寫一篇外傳《我生命中最重要的十二個女人》,呵呵。開發團隊的是震北、空望、清虛、騰翼、王喆等,他們是《我生命中最重要的十二個男人》之一。
當時國內機票市場的老大是攜程、老二是藝龍,咱們的平臺上線以後很長時間內,用戶仍是習慣打電話去找他們來訂票,而不是到網站上來用支付寶付款買機票,【淘寶旅行】的發展速度實際上是很慢的。我本身還寫了一篇軟文《淘寶旅行,下一個攜程?》被不少網站轉載。另一方面,爲了獲取更加實時的航班信息,咱們必須得到中航信的支持,而中航信當時正急於推廣他們的酒店系統。因而在接下來的半年時間內,咱們用中航信的酒店系統作了【淘寶酒店】,跟機票一塊兒歸入【淘寶旅行】,中航信也把IBE(Internet Booking Engine)接口給了咱們。我和運營的姑娘們成天盯着有誰在咱們這裏訂了機票,有誰訂了酒店。若是有同窗同事或親朋好友要旅行,咱們去給他們推銷本身的系統。記獲得2008年年末的時候,機票銷量才幾百張。
坐在咱們旁邊的是【淘寶彩票】的團隊,哲別是PM,一燈是項目經理,通過了【個人淘寶ajax版】以後,一燈技術水平精進,跟彩票公司談合做的時候大談ajax和用戶體驗,唬的人家一愣一愣的。這個項目真是天時地利,用戶只須要兩塊錢就能夠買一注,用支付寶下注很是方便,上線以後銷量猛增,到年末的時候有兩注彩票都中了500萬,一時之間,風光無限。苦逼的機票團隊在一邊只有羨慕的份。
看着這個孩子在慢慢長大,這個過程當中咱們作了零零星星的一些平常需求,實際上工做量不大。由於咱們都是土鱉,又挖了幾個機票行業的人過來,一個是處端,一個是從藝龍挖來的老闆。當時另一撥人被關進了湖畔花園,作了【淘寶商城】,他們從湖畔花園回來以後,【淘寶旅行】這個垂直市場的項目被劃分進了商城,而後咱們團隊被併入商城的技術團隊。但每次跟行癲開週會的時候,他們講商城的種種事情,我都插不進話。到了年末,商城蓬勃發展,但機票的業務沒有太大轉機,這一年我也遊手好閒啥都幹過,在技術上沒有多大進步,被打了個3.25分,P6不變。
這時候有人來挖我了。
(五)
2011-12-18 [原文連接]
第五年:
有人擔憂,寫到後面會不會變太監了。其實越日後面就真的越難寫,一方面是那些人就在你旁邊,你要顧及他們的感覺;而那些事,也纔剛剛過去或者正在進行中,身在其中很難有個客觀的描述。不過既然都寫了這麼多,那就繼續寫下去吧,後面的事情比較近,也不太有名,估計感興趣的人很少了。
我曾經寫過一篇博文,是對於「小黑屋」的描述,淘寶有個傳統,牛叉的項目都要在小黑屋中進行,當年咱們作[個人淘寶]和[招財進寶]的時候,有人羨慕我被關在一個小黑屋裏面。到了08年的時候,我開始羨慕別的關在小黑屋裏面的人了。這樣的人有兩撥,一撥人作了傳說中的[淘寶商城],一撥人作了傳說中的[淘寶系統3.0]。作淘寶商城的那撥人暫且不說,淘寶主站系統在那個時候經歷了一次翻天覆地的變化。
由於發展實在太快,淘寶的系統一直處於變化之中,但大的版本變遷,大概有兩次,一次是把最初那個LAMP架構的系統遷移到Java平臺上,一次是把集中的Java系統拆分紅多層的分佈式系統。從PHP到Java在04年就遷移完畢了,我去的時候正遇上遷移完成後那幫Sun的工程師開始作支付寶,因此我錯過了。從集中的Java平臺拆分紅多層的分佈式系統的時候,我在作[淘寶旅行],又錯過了。
我一直相信像[淘寶旅行]這樣的垂直市場纔是最好的業務模式,不可能全部的商品用同一種展現方式,也不可能全部的交易用同一個流程。但在主站拆分以前,要作垂直市場只能從新作一個系統,拆分以後,只須要在業務邏輯層重組一下就能夠了。因此此次網站的拆分,不只撐住了不斷上漲的流量,也支持了後續幾年新的業務的發展。在拆分的過程當中有不少技術的創新,咱們從使用技術到了創造技術的階段。記得有一次咱們跟騰訊的工程師交流,你們提起了那個時候各自作了一個文件存儲系統,仿照GFS,淘寶作了一個TFS(taobao file system),騰訊作了一個TFS(tencent file system),在GFS的理論基礎上各自有不一樣的創新。除此以外還有Key-value的緩存系統、消息中間件、Java中間件、海量數據的存儲和計算等等。一個系統發展到10億流量的級別,你不得不作技術創新。
這些我都錯過了。
但[淘寶旅行]最初兩年的發展很是緩慢,商城在作業務的創新,主站在作技術的創新,咱們這個團隊遊離於商城和淘寶主站以外。這個時候,有人來挖我了。
我老是容易被女人說動,尤爲是漂亮的女人,而郭芙就是這樣的女人。她問我淘寶主站拆分以後,對測試有什麼挑戰?我說系統分層多了,出錯的概率大了,但功能測試沒法探測到下層。她問有沒有辦法深刻到代碼級別來測試?我說有但很難作。她說難才找你的嘛,有什麼辦法來做?我說作單元測試,但單元測試最好讓工程師本身作,咱們作再往上一層接口的測試。而後她說英雄所見略同,我已經有幾我的在作了,你願不肯意一塊兒把這事作大?這時候發現她挖了一個坑給我跳。(^_^) 不過這是淘寶項目開發中的一項很大的變化,作好的話將對系統的穩定性有很大保障,而我也以爲天天在那裏賣機票有點乏味了,那就搞點沒人搞過的事情吧。
我作過開發,作過PM,兼職作過PD,還像SQA同樣搞過幾個流程,在08年末,我又開始了測試工程師的生涯。進到測試團隊以後我發現之前對測試的認識都太膚淺了,尤爲是淘寶的測試團隊,其測試技能和測試方法是業內頂尖的,我要作的就是招募一個能寫Java代碼的有測試思路的團隊,但後來發現沒有這樣的人。因而招募能寫代碼的,而後給他們培訓測試方法,另外也吸取能作測試的,給他們培訓寫代碼的技能。在2009年的上半年,我大半的精力都放在了招人和培養人上面,團隊從4我的增長到19個。我記得跟鐵花一塊兒作接口測試工程師的培訓,有個外號叫老鴇的,給咱們取了個名字——「花柳組合」。
接口測試的思路很簡單,就是用測試代碼來驗證系統代碼的邏輯是否正確。但作起來很困難,最大的困難就是被測代碼太「擁抱變化」了,三天兩頭的變,測試代碼常常會失效;另一個問題就是要驗證一個業務邏輯,也許要用10倍的測試代碼才能覆蓋,因此這事兒也是一個體力活。咱們發現系統裏面越往下層,變更越小,邏輯越簡單,因而咱們就從最底層的IC/TC/UIC這些開始測試。測試代碼寫完以後放入持續集成的環境中,一旦被測代碼提交SVN,測試代碼就回歸一遍,把錯誤信息發佈出來。09年是這個團隊異常艱難的一年,咱們把最底下一層的代碼都作了接口測試,有些還有性能的測試。我記得作UIC接口測試的時候,模擬了10億以上的請求量,結果發現了JDK裏面的bug,後來提交給了Sun。作這些事情的過程當中咱們也對經常使用的測試方法作了一個抽象,弄了一個測試的框架,寫了一本《接口測試白皮書》。
我跟郭芙說既然咱們作了這麼多事情,有這樣的實力,就能夠高調一點,向外傳播咱們的影響力,因而咱們提出了一個願景:「作測試的行業標準」。她任命咱們「花柳組合」一方面去維護qa.taobao.com這個博客,一方面對內開展大量的學習和培訓,咱們叫它「3T交流會」(taobao test technology 或者 taobao test team 或者 taobao test training 都行)。
在測試團隊作的很開心,也有機會跟更多可愛的女孩子共事。但從不少人的眼光來看,一個開發的人員去作測試好像有點奇怪,我也經常思索本身這麼跳來跳去到底好很差。直到前面一段時間,網上流行3種青年,我也把工程師大體分了一下類別:普通工程師跟着業務跑,來啥需求作啥事;文藝工程師專一於本身的領域,研究的很是精深;2B工程師跳來跳去,啥都幹,啥都淺嘗輒止;還有一種工程師叫牛B工程師,啥都能幹,啥都精通(這種人在工程師心中叫「神」)。而我應該屬於第三種,不過我幸運的是,淘寶裏面機會太多了,我作的都是本身喜歡的事情。
08年的年末,我被提高到了M1。沒有看錯,當時從P6到M1是升級了,悲劇的是過了一年以後,公司更加劇視專業能力,M1==P6 了。
也許是看我在測試團隊把培訓作的風生水起,09年末的時候,又有人來找我了。
(六)
2011-12-20 [原文連接]
第六年:
做爲一個2B工程師,漸漸的開始遊手好閒,到了09年就不多寫代碼了,作些上通下達、資源協調、關係處理、甩手掌櫃之類的事情,完成了一個P到M的轉變(從另一種意義上來講:這個碼農廢了)。但作了M以後,才知道管理真的是一門藝術,尤爲是管理一羣女孩子的時候,簡直是處於藝術殿堂的巔峯。那時候從一位大俠那裏聽到一個理論,做爲M,就不可能作到讓全部人都喜歡你。這對於一向喜歡作好人的我來講,頗有難度。但作了2年M以後,有位同窗說我是個「老好人」,這真是一個很大的打擊,說明我這個M沒有作好。
聽說是由於有人推薦,09年末的時候,老闆的老闆的老闆來找我,我覺得出啥大事了,原來是他們發現團隊大了,壁壘也大了,知識的傳播和傳承有很大障礙,須要一個專業的技術培訓團隊。而我,啥都幹過,又喜歡張羅些培訓和交流的事情,彷佛挺合適的。我認爲團隊的成長是M的第二等大事(第一等是幹好活),那跟帶一個小團隊來比,支持整個大部門的成長彷佛更能發揮個人餘熱。但這個我一手創建起來的團隊,大部分人都是我找了無數簡歷、打了無數電話才找到的,我投入了太多的感情,實在不捨。思前想後,心理鬥爭了好久,明白你們都能獨當一面了,我離開對他們沒啥損失。因而揮一揮衣袖,我走了,不過仍是沒忍住眼淚。
這一年的測試生涯,我彷彿又處於最初的創業時期,理論、方法、技能、團隊都是從無到有,跟測試團隊的其餘人員的配合也是從生疏到默契,全部的事情都是摸索着來。這一年我技術和管理水平沒多大提高,卻犯了不少錯誤。團隊成員之間出現問題的時候後知後覺,處理人員關係的問題簡單粗暴,工做的安排像是甩手掌櫃。但這一切事後我收穫的是心態變了,慌亂以後開始變的從容。
接下來咱們新的團隊成立了,@展堂 @早安薇薇安 @奇怪的偉大 是最先入夥的。咱們取了一個很霸氣的名字「@淘寶技術大學」,還有英文名Taobao University of Technology。定位是作一個企業大學,像惠普商學院和摩托羅拉大學那樣,可是要作什麼其實也不知道。咱們看每一年都有幾百個應屆生入職,而不少技術都是外面學不到的,那要先給他們來培訓吧。
因而淘寶技術大學旗下第一個項目開始啓動了,咱們叫它「逐浪堂」,取長江後浪推前浪之意。咱們收集研發部裏面全部的業務、框架、規範、流程、工做方法,教給這幫同窗們。這些東西收集上來以後咱們發現須要有兩個月的時間才能培訓完,因而逐浪堂前面幾期的同窗接受了咱們兩個月的知識灌輸。而後咱們去訪談他們的意見,發現一個最大的問題,就是東西太多了,如同把天山童姥的功力傳輸給一個路人甲同樣,他會崩潰的。固然這些同窗們也有很多是像虛竹這樣的,自己天資聰慧,能夠接受這些東西,成長不少。
2010年咱們把主要精力都投入到了應屆生的培訓,「逐浪堂」項目幾經修改,咱們對知識分門別類,對課程精益求精,最終成型到了如今的樣子:應屆生接受2周的「逐浪堂」脫產培訓,內容是通用技能;進階版的技能咱們放入在職培訓,叫作「追風堂」;經驗分享和大師交流咱們叫作「百家講壇」;還有一撥社會招聘的員工,他們參加3天的脫產培訓,叫作「飛雲堂」,主要傳授淘寶特有的技術和框架。支撐這些項目開展的是一個講師管理機制,一個課程管理機制,還有一個在線報名的培訓平臺。
在工做開展的過程當中,咱們也有很多創新。兄弟公司的培訓管理員曾經說過一個事情,他們找培訓公司給他們採購一個數據庫的課程,人家說「最好的DBA都在大家這裏了,你讓我到哪裏去找?」咱們發現其實不少業內頂尖的人才都在公司內部,去外面找都找不到。那咱們能不能像採購外面的課程同樣從內部講師這裏採購課程呢?在獲得老闆們支持以後,咱們開始重金在內部懸賞這樣的課程,把某項技術講透,須要8個小時以上的時間,須要有良好的課程設計和授課技能。懸賞發出以後一會兒挖出了十來門這樣的課程。說是重金,其實比他們去外面講的價格仍是要低不少的,並且這樣一成天以上的課程,對講師來講是工做以外一個很大的投入,給些激勵也是應該的。因而他們講過幾堂課以後,拿着咱們發的iPad,既感受榮耀,又幫技術大學作了很好的廣告。
在工做迅速開展的過程當中,團隊也不斷壯大,這時候又來了@唐甜cr @風雲咧咧嘴,中間也有幾個實習生走來換去,其中一位的真名被咱們註冊成班主任的小二賬號,到如今都成了花名。另外還有一個兄弟團隊須要提一下,由於咱們之間的關係比較親密,咱們作內部的培訓,他們作外部的交流。迄今爲止他們已經成功舉辦了兩屆@velocityChinaWeb性能和運維大會,也舉辦了D二、iData、iTest、aDev等不少交流會。他們主外,咱們主內。這個團隊的負責人是@靈小珊,一個簡潔利索的姑娘,我之前去集團辦事的時候跟她打過交道,對她印象深入,她卻否定見過我。
2009年剛從測試到技術大學,沒有晉升,我也以爲的確不夠資格。在2010年末的時候,我充滿信心。那時候淘寶的晉升機制變了,須要給一個晉升委員會去作彙報,不少人從述職面試回來都深受打擊,我也是其中一個。老闆們問了我一個問題「你以爲培訓的本質是什麼?」我說這是一個好問題……而後我繼續留在M1的級別上。
(七)
2011-12-26 [原文連接]
第七年:
這一期先打廣告,哈哈。首先幫@胖胡斐 推銷他的新書《玩法變了》這是一本講述淘寶店怎麼運營的好書,用一個很俗的詞來形容,就是「乾貨!」裏面提到抽獎的玩法,其中有一次活動就是我寫的代碼。在「魅力屬性」這個篇章裏面也出現了個人名字,嘿嘿。
而後再打一個廣告,就是老包宗曦翻譯的《觸動人心》,講蘋果上的用戶交互的,也是精品。我在淘寶遇到的牛人不少,但心甘情願拜倒在他的牛仔褲下的神人很少,而胖胡斐和老包屬於神人這個範疇。我和胖胡斐一塊兒學車,咱們倒車都是回頭看車屁股,只有胖子扭不過頭,他是看後視鏡倒車的。另外這傢伙過圓餅老是會壓到邊,被@華黎曾憲傑 和教練嘲笑的都快懊惱了(不過,我也是被他們嘲笑的一員)。宗曦之因此被我佩服,主要是這傢伙玩啥都能玩出境界,他對攝影的研究很是深刻,「宗曦觀片會」帶出了不少攝影愛好者,他不在淘寶了,這個組織還活躍至今。
再而後就要爲咱們團隊打廣告了,淘寶技術大學第一年咱們摸索着玩,主要是作了幾百位應屆生的培訓。第二年,也就是今年,是咱們全面開花的一年。先說說出場的人物:@展堂 @早安薇薇安 @唐甜cr @奇怪的偉大 @風雲咧咧嘴 @DY-段燕 @高小糕 @Ciera米_米……還有幾個沒微博的,以姑娘居多,並且個個都很漂亮,能夠說是才貌雙全、色藝雙絕。勾的某位喜歡穿條紋T的煙鬼老是垂涎欲滴的到咱們這裏來遛達。
在2011年隊伍壯大了這麼多,能作的事情也多了起來,年初咱們作了需求調研,針對核心系統和底層產品開發出了一系列課程,有《雲計算系列》《海量存儲系列》《Oracle系列》《MySQL系列》《操做系統系列》《小衆語言系列》《JVM系列》《Java內存調優》《搜索技術系列》《廣告技術系列》等等。也根據這兩年的公司的技術戰略的幾個關鍵詞:穩定、性能、成本、用戶體驗,開發出了《穩定性系列》《性能優化系列》《用戶體驗系列》課程。還根據平常的熱門技術作出了《秒殺系統的設計和優化》《雙十一背後的技術體系》等等課程。作出了一道又一道技術大餐。
在這裏也有必要提一下,這兩年淘寶的技術團隊飛速發展,我對幾位老闆們也有了敬佩之情。技術團隊成立了「技術委員會」執掌技術的發展方向和人才的評估,成立了性能、穩定、成本、用戶體驗等各個小組,招募了專業能力很是強大的人才,分管各重要指標,使整個網站系統的發展愈來愈健康。這兩年淘寶的技術也逐漸走向開放,有了面向開發者的開放平臺,也把本身的核心架構和中間件都開放出去了,甚至把咱們作的低功耗服務器的硬件結構都變成了開源的。淘寶前些年從開源社區得到了很多技術,如今咱們真心實意的開始回報社區了。
同時咱們也向前延伸咱們的觸角,跟着公司HR一塊兒走進學校,在浙江大學成立了浙大淘寶俱樂部、在大連理工成立了大工淘寶俱樂部,並送去了很多優秀課程,也給同窗們作了咱們提出的實驗性項目。咱們也跟着集團,與ACM中國區組委會一塊兒舉辦了夏季論壇和預選賽。讓學生親近了企業,也讓咱們的研發部門親近了優秀的學生。
今年上半年我還糾結在「培訓的本質是什麼」這樣的問題,想的多了,作的少了。主要是姑娘們在幹活,她們發揮了強大的能量,組織了四百屢次培訓,反饋和輔導的講師也有三百多名。給咱們研發部每一個工程師提供了差很少人均14個小時的培訓。我從《ASTD美國培訓和發展論壇2009年度報告》中瞭解到,美國培訓作的比較好的企業中,人均培訓時長在19個左右,而天朝的企業中被統計到的有培訓的那些,平均不到5個小時。而從培訓管理員人均產出量來看,咱們超過了美國2009年的數據。
在我講概念和數據的時候,姑娘們已經開始在研究細節了,研究桌椅怎麼擺放比較合理、學員怎麼邀約會有比較高的出席率、講師在課堂上容易出現哪幾類問題、PPT的字號多大在後排能看得清……她們把培訓的工種逐步細化,每一個環節都做出了操做指南,也有了不少知識的沉澱和經驗的總結。姑娘們,大家很棒!
那麼培訓的本質究竟是什麼呢?通過老闆提點,咱們認爲培訓的本質是:「經過知識的流轉,促進員工的成長,進而推進公司業績的提高。」那又有老闆問了「大家怎麼證實本身的工做提升了公司的業績?」這個,是個好問題,呵呵……有一天我聽到農夫山泉的一個廣告,說「咱們不生產水,咱們是大天然的搬運工」,我靈光一閃、再閃……「咱們不生產知識,咱們是知識的搬運工」。咱們搬的越多,別人接收的越多,咱們的價值就越大。我不知道我這瓶水是拯救了飢渴的生命仍是嗆到了誰的肺,但我知道他必定有價值。
隨着理論的補充和姑娘們的努力(@奇怪的偉大 別介意,咱們把你當姑娘了),在年中特殊晉升的機會中,我升了一級,變成了M2。
老馬說過,「惟一的不變就是變化」,年中晉升以後,公司有了翻天覆地的變化。淘寶一拆四,變成了淘寶網、一淘網、淘寶商場和共享業務平臺,我變成了共享業務平臺的人,而後共享業務平臺又拆分了,我變成了集團的人。跟咱們一塊兒變的還有成立不久的「產品大學」和「運營大學」,三個大學瓜熟蒂落的統一了,變成了「淘寶學院」,之前的校長成了院長,我就榮升爲技術大學的校長。人多了,能夠集中資源辦大事,但層級不須要這麼多,而我作的這事,說是P或者M均可以,並且一個被人說是「老好人」的M估計也沒大前途。因而我轉了,變成了P7。頭銜是「培訓專家」,屬於專家教授的級別了。
7年了,個人頭髮愈來愈少,化學博士同事推薦的施華蔻也無論用。付出了7年的青春,也獲得了很多,除了錢以外,最珍貴的就是認識了一幫牛人,結交了幾個老友,有了一段足以吹牛逼的經歷。
今天是我結婚6週年的記念日,這幾篇文章送給老婆。
做者的另外一篇:淘寶技術發展