文:Graciagit
導語:本期採訪對象@陸丹峯,大數據領域創業者。思惟嚴謹,凡事講求效率,習慣性地尋找最快、最優美的解決方案,關注事物的本質……北大數學系的7年時光顯然在他身上烙下了深深的印記。正是因爲這些特質,當下流行的「大數據」在他眼裏並不難,陽光底下無新事,只要掌握了底層的原理和數學知識,一切就會像庖丁解牛般遊刃有餘。面試
他曾用半年時間完成了一篇SCI索引文章(SCI索引是博士畢業的標準),守着橫溢的才華不揮霍那不是浪費嗎!因而畢業的時候打着創業的幌子玩了半年遊戲,遊戲沒作成,卻發現不能再這麼玩下去了。再後來的日子,他奮起直追。曾前後幾回從無到有搭建技術團隊,在上家公司,他負責搭建並管理近百人的研發團隊,及公司核心產品線的架構與研發。可他內心清楚,團隊再大,也是爲了實現別人的夢想,而一直以來,他都想要追尋本身的夢。算法
終於仍是辭職了。他看好大數據處理的將來,創業方向是基於社交媒體的流式數據加工和處理平臺。對於這個曾經的數學家來講,大數據的算法複雜度是能夠計算的,而創業則要面對更多的變量,在尋求優美架構的背後,還須要不少商業上的支撐。見面那天,他的日程安排得很緊張,下午剛參加完微軟孵化器的面試,晚上還要繼續見人。採訪完成後,咱們一塊兒吹着冷風,步行從中關村去北大,二十分鐘的路程,他一直在和客戶作電話溝通。創業公司剛起步,爲了團隊能繼續追夢,他不得不接一些算法優化方面的項目,在理想和現實間尋求平衡。過了這麼多年,他早已再也不像畢業時那般心高氣傲,而是更加沉穩和實際,腳踏實地的追尋夢想。segmentfault
我本科和研究生都在北大,專業是數學。研究生的方向是圖像處理,畢業前用了半年,完成了一篇SCI的索引文章(SCI索引是博士畢業的標準)。論文的內容是關於曲面重建,經過採集到的零散的點,去掉噪音,把原有的場景和形狀還原出來。當時很是瘋狂,導師在美國,我在中國。天天大概7點去實驗室,12點甚至1點回宿舍,半學期就完成了從理論到建模的工做。微信
05年畢業的時候導師想讓我跟他去美國作研究,而我對互聯網很感興趣,想留在國內創業,因此連簡歷都沒有寫。當時創業氣氛沒有如今這麼濃厚,北大畢業生這樣作的比較少。網絡
因而聯合了另外兩個本科同窗打算作網遊,怎麼作呢?當時想的是要先玩好遊戲才能作遊戲。正好魔獸世界特別火,咱們仨都沉浸在其中。半年裏天天除了吃飯睡覺,就是打遊戲,最後遊戲沒作成,卻發覺不能這麼玩下去了。數據結構
如今回想,這半年是一種很特殊的人生經歷,但是這個過程當中失去了很是多的東西。選擇創業沒有錯,但當時的咱們太心高氣傲,無論是對市場、對怎麼作這件事情和對自身,都沒有一個足夠清晰的定位和認知。若是能從新再來一次,我應該會作不同的選擇。架構
第一次創業失敗以後,仍然仍是想創業,跟着一個同窗的前領導,開始作大型網站的質量分析和診斷。好比說一些國家機關的網站,作得很是龐大,咱們就想辦法幫它作優化,檢查頁面上是否有斷鏈、提高訪問速度、作SEO優化等。因爲發展方向不是我喜歡的,因此07年離開了。併發
這個時候我感受須要進入大公司學一些東西,補充本身在認知體系、經驗方面的欠缺。正好日本電通成立了Digital Marketing部門,我加入進去負責整個IT部門和IT團隊的搭建,工做內容一方面是公司內部IT的運維,另外一方面是精準營銷產品的開發,主要是廣告數據的分析產品。運維
在互聯網營銷這個領域作了兩年多之後,遇到 AdMaster的負責人閆曌。AdMaster專一於作網絡廣告的效果監測,剛拿了風投,須要增強研發團隊,咱們就一拍即合在一塊兒了。原本研發團隊都在上海,我去了後就開始有北京研發團隊了。在電通,IT屬於支持部門,發揮的空間也比較少。AdMaster是一家廣告技術公司,能夠有很大的成長空間。
我在AD的兩年半里,從無到有創建了北京研發團隊,重構了廣告監測產品的底層並主導了基於社會化媒體的數據分析產品。但我骨子裏仍是喜歡本身創業,給人打工是幫別人實現夢想,就算掙幾萬塊錢一個月,也沒法徹底支配本身的生活。
我比較看好大數據和大數據處理的將來,咱們正在作一個基於社交媒體的流式數據加工和處理平臺,實時對社交數據作各類各樣的加工,能夠應用到精準營銷、企業公關預警、行業趨勢預測、競品分析等領域。在數據獲取到之後,咱們能夠在毫秒級別實現數據的實時處理及呈現。
這種對數據的需求,如今看來可能只是大企業願意花錢,不少中小企業甚至我的沒有辦法去享受這種數據服務,一方面是由於服務太貴,另外一方面是如今市面上的產品還達不到客戶的需求。可是若是能夠把這個服務變得很是方便,把收費的模式變得很是靈活,中小企業或我的都會有相應的需求。例如,我想買一個東西,特別但願瞭解背後的信息和評價。可是這些信息得靠我花時間去挖掘,將來經過咱們的服務,瞬間就能把這些信息所有展示出來。
不會。咱們實際上是作一個數據處理的架構,針對不一樣的平臺會有不同的數據獲取方式,和數據源的關係不大。除了社交媒體以外,咱們還會抓取一些視頻媒體、電商媒體的數據。永遠不要爲數據擔憂,由於數據在五年之後,你不知道它會有什麼樣的變化。五年之前咱們有這麼多數據嗎?根本沒有。你如今以爲拿不到什麼數據,之後的數據會愈來愈多。
技術挑戰是在流式處理的環節裏,要加入不少的元素進去,經過數據之間的關聯關係加強數據。如何加強呢?當從社交平臺上拿到某一條數據的時候,裏面可能有一個ID及這個ID說了什麼話。可是並不知道ID背後的這我的是什麼樣的,咱們會加強它。首先咱們會找到ID背後是什麼樣的人,把性別、年齡,或者其餘的數據算出來,這是一部分加強;第二是把他說的這句話作語義分析,讓這條信息得到更多的含義,好比說包含什麼樣的主題和情感。
對於不一樣網站的數據,咱們還考慮到數據之間的Map映射,經過Cookie、賬號、或者用戶信息作關聯匹配。好比說在微博上的用戶名、郵箱、生日等信息,能夠和豆瓣上的信息一塊兒作類似度匹配,計算出來是不是同一個用戶。
作大數據分析的門檻,一方面是要有構建大型系統的經驗。大型系統有很是高的併發,很是大的數據量,要能預見到問題在什麼地方,在什麼樣狀況下有什麼樣的問題,用什麼樣解決方案,這個難點已經把大部分人擋在外面了。第二個難點,要可以運用數學知識。大數據涉及的機器學習、天然語言處理都逃不過數學,算法裏的分類、聚類、預測、迴歸,無非都是數學。在什麼樣的場景下,用什麼樣的數學模型,調一個什麼樣的參數,這又把好多人擋在外面。
須要幾我的跟你作的事情和跟用什麼樣的人有關,Instagram 1.5億用戶的時候,技術團隊才6我的。若是一我的能力抵幾我的,那要不了那麼大的團隊。我在上一家公司搭建了完善的大數據離線和流式處理系統,天天大概有十幾億數據量的採集,50個Hadoop節點,可真正負責核心數據採集和Hadoop運維的人不超過四個。
對大公司來講人多好辦事,可我以爲小而美反而會更好。Google的Analytics這個產品,最初始的原型就是一個印度人開發的。人不在於多,而在於精。你用什麼樣的方式去解決這個事情決定了時間和成本,有不少問題的解決方案有不少,但有一條方案有多是最合適的、最省時間的、最便宜的,可是每每不少人找不到這樣的方法。你能根據本身的經驗和知識構建出好的解決方案,你就值得比其餘人得到更多的回報。
咱們團隊加上我本身才四個半人,一個產品經理、一個作大數據的、一個算法工程師,半個是咱們的在校實習生。他們的技術和知識面都很是廣,而且數學功底都比較深。
市場確定是缺大數據處理的人才的,但我說的是「人才」。如今也有培訓公司在作大數據培訓,但培訓出來的那不叫人才,叫技術工人。培訓公司教的就是Hadoop怎麼搭、MapReduce怎麼寫,這種東西其實用不着培訓,善學的人看看網上的資料就能夠作了。真正的人才是理解數據的人,核心在於掌握大數據處理的思惟方式。分佈式處理技術老早以前就有了,本身寫一套架構就能夠實現,只不過Hadoop架構讓這種服務變得很是便捷和廉價。
大數據的思惟跟日常處理數據的思惟不同。幾個重要的變化包括:用全量數據代替採樣、經過尋找相關性代替尋找因果關係、擁抱雜亂無章的數據。這幾點總結來自《大數據時代》那本書,引用一下。
採樣的方法很難保證隨機性,並且一旦採樣採錯了,最後的結論就是失之毫釐,謬以千里。用全量數據則沒有這個問題。直接的因果關係每每難以找到,而相關關係比較容易挖掘,而且相關性也多種多樣,好比強相關弱相關、正相關負相關、線性相關非線性相關等,都是咱們平常中要常常遇到的。第三是使用各類各樣的雜亂無章的數據,例如PC的、手機的、穿戴式設備的、腦電的,及線下的數據,你要想辦法把他們揉雜在一塊兒。數據越多,你描述一個東西就變得越豐富,越有可能接近真實的狀況。
技能方面最重要的是理解兩點,第一是跟底層操做系統相關的方方面面,第二是數據處理的一些基本算法。
現代的技術逃脫不了操做系統相關的知識,分佈式的算法也是同樣,無非是把一些任務拆解分到不一樣的機器上,讓不一樣機器上的數據在本機運算,而後再傳回去而已。當你對操做系統各項東西都理解了,好比內存、進程、IO都弄清楚了,你就是一個很好的架構師,在當前技術領域裏就沒什麼太大的難事,大數據在你面前就灰飛煙滅了。
市面上不少技術人員對IO的原理都搞不清楚,IO模型有幾種,Windows用什麼樣的模型,Linux用什麼樣的模型,一臺機器如何應對那麼多的請求訪問,高併發到底怎麼實現,一個請求怎麼產生的,在服務端怎麼處理的,最後怎麼返回給用戶的,整個的環節操做系統是怎麼控制的……並且不少小朋友對於算法複雜度,也是搞不清楚的。我實現一個東西,最低的算法複雜度是多高,都是能夠計算出來的。
這就是你的知識體系問題,咱們的教育體系在教的時候,沒有特別好地讓學生把這些作IT,作互聯網最基本的知識學到腦子裏。一些人在寫代碼的時候,用的邏輯簡直很是好笑,不是嚴謹的,不是最精簡的,不是一個合理的邏輯,只是實現了一個功能而已。爲何這些人找不到很好的方式去提高本身?或者學了一門新的語言就很得意。其實這一點意義都沒有,語言能夠在一天以內就學會,但若是不去關注這個語言爲何會產生,這門語言解決的問題是什麼是沒用的。他們的思惟方式,須要通過磨鍊纔可以達到一個新層面。
第二就是數據處理的一些最基本的算法,作互聯網要用到的算法包括分類、聚類、迴歸、協同過濾、推薦等。至少要去學一學,去了解一下,在什麼狀況下,我應該用什麼樣的算法去實現一個什麼樣的東西,這些都是在作數據處理的時候很是重要的。
搭建新團隊的過程通常須要一兩個月,由於搭建以前就對團隊的目標和所需的技能內心有數了。核心團隊主要來自於一些志同道合者,已經創建了很是好的信任關係,因此比較容易一塊兒共事,在這個基礎上再慢慢尋找其它成員。
上一家公司的研發團隊接近100人,我面過幾百我的。挑人的時候我主要看兩方面。第一是人品、態度和爲人處事,品格要端正,待人接物要懂禮貌。由於一旦要去作一些大的事情,必然要求這我的是很大氣的,一個團隊的短板,決定了一個團隊能走多遠,一個大氣的人,一個心胸寬廣,一個很沉着冷靜的人,必然能作大事。並且每每在危機的關頭,他也知道怎麼去作,他也能挺過去。
第二點這我的必定要足夠的聰明,學東西必定要足夠的快,這方面經過交流過程當中觀察他的思惟和邏輯來判斷。經過一我的說話的方式,組織語言的方式,基本能夠看出他平時怎麼思考,他有沒有在思考,他之前有沒有思考過這些問題。
舉個簡單的例子,比方說我會問:你是怎麼學語言的?有些人會說,就是把語法看一遍,習題作一作,而後就上手開始作東西,這些人每每有可能就是把一個經驗用了好幾年。另一我的會說,我要先去了解這門語言,它是怎麼產生的,爲何存在,它的特性有哪些,它適用於哪些場景,它有什麼樣的數據結構,它是一個函數式語言,仍是面向對象的語言。若是面試者跟我談這些,這我的的思惟模式就對路子了,說明他在更高的層面上去看這件事,這種人每每具有較強的解決問題的能力。創業團隊要面臨着不少特殊的狀況,不可老是讓老大沖在前面,每一個人都要有解決問題的能力。一我的的思惟模式就表明了他是否具備處理問題的能力。
我會從各個層面去了解候選人,反而技術問題會談得很是少,由於技術都是能夠教的,但爲人處事,或解決問題的能力是很難教的。一個熱愛運動的人身上每每會有拼搏精神,有興趣愛好說明他能長期堅持作一件事情。我如今的團隊人,每一個人都有本身的愛好,可是惟一最重要的一點,他們都有一顆善良的和包容的心。固然,在上家公司招聘的人裏,有10%的人仍是招錯了。百分之一百把人看準了,這是不可能的。
招聘的時候還遇到有一類人,是來自大公司的求職者。大公司的毛病每每在於,一我的就是一顆螺絲釘,這些人每每只會一個工具,在公司只作一件事情,工資還不低。他們換工做的緣由是以爲無聊,必需要成長,不能在一個地方作兩三年都作同一件事情。可是想擺脫這種困境須要作好準備,沒作好準備怎麼往上跳呢?因此在大公司工做必定要注意提高本身的視野和技能,這對長期成長來講,是很是重要的事。
從08年開始,在線廣告變得愈來愈火,這中間經歷了視頻網站、SNS、微博、電商的崛起,廣告在這裏面扮演了很重要的角色,每一年有幾百億的市場在裏面。雖然跟傳統的廣告相比仍是很小的一塊,但它的比重在變大,而且形式變得豐富多樣,不只僅是圖片、文字、聲音,還有地理位置,不少新東西在進入廣告這個領域。互聯網廣告不停改善的目標,一方面是把營銷變得更精準,另外一方面是把廣告變得不是那麼突兀,而是以一個很是的天然的狀態呈現。
但中國互聯網有不少急功近利和不太好的地方,比方說作廣告監測的時候,咱們發現不少媒體都在做弊;還有就是媒體間競爭愈來愈激烈,同質化嚴重,例如視頻網站的內容同質化,但慢慢地你們也在走差別化道路了;另外對於怎樣避免廣告干擾用戶,怎樣避免隱私被過渡使用,這是須要咱們全行業去解決的。你們應該聯合起來創建一套標準,把用戶服務好,而不是想着瓜分用戶、搶用戶、不停騷擾用戶,這樣只會把這個行業毀掉。
技術的演變並無什麼特別的新的東西,可是技術在逐漸的被模塊化和標準化。如今構建一個產品,已經能夠根據業務的場景,用開源的服務把它搭建起來,生產力變得更加高效了,技術正變得易用、標準、開放、可拆卸。
早年聽了不少搖滾,看了不少電影啊書什麼的,算是文青。遊戲打的也很多。如今這些基本都是須要放鬆一下時候才碰一下。可是運動仍是要堅持的,跑跑步踢球游泳什麼的,逮到機會而且空氣也不太差的時候就鍛鍊一下,身體對於創業來說很是重要,前幾天由於勞累加吃壞了東西腸胃發炎,影響工做好幾天。也能夠說如今最大的興趣愛好就是創業了,把這當遊戲成就同樣來看待,想一想都是很興奮有意思的事情。
圖爲2002年的世界數學家大會,和曾得到Fields獎(數學界的諾貝爾獎)的法國數學家拉弗格合影
技術人攻略訪談是關於技術人生活和成長的系列訪問,歡迎和咱們有共同價值觀的你關注「技術人攻略」,郵箱 devlevelup@gmail.com,新浪微博 @devlevelup,但願能成爲技術人成長的精神家園。
歡迎經過微信公衆帳號關注技術人攻略
感謝SegmentFault提供博客專欄及推廣支持。
感謝迅達雲成提供雲主機及技術支持。