百度主任架構師譚待:如何讓不帶團隊的程序員負責重大項目?

演講 | 譚待

整理 | 趙新龍、尾尾

譚待,百度主任架構師、百度搜索公司技術委員會聯席主席。主要研究領域在分布式系統和搜索引擎,是百度BVC代理計算和Matrix私有云的主要設計者,兩獲百度最高獎。主持設計了百度新一代搜索架構,在時效性和計算規模上實現了大幅提升;同時主導了極速搜索、全站HTTPS等百度搜索的一系列重大革新,也是百度MIP項目的整體負責人。
本文是譚待在EGO主辦的第二屆GTLC全球領導力峰會上的演講整理而成。

不帶團隊的程序員如何負責重大項目?

非常高興和大家探討技術領導力的話題,首先,我簡單介紹一下自己:我在百度搜索擔當架構師,是一個不折不扣的程序員——這也是我覺得在所有參會嘉賓里非常特別的一點。在我十多年的職業生涯里,我一直保持著純粹的技術專業序列身份,講人話就是“我不帶團隊”。

雖然不帶團隊,但很多搜索方面重大的技術革新和產品升級都是我直接負責和領導的。能做到這個事情,不是因為我天賦異稟,這是因為百度搜索團隊有獨特的技術文化,這是它非常有特色和非常吸引人的地方。這種獨特的技術文化,可以讓不具備技術管理職能的工程師,在組織需要時承擔起技術管理的職責,并且做出具有獨特價值的貢獻。

這種文化,或者說機制,就是我今天想跟大家分享的內容——非職權技術管理機制。

什么是非職權技術管理機制?

什么是“非職權的技術管理”機制呢?

首先說一下什么是非職權的技術管理。這個詞是我拼湊出來的,簡單翻譯一下就是:你負責一件事、領導一項技術、負責一個項目,但是所有的項目成員都不向你匯報。

這里寫圖片描述

這個聽起來特別詭異,因為一般的管理都是與職權掛鉤的,否則很多直接有效的調節手段就沒法用,比如薪酬績效,比如需要項目團隊加班時直接下規定說誰不來就扣錢——我沒有這樣做,我能做是談天聊心。

技術領域為何無法避免非職權管理機制?

不管我們愿不愿意,一個非常可悲的事實是,非職權的管理方式在技術領域是基本不可避免的。原因很簡單,職權一定和組織架構強相關,組織架構是公司和部門為了業務設定和優化的。

我們都知道,互聯網上唯一不變的就是變化,當新機遇新時代到來的時候,一定會跟現有的組織架構產生非常大的沖突。

這里寫圖片描述

在座的很多人應該都經歷過互聯網從PC時代向移動時代的遷移過程。那時,公司一般會設立一個部門叫移動產品部,專門負責移動化。但當時公司主要業務肯定是在PC上,主要的技術資產還在PC部門。為了最大限度地用這款資產、讓業務快速發展,一定會展開非常多PC部門和移動部門跨團隊的技術聯合,里面肯定有不少痛苦。后期移動變成主流,進行徹底的架構調整,這就解決問題了。我們現在都說,人工智能時代可能馬上到來了,所以這個類似過程還會再經歷一遍的。

非職權管理機制為什么很重要?

既然無法避免,那么反過來,我們樂觀一點地看,非職權的方式對組織和業務來說也是非常重要的,這主要有三方面原因。

第一個原因,是它能很好地突破現在的組織架構限制,解決剛才說的問題。

雖然,最直接的一勞永逸的辦法是調整架構。然而經歷過的人都知道,調整架構是更痛苦的事情,等你調完,人也走的七七八八了。而且這里面有一個度的問題:什么時候開始調整?如果這個事太小,覺得還不足夠;往往等到覺得這個事很大的時候,已經錯過時機了。如果這個時候,大家都比較習慣在非職權情況下開展工作,那就很容易突破現有組織架構的限制。所以,我說它是一種比較靈活柔和的方式。
這里寫圖片描述

第二個原因是,它有利于保持技術的先進性。現代社會或者公司都是高度分工的戰略組織,如果把大量的時間投入到人的管理上,那在技術領域一定是落后的。所以有時候讓處在技術前沿的工程師做這些事情,有利于技術先進性的保持。

最后一個原因是,它會帶來自主性的價值。你讓工程師做管理的事,他會有一種農民翻身做主人的感覺,“我也能做很多事情”,他們的積極性、滿足感和忠誠度都會有很大提升。

