技術女神的自我奮鬥

csdn發表於2015-09-18

胡寧以電腦科學博士學位畢業於美國卡耐基-梅隆大學,2005年加入Google,先後在Google紐約、矽谷總部、北京分部工作,歷任工程師、高階工程師、主任工程師、技術總監。2010年加入MediaV任CTO,負責技術和產品。在MediaV擔任CTO期間,胡寧主持開發了Ambition廣告投放實時競價及決策引擎;構建了具有處理PB級資料能力的計算框架;領導推出了聚效廣告平臺、聚合分析,以及聚品廣告解決方案三大產品。此外,她還一手搭建了MediaV的技術和產品團隊,推行產品設計、架構設計、程式碼稽核、釋出上線、快速迭代等一系列先進的產品研發流程和規範,建立了招聘、技術分享和團隊文化建設機制。牽頭舉辦了數次計算廣告及大資料的科學研討會,帶領MediaV獲得多個行業技術獎項。

作為一名女性技術人員,她在技術圈多年的打拼和努力讓她成就了今天的成績,同時也給了她一個嶄新的視角,讓她去觀察和感悟CTO這一角色的真正意味。相信她的分享,一定會給技術管理人員帶來不一樣的收穫。

“為理想而奮鬥終身,不僅是可行的,也是幸福的”

程式設計師:請和我們講講你的個人背景和經歷。

胡寧:我的個人經歷可以引用下面這幅連環畫,這是公司創意部門的同事幫忙畫的。我很喜歡。

《程式設計師》:作為MediaV的技術領袖,有哪些CTO或技術人員你當做榜樣?從他們身上你學到了什麼?

胡寧:我敬仰的技術人員分兩種。

一種是技術大牛,例如Jeff Dean。還記得一次聽Jeff Dean在Google內部的分享演講,當他在討論如何設計合適的系統架構時,駕輕就熟地引用記憶體讀取、L1/L2快取讀取、加鎖/解鎖,以及磁碟定址等操作的耗時資料來口算、估計,精度達到納秒級別,我驚呆了。

還有一種,是為理想奮鬥終身的人,例如我的博士生導師。他一直全身心地熱愛他所研究的專業方向,連退休後的夢想都是繼續為研究專業課題而不懈工作。

前者讓我明白“山外有山,人外有人”,在保持謙遜心態的同時,也要求自己不斷進步。而後者,則讓我認識到,為理想而奮鬥終身,不僅是可行的,也是幸福的。

《程式設計師》:工作之餘你通過哪些方式提升自己?如果讓你給技術管理者推薦幾本書,你會推薦哪些?

胡寧:首先,我習慣通過大量的閱讀進行學習,包括經典書籍、行業內的雜誌期刊(例如《程式設計師》雜誌)等。在微博、微信上我是不少技術大牛的粉絲,他們的一些技術分享文章讓我受益匪淺。其次,我還會密切關注國內外行業發展動態,包括相關國際學術會議發表的最新論文、最近公開的新技術及應用等。最後,我還會跟業內人士就某些課題進行交流和探討。個人感覺,非正式的分享討論,往往比正式的論壇和會議收穫更多。

書籍方面,我推薦《精益創業》和《創新者的窘境》。這兩本書應該算是網際網路行業必讀書籍了。但我讀的過程中,確實有很多切身感受。例如,《創新者的窘境》中提到新業務應該跟舊業務分離獨立。事實證明,聚效的推出,最終走的也是這條路。只是如果能早點意識到,就不會耗費幾個月時間試圖從內部推進而不得了。

《程式設計師》:在制定公司技術規劃時,你有哪些原則?

胡寧:結合業務需要,考慮未來前景,目標長遠,落地實際;快速迭代,不斷調整;根據業務需要,在完善優美和“快而髒”(quick&dirty)之間尋找一個平衡。

《程式設計師》:你認為成為一個合格的CTO需要具備哪些素質?

胡寧:我認為,作為一個CTO,做到以下幾點是至關重要的。

1. 有遠見(Vision):包括行業的遠見和技術產品的遠見。根據行業業務經驗,能準確預見行業發展前景;準確預見產品技術的走向,制定並把握公司的產品技術方向。

2. 先進的技術理念和水平:能主導公司關鍵系統的設計,解決關鍵技術問題,制定並推行先進的研發流程和工程規範。