如何打造非職權管理機制?

既然非職權管理的情況是無法避免的,而建設相應的機制又是十分重要的,那么,與其被動逃避,不如主動打造這樣的機制,讓它成為新常態。

那么,如何打造這種機制呢?

要打造這個機制,首先要奠定好一個框架。

第一步叫“師出有名”。

前段時間很火的《人類簡史》講了一件很好玩的事:現代人的祖先只是人屬中的一個人種,當時還有很多別的人種,這些人跟我們祖先差不多,都能夠使用工具,都能夠生火,都能夠講話,甚至比我們的祖先還強壯一些。什么原因導致這些人都被干趴了呢?突然有一天,我們的祖先開發出了一個非常有特色的技能叫做八卦,就跟我們現在的八卦差不多。因為有了八卦技能,所以就能發展出更復雜的人際關系。因為共同的喜愛和厭惡,更多人聚在一起,越聚越多,之后就發展出了第二個技能叫做編故事,特別是他們能夠去虛構一些在自然世界里并不存在的實體,讓所有人認同他、相信他并且傳播他。部落就是一個虛構的概念,但是因為假想的共同體,更多人能夠聚集在一起,為了共同體而努力。現在我們想打造一個新的機制,創造一個新的制度,首先我們一定要創造假想共同體,通過這個共同體開展事情。在百度,這個假想的共同體就是技術委員會。這是第一步。

有了假想共同體,第二步就是要挑選核心的班底。

核心班底非常關鍵,因為在早期他們會作為主力去實施管理,具有很強的示范作用,所以一定要在人員篩選上注意。有三點非常重要,第一是技術杰出,第二是理解業務,第三足智多謀。前面兩點很容易理解,重點說一下足智多謀。足智多謀是說,一定要有千方百計挖掘能夠利用的各種資源,以達到最終目的的能力。這是什么意思呢?因為非職權就是沒有職權,但你可能會有其他資源,你可以說服大老板支持你,你也可以制造輿論——有些人就能看到這些點,能把這些資源利用起來,這是一個非常大的差別。

建完核心班底以后,還要做最后兩步:授予權力和賦予責任。

這里寫圖片描述

首先,是授予權利。雖然我們一直在講非職權,實話實說,如果你真的什么權利都沒有,想做技術管理那也是太難了。雖然我們沒法在管理上賦予他實際的權利,但可以賦予技術管控權利,比如說對工程師專業晉升的評審權,或者是對重大項目是否上線的Launch Review。一方面這些事情非常適合專業組織來承擔,另一方面承擔這些事情可以積累足夠的權威,開展其他事情時大家都會聽他的。這里有一個陷阱:我們一定要分清主次,技術一定是為業務服務的,而為業務真正負責任的其實是管理層、是經理。這個要搞懂,要平衡好,不要對著干。

最后一步,賦予責任。授予權利之后,就要讓TC賦予責任,這樣才能運轉起來。這也是四步里最關鍵的一步,而且是常常出問題的環節。這一步一般會有兩種問題:第一種是說我們賦予的責任太虛太泛了,比如說你的責任就是把控技術,但做什么是把控技術呢?第二個問題就是輕信工程師可以高度自律,所以不檢查結果,最后TC變成純粹只負責評審項目的臨時機構。我的個人經驗是,一定要非常清晰明確的定義他要做什么事情,而且定期檢查,比如明確定義TC要做的就是階段性疏理所有技術指標、制定技術規劃,而且每半年做一次。做的過程中,發現任何問題,不管是機遇還是挑戰,你都要把它變成具體的項目跟進,最后檢查你的項目成果。只有通過非常嚴謹的規定和嚴格的檢查,才能真正把責任落實到行動。

實際落地,反復練習

有了這樣一套框架,接下來就是反復練習。不論是工程師還是經理都會很不適應,所以我們一定要反復地做、刻意地做,做成一個常態。

這里寫圖片描述

大家都聽過一萬小時定律,很多行業達人之所以卓越,不是因為他們是天才,而是因為他們付出了足夠多的努力。對組織也是一樣的,你想建立新的機制,必須經過反復的練習才能成功——至少你要做一百個項目。很多人成功從被動接受安排變成主動驅動,之前是你告訴他、他去做,后來他發現這個機制很好,就主動去發現問題和解決問題。

實際案例

下面舉幾個具體的案例來說明。

案例一:搜索架構

如下圖所示,這是搜索架構,從流程來看,搜索業務分三步:離線、在線和前端,三者分別配備一位大經理。TC在里面起到非常好的補充作用。

這里寫圖片描述

從TC角度會這樣看待:左邊的圖是從業務角度看有哪些技術方向,右邊紅色的是業務指標體系,即從業務角度來看哪些指標是重要的。有了這個圖,就可以做幾件事情,第一就是合并同類項,比如說在線有存儲系統,離線也有存儲系統。底層的技術可以合成一個方向集中發展。第二個更重要的是用這種方式驅動業務發展和技術創新。從業務角度看右半部分,現在的指標體系是不是完善?要不要加新的指標?已有的指標哪些需要提升?根據指標上的目標,再看左邊。現有方向設施是否合理?如果不合理,我們就打破這個限制。

案例二:搜索安全

很多用戶在訪問百度搜索時會被劫持,有的會跳到競品,有的會加很多廣告。原先管理劃分上并沒有直接對應這個問題的組織,所以首先是TC在牽頭,進行系統疏理會發現,絕大部分的發生在網絡階段,解決問題最直接的方式就是把搜索改成HTTPS。
這里寫圖片描述

這個聽起來很簡單,但其實很復雜。最復雜的一點就是,必須把頁面上所有資源全部改成HTTPS。

搜索本身作為一個開放的平臺,有很多第三方部門,甚至第三方公司在搜索上有資源展示,所以需要拉著所有的其他部門甚至其他公司一起進行改造。這個組織就進一步擴大,把運營人員還有產品都包括進來。花了一年時間,我們終于把這個事做了。對百度來說,還有很多重要的產品,比如貼吧、地圖,用戶都會遇到這些問題,所以應該是推動這些產品一起進行HTTPS改造。緊接著我們成立了一個全公司范圍的推廣小組,把這些產品都進行了改造。這時候形勢又發生了變化,我們希望互聯網上所有的網站都改成HTTPS,實現全網安全。這個過程比較漫長,而且要做的事情比較確定,這個階段就變成一個實體化的團隊在推動。我們回頭看整個流程,其實有時候用的是職權管理,有時候用的是非職權管理,非常靈活。核心是,合適的時候用合適的方式。

案例三:搜索速度

還有一個類似的案例,就是搜索速度。對所有產品而言,速度都是一個最基本的指標,對搜索,速度也非常關鍵。
這里寫圖片描述

以前搜索速度是按照離線、在線、前端進行劃分的,離線優化離線速度,在線優化在線檢索速度,前端優化前端渲染速度。這里的問題是,盡管大家做了很多事情,但效果都不好。當我們意識到這個問題以后,我們就不是在各自職能范圍,而是進行跨越,從全局角度看待這個問題。一旦從全局角度看待這個問題,就可以從全局角度提出解決方案:用戶在搜索關健詞的時候,預測他搜索什么,提前完成搜索結果,比如用戶想搜劉德華,他輸入劉德的時候我就知道他要搜索劉德華了。這個方案還是比較巧妙的,更重要的是背后管理機制的變化。

輔助機制

大家都知道,管理是非常難的,這個非職權技術管理其實更難。所以,為了達成非職權技術管理,也可以做一些輔助的機制。
這里寫圖片描述

比如,我們可以幫助設計交付經理的崗位,讓他們進行相應的事情;再比如幫助沒有太多經驗的工程師進行項目管理、溝通流程、控制推動等等。這樣剛開始時工程師沒有那么痛苦,而且做的過程中會有非常好的保證。你做事的過程中,學習成長得更快。

還有,就是能力的培養,管理畢竟還是需要管理技能的,一般來說這種培訓都只向管理層開放,不會考慮給工程師開放,這也是一個問題,所以應該提供這樣一些機制。

總結與反思

最后,總結一下,這種非職權技術管理看起來怪異,卻是我們無法避免的。同時,他對公司的發展也比較重要。如果想打造這樣的機制,首先應該定一個框架;有了框架,需要反復練習,使之成為常態,并且提供盡可能多的輔助機制,讓他加速。

這里寫圖片描述

技術總是在短期內被高估,在長期又被低估——世間很多東西都是這樣子的。如果你能夠保持足夠的理性,能保持足夠的耐性,它一定會在恰當的時候帶給你驚喜。

Q&A

Q:怎么跟蹤技術規范的落地與執行?