3. 領導管理能力:打造公司文化,招募優秀人才,培養併發揮員工的能力,合理搭建梯隊,團結團隊力量。

4. 良好的溝通和執行能力:能與團隊、公司其他高管、業務部門良好互動,協調各方力量,把控專案進度,保證專案按時按質完成。

技術人員如何勝任管理職位

《程式設計師》:能否介紹一下你所負責的團隊的構成?你在團隊管理上有哪些祕訣?

胡寧:我們的技術研發部門的組織結構如下面所示。

1. 產品部:包含產品管理、產品運營、產品市場。

2. 研發部:包含若干個主要部門,如系統架構、廣告質量、應用開發、系統運維。每個部門下還分出若干子部門,例如廣告質量部門下分建模優化、資料處理、商業智慧。

3. UED部門:UI/UE/UX設計。

不過,2014年以來,我推行實施了以專案為中心的團隊管理模式:每個專案由一名資深工程師擔任專案經理(Tech Lead),如果涉及產品或產品功能的話會同時配備一名產品經理。專案施行專案經理和產品經理雙軌負責制,由他們帶領專案的幾個核心成員,共同承擔指標和任務。各專案組的成員組成是根據各位員工的擅長和興趣及專案的需要,由大家協商而成。

同時,各團隊帶頭人、資深工程師組成了一個委員會,和我一起評審產品和架構的設計,以及共同討論協商團隊建設、管理、專案優先順序等事宜。

我很多的管理經驗是在Google學到的,來到MediaV後,我把Google的管理框架做了一定的簡化和改良,也逐漸形成了自己的管理經驗體系,例如:招最優秀的人、目標和關鍵結果為導向(OKR)的計劃制定和考核、推崇技術產品為先的公司文化、扁平的管理架構、公平透明的晉升機制、導師負責培養機制、提倡從下至上而非從上至下的管理、按優先順序劃分的團隊研發資源調配。

《程式設計師》:在招聘新人時,你最看重哪些方面?

胡寧:技術基礎、分析能力、智力水平。如果是產品經理,我還會留意其溝通表達能力。

《程式設計師》:你一手促進打造了MediaV的技術框架,在這個過程中遇到過哪些挑戰?

胡寧:在我們的框架中,應用了很多的開源系統,如Hadoop、HBase、Hive、Redis、Scribe、Kafka、Storm、Spark等。但這些開源系統本身都在非常活躍的開發中,版本不斷更新,也有不少Bug。我們在學習研究這些開源系統時耗費了不少精力,也提交了不少我們在這些開源系統之上的改進。

此外,國內的網路環境會極大影響系統框架的設計。原來為了更好地分地域響應,我們的系統是跨多個資料中心的。但由於無法在預算受限的情況下保證資料傳輸的穩定性和實時性,經過多種嘗試後,我最終決定把系統的主要部分集中到一個資料中心。

《程式設計師》:你認為技術人員上升到管理層面時,需要克服哪些困難?最容易犯的錯誤有哪些?

胡寧:技術人員上升到管理層面,需要有更好的全域性觀(See the Big Picture),需要快速交付既響應業務需要又符合技術產品規劃的研發成果,而不是醉心於追求完美的技術解決方案——他們需要認識到,需要負責的並不只是自己一個人的表現,而是所領導的團隊、專案的完成。此外,他們還需要能進行良好的溝通,協調各部門及人員關係,推動專案和團隊健康發展,這也往往是技術人員轉型管理層所面臨的典型挑戰之一。

《程式設計師》:回望你的CTO生涯,有哪些令你印象深刻的事情?

胡寧:當我親自擔綱設計,耗費半年時間研發,推出聚效廣告平臺時,受到公司內部巨大的阻力。因為新的平臺模式與原有代理模式截然不同,業務部門很多同事都不能理解也不看好,以“平臺不夠完善”、“功能不夠全”等理由來拒絕推進使用。在內部多次溝通未果的情況下,我們另外建立了一個新的業務團隊,專門銷售聚效廣告平臺。從兩個小廣告位、三個廣告主艱難起步,到現在聚效已快速發展成為有幾萬家廣告主、每天幾十億次廣告投放曝光、國內最大的DSP之一。而聚效廣告平臺也於MediaV分拆時獨立出來,並因其產品技術水平而獲得認可,得到奇虎360的戰略投資。

相關文章