譚待:我們是技術人,所以做事情一定是技術驅動的。跟蹤肯定不能只靠人檢查,我們在開發流程設置自動化的一個工具,保證一定是執行這個流程之后才能發布;自然就能確保規劃的落地。

Q:這一次主要講的是在技術領域的管理,你已經是高級工程師,你通過TC或者晉升渠道去做管理。另外一些情況,比如設計師或者項目管理,而不是技術專家類的,如何操作?

譚待:類似的,可以成立一個設計師委員會。我覺得技術這個詞很寬泛,設計也算是技術的一種,產品研發也算,都是非常類似的。技術可能更好評估一些,產品跟設計更難評估一些,這些都是專業性的,我覺得,只要有專業性就可以用類似專業委員會來解決的。

Q:我有兩個問題,第一個是說關于TC的人是全職還是兼職,兼職會有投入和產出的問題,專職做TC工作是不是會影響自身職業發展。第二個問題,我們是一個快速發展的創業公司,也想搞技術委員會,讓很年輕的工程師進入TC,會不會在溝通或者權威性上會受到質疑?

譚待:關于第一個問題,首先明確是兼職,不可能有一個這樣的全職。其實他工作沒有那么飽滿,而且全職會導致脫節、達不到作用。

怎么解決兼職的問題呢?有人是有一定技術理想的,希望去推動大的事情,雖然不是他的本職工作,但他的目標跟這個重合,所以會花很多精力在這上面。要找到這些人,發揮他們的特長。反過來講,有的人技術非常好,但沒有這方面的想法,就沒有必要把他硬塞進去,否則可能會適得其反。

第二個問題,因為組織還是很考量技術影響力,資歷是一個很重要的考慮因素,但資歷跟年齡沒有關系。有些人很想做這個事情,但資歷很輕,怎么辦?我們可以在下面設工作小組,以小組成員的方式發揮作用,而負責人還是那些比較有影響力的人。這樣就能起到比較好的作用。

Brilliant Open Web

BOW(Brillant Open Web)團隊,是一個專門的Web技術建設小組,致力于推動 Open Web 技術的發展,讓Web重新成為開發者的首選。

BOW 關注前端,關注Web;剖析技術、分享實踐;談談學習,也聊聊管理。

技術連接世界,開放贏得未來,關注 OpenWeb開發者,回復“加群”,讓我們一起推動 OpenWeb技術的發展!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535889.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535889.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535889.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Redis(七):Hash哈希數據類型詳解

Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。 Redis 中每個 hash 可以存儲 232 - 1 鍵值對(40多億)。 實例: 127.0.0.1:6379> HMSET runoobkey name "redis tutorial"…

Chrome Dev Summit 2017參會筆記

作者 | 高磊 編輯 | 尾尾 為期兩天的 Chrome Dev Summit 2017 于 10月23日~24日在美國舊金山舉辦。由于我們近期和Google的合作較多,對Google的動作也比較關注,所以受邀參加了這次的Chrome Dev Summit (CDS)。本文是我在現場做的…

Redis(八):Zset有序集合數據類型詳解

Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。 不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。 有序集合的成員是唯一的,但分數(score)卻可以重復。 集合是通過哈希表實現的,…

Redis(九):Redis特殊類型之geospatial

朋友的定位,附近的人,位置共享,打車距離 redis在3.2就已經推出了geospatial!兩地之間的距離,方圓幾里的人!都可以用它實現 這個需要把你所在地的經緯度輸進去,我們可以在http://www.jsons.cn/ln…

九個案例簡述Web設計原則:簡潔清晰

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容,同時會提供相應的實際案例及資源下載。歡迎關注OpenWeb開發者,訂閱《Web設計指南》。 前言 《Web設計指南》是專門為廣大Web內容生態提供一套簡單實用的設計指南&a…

Redis(十):Redis特殊類型之Hyperloglog基數統計

redis 2.8.9版本就更新了Hyperloglog數據結構! Hyperloglog:基數統計算法!0.81%的錯誤率,不過統計大量數據可以忽略! 在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 …

W3C近期要聞:與Mozilla MDN合作聯合開發Web平臺文檔

作者 | W3C中國 「OpenWeb開發者」依托于BOW(Brillant Open Web)團隊,是一個專門的 Web 技術建設小組,致力于推動 Open Web 技術的發展,將不定期為讀者同步W3C要聞。 注:由于微信不支持外鏈,了解…

Redis(十一):Redis特殊類型之Bitmap位圖

1、位存儲 只有0和1兩種狀態! Bitmap 位圖:數據結構,都是操作二進制位來進行記錄 登錄/未登錄 活躍/不活躍 打卡 兩個狀態的都可以使用Bitmap! 2、常用命令 2.1、用Bitmap來記錄 周一到周日的登陸情況 127.0.0.1:6379> …

移動Web加速技術月報第2期

作者 | Brilliant Open Web 團隊breezet、shdong 編輯 | 尾尾 為推進Web技術的發展,Brilliant Open Web團隊特推出每月一期的《移動Web加速技術月報》,該月報將整理較流行的移動Web加速技術,并跟進各項技術的進展和發展方向,以期…

Redis(十二):Redis事務的基本操作

1、Redis事務概念 Redis 事務的本質是一組命令的集合。事務支持一次執行多個命令,一個事務中所有命令都會被序列化。在事務執行過程,會按照順序串行化執行隊列中的命令,其他客戶端提交的命令請求不會插入到事務執行命令序列中。 總結說&…

大型網站HTTPS 實踐(一)| HTTPS 協議和原理

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。本文就著重介紹了 HTTPS 協議涉及到的重要知識點和平時不太容易理解的盲區,希望能對大家理解 HTTPS 協議有幫助。百度 HTTPS 性能優化涉及到大量內容…

MongoDB(一):簡介

1、MongoDB概述 MongoDB 是由C語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。在高負載的情況下,添加更多的節點,可以保證服務器性能。MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB 是一款流行的開源文檔型…

大型網站HTTPS實踐:HTTPS對性能的影響

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。百度 HTTPS性能優化涉及到大量內容,從前端頁面、后端架構、協議特性、加密算法、流量調度、架構和運維、安全等方面都做了大量工作。本系列的文章將…

Redis(十三):Redis實現樂觀鎖

1、悲觀鎖與樂觀鎖 樂觀鎖和悲觀鎖是一種程序設計思想,而不是具體的代碼。樂觀鎖和悲觀鎖應用的場景有很多,在數據庫和多線程等等都會用到。 悲觀鎖:總是假設最壞的情況,每次去拿數據的時候都認為別人會修改,所以每次…

PWA將帶來新一輪大前端技術洗牌?

作者 | 彭星 編輯 | 尾尾 一、回顧歷史:移動時代之初,Web遭遇兩大枷鎖 Web 在移動時代遭遇兩大枷鎖1.Web 在移動時代遭遇兩大枷鎖 當 Web 自信滿滿,步入移動時代之時,它還沒有做好充足的準備。 回顧 2014 到 2015 年那段時間…

Redis(十四):Jedis

Jedis是Redis官方推薦的Java連接開發工具。要在Java開發中使用好Redis中間件&#xff0c;必須對Jedis熟悉才能寫成漂亮的代碼&#xff01; 1、新建Maven工程&#xff0c;導入對應依賴 <dependencies><dependency><groupId>redis.clients</groupId>&l…

高級精致智能快捷的Web設計原則案例

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容&#xff0c;同時會提供相應的實際案例及資源下載。關注OpenWeb開發者&#xff0c;回復“設計指南”&#xff0c;即可獲取已發布資源。 設計原則之高級精致 簡潔并不等于粗糙沒有細節&#x…

Linux系列(一):簡介與目錄結構

1、Linux簡介 1.1、起源 Linux出現于1991年&#xff0c;是由芬蘭赫爾辛基大學學生Linus Torvalds和后來加入的眾多愛好者共同開發完成 1.2、Linux特點 多用戶&#xff0c;多任務&#xff0c;豐富的網絡功能&#xff0c;可靠的系統安全&#xff0c;良好的可移植性&#xff0c;…

日常問題——解決mac下 ssh: connect to host localhost port 22: Connection refused

問題描述&#xff1a; 今天使用ssh 登陸本地時即使用ssh localhost出現了 ssh: connect to host localhost port 22: Connection refused 錯誤&#xff01; 然后在網上看了很多的解決方案&#xff0c;也都是千篇一律&#xff0c;大多數是針對ssh安沒安裝的&#xff1f;那肯定是…

大型網站的HTTPS實踐:基于協議和配置的優化

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索&#xff0c;默認會將 HTTP 請求跳轉成 HTTPS。百度 HTTPS性能優化涉及到大量內容&#xff0c;在前端頁面、后端架構、協議特性、加密算法、流量調度、架構和運維、安全等方面都做了大量工作。本系列的文章將…