你們是不是很缺大數據工程師?

文·blogchong (微信公眾號「博客蟲大數據」,微信號blogchong)

緣起

之所以有這個話題,是因為周末加班中午吃飯與一個同行朋友聊起了這個話題,之後再細細地結合一些其他接觸的東西,確實是有些感觸的。

並且對於行業的一些現狀,也的確有些自己的看法,對不對先不論,這玩意兒也沒有對錯之分,每個人都有自己想法,當然也包括我博客蟲了。

所以,有些東西、有些想法我還是願意分享出來的,暢所欲言吧~~

我眼中的大數據現狀!

其實個人在大數據在大數據這個坑中,細細算來時間也有3+年年了,從一開始做大數據中心平台開發構建,到現在關注的數據上層應用挖掘。所以,基本上從數據收集->數據處理(離線實時,並且還勉強算是國內實時處理早期的實踐者)->數據上層應用挖掘,這個鏈路都走了一遍。

並且加上手裡一千多人的大數據圈子,發起組織線下技術沙龍等等經歷,坑內里的做的並不算十分的多,但是通過一些交流,接觸過的這方面的東西還是不少的。

所以,不至於有資格說對這個技術方向有啥定論,但是一些自己的看法見解還是有滴。

說起大數據,有個成語可以來形容一下它的現狀:遍地開花!

如今,在國內,只要是個IT公司(說的是非傳統行業),出去的時候,感覺要是說自己公司沒有涉足大數據都不好意思。

所以,現在的情況大部分是這樣的:一個創業公司哪怕只有十多人的開發團隊,也非得整一個大數據小組出來,我們不止要做大數據離線處理,還要做離線處理,不止有數據分析報表,我們還得進行深度的數據挖掘,做到精準的個性化推薦,流弊的數據預測!

偶滴娘親啊,寥寥數人,不止要搭起一整套完整的數據收集、數據傳輸、數據離線實時處理,不止要維護hadoop集群、spark集群、storm集群的穩定性,抽空還要做深層數據挖掘,還要研究工業化流弊的演算法。

你們招的這些人不是攻城獅啊,是神啊!這麼流弊!

其實我並沒有說這種做法一定是錯的,只是行業現狀真心很多這種情況。如今,大數據確實是異常略微畸形的火爆!

至於說大數據這個技術方向為何會如此的爆炸,個人的觀點可能和大部分的觀點一樣:一方面是數據積累到一定程度了;另一方面是大規模數據處理技術的日漸成熟,其中當然以hadoop生態為代表。

但在不久前,我曾和一個創業公司的COE聊過這個話題,他的觀點很新穎。他反駁了我的觀點,他說中國現在之所以大數據遍地開花,是由於賺錢模式變了。

他說,在以前,隨便搞點啥都能拉到一大堆投資,但現在經濟形勢不一樣了,必須想其他新的觸發點,那就是數據,並且圍繞數據而產生新的利益點,這樣,投資人才願意投錢進來,所以是個公司都願意和大數據沾點邊,不然都不好意思出去說。

就個人而言,其實感覺他說的也挺有道理的,不過我依然保持自己的看法,只是兩人看待事情的角度有些不一樣,我是從技術的角度去解析這個情況,而他則更多從創業者的角度試圖去解釋這個事情。無關對錯!

就目前來說,業內大數據遍地開花這個情況確實是存在的,個人感覺大體上有如下的具體變化:

  • 涉足的數據處理方式上來說,大規模離線處理已經被玩壞了,稍微有點實力的公司都已經開始離線、實時並行了(近一兩年Storm、Spark強勢崛起);

  • 而在數據來源上,已經不再局限於自個的數據了,越來越多的公司開始爬取互聯網上的公共數據(我曾在《DT時代變革的反思》一文中比較詳細的分析過這個數據新來源);

  • 而在數據的上層應用上,也已經不再局限於多維統計分析,漸漸得向用戶畫像、精準個性化推薦、業務的預測等方向靠攏(但實際上深層挖掘方面,國內還是很low的);

大數據年份這東西!

之前和朋友吃飯時聊的時候,他說到大數據這個技術方向的積累問題。他曾感嘆到,大數據這個方向還是缺少底蘊。

我問他為何這麼說,他說你見過十年以上的大數據專家么?其他行業方向,比比皆是!我頓時無語,大數據這個技術方向滿打滿算才發展不到六七年吧,上哪找十年以上的大數據專家去。

情況確實是這樣的,基本可以分這幾種情況吧:

  • 在這個坑裡,真正五年以上的大數據背景的人,已經可以算的上是半個專家了,業內絕對是稀有動物(所以,經常看到那種招聘簡歷寫到十年以上大數據行業背景,我就笑了);

  • 而諸如三四年的,會點數據架構,又會點上層數據應用挖掘的,估計至少也能算的是半個中堅了,這種人不算太少,但也絕對不算多;

  • 最多的是那種不到兩年大數據行業背景的,特別是那種聽聞大數據行情好,紛紛轉過來一兩年左右的,再就是那種一畢業就立志投身大數據行業的新人朋友,這類型的人應該是佔據大數據從業人士中的絕大部分。

這個方向卻是缺少累積的,經常在群中(storm-分散式-IT技術 191321336)遇到那種號稱是搞大數據的,然後問到:hadoop和storm哪個比較好?

我的天吶,為何他們那麼喜歡把兩個不是一類東西放在一起比較?!我都無力吐槽了,就目前來說,大數據這個方向確實缺少底蘊,還略顯浮誇,需要時間去積累。

企業在招什麼樣的大數據工程師?

剛洗白一兩年的,或者立志為大數據行業做貢獻的畢業生。

剛才說大數據行業遍地開花,人員稀缺,從個人經歷來說,這真心是這種狀況。

業務重心逐漸偏移到數據部,所以部門急劇擴招(當然也有老員工離職的問題),近三個月來,我陸陸續續面試了大約有7個人左右吧。

面試的人中有兩三年工作經驗的,也有四五年工作經驗的,當然也有剛畢業的本科生或者碩士生。

看年份感覺都還不錯是吧,但是如果你翻一翻簡歷就會哭了。就說說三到五年工作經驗的吧。

簡歷中,項目經歷一項一大溜啥XX管理系統、XX電商後端開發項目,翻了八九個項目,終於在最後看到辣么一兩個大數據有關的項目。而掌握的技術中是各種的什麼Spring MVC啊、SSH啊、js啊、甚至是php之類的,只有寥寥數個什麼hadoop啥的,還不敢放在前頭,當時我就哭了/(ㄒoㄒ)/~~。

情況真是這樣的,工作經驗足的,很多都是剛從其他技術領域轉過來的,其中以開發java後端,諸如精通什麼MVC框架的人群為主體。

能說上hadoop是怎麼回事,會點MapReduce、Hive之類的是常態;會點Spark,能寫Scala,知道Storm的,少之又少;能把整個數據框架流程說清楚的都是奇才了;至於說到大規模數據的深層挖掘,他們是這樣說的「沒怎麼接觸,但有這個興趣去學」。

行情確實是這樣的,大數據的坑挖的太大,所以各個公司都缺人,而且還是奇缺,所以也就有了上面我說的現象,各個行業,特別是傳統IT行業的從業人士,紛紛轉入互聯網,投身大數據。而有點大數據經驗的,大部分都是香饃饃似得供著,不願意放手。

所以,最終我們這邊實際情況就是,問HR咋回事,HR說JD發出去無數份,能拉過來面試的就醬紫了。

最終大老闆發話了,說到:經驗差點沒關係,只要腦子活願意學,就要!所以,7個人,offer就發出去4份。

但更悲劇還在後頭,兩個有大概平均1.5大數據經驗的人,拿到offer後根本不鳥之,也也不知道後來去了哪個公司,而最後進來的是兩個本科以及碩士應屆畢業生。

所以,就目前來看,大數據行業的火爆帶來的一個現狀就是,大量的java開發人員轉行,大數據行業背景平均在一年多,雖然如此,依然是供不應求的。

我們來看看一些「喜人」的招聘需求。

隨便翻一翻招聘網站的職位需求,每天都有大量的大數據相關職位被刷新。然後結合剛才我們所說的一些混亂現狀,你會發現很多「喜人」的招聘說明。

我希望的是,用人的公司也好、企業也好,看完這個之後,能對招人有個更清晰的定位。

我們要的是大數據行業專家!

JD中是這麼描述的,十年以上大數據領域經驗,然後會XX,然後又得會XX。再多的俺就不多說了,結合剛才我們說的大數據行業歷史。十年?我就呵呵了~~

我所看到的這種JD,大部分出自於傳統IT行業(看到沒,傳統IT行業也開始追趕潮流了),而互聯網公司職位描述就含蓄多了,最起碼他們不會動不動就要十年以上「磚家」。

而且還有一點個人想吐槽的就是,你說十年就十年吧,給待遇還奇低無比。關於這一點,互聯網公司就比較明白事理的。

關於大數據薪酬這一塊,我們再進行分析分析~~

我們要的是能進行大規模數據挖掘的人才!

關於數據挖掘,上面也稍微提到過一點,數據的上層應用挖掘,這個需求隨著數據處理流程日益完善,數據的應用已經從簡單的多維統計分析,慢慢得向深層挖掘過渡。

不說大規模數據,就說傳統的數據挖掘,其實這塊就國內的情況來看,還是處於比較初級的狀態的。

我們經常看到這樣的職位JD描述,Title寫的是「數據挖掘工程師招聘」,然後附加條件是,熟悉大數據領域,會MapReduce、kafka、hadoop、storm、spark,熟悉ETL,對若干NoSQL了解熟悉,能夠進行平台搭建,平台開發,能夠進行數據處理,會分類、聚類、用戶畫像、個性化推薦各種演算法。

最後在工作年限上寫著「1-3年」(年份太足是很貴的嘛)。我的天啊,他們看樣子不止是想招數據挖掘工程師啊。

他們像是在招ETL工程師;不對,應該是大數據平台開發工程師;也不對,好像確實是在招數據挖掘工程師,沒看到有演算法需求嗎。

我趕腳呀,他們不是在招數據挖掘工程師,他們是在招一個全能工程師,是在招一個神啊。

說了不少,對於大數據人才招聘這塊,簡單的總結一下吧!

其實個人感覺,企業還是需要對自己崗位定位要有一個比較清楚的定位的。

如果你的資金足,想招一個業內權威點的,專家級人物,沒關係,但你也別睜著眼瞎說十年吶。上哪去給你找十年專家啊!

所以,個人建議就是,瞄準在大數據領域真正玩過五年以上的,基本上就是牛人了,也足夠你用的了。

然後針對剛才說的「數據挖掘」招聘現象,其實定位也很重要了,真心想要招一個類似「全能」的人,至少也要找一個在這個領域待過3+年的。

至少三年以上的時間,這種人會對數據架構,數據處理流程,甚至是上層數據應用挖掘,都有相應的經驗,而不至於空白一片,並且容易帶動其他一年半年的大數據經驗的人,做方嚮導向,團隊就能快速形成大數據戰鬥力。

所以,如果真心想要類似這種「全能」,真心實意點,把年份改到3+吧,並且要求實打實的3+大數據技術背景,估計差不多。

接下來就是那種一兩年的大數據技術背景的,這種以java後端開發轉行大軍為代表。如果你的預算瞄準的是這個市場,那你也別玩虛的,對口招聘吧。

要做大規模離線處理,你就招會hadoop的;需要實時處理,你就招會Storm或者會Spark Streaming的;需要做ETL,你就招熟悉ETL流程的;招數據挖掘,就找會點演算法的。這才是實在的!

而對於應屆生來說,個人趕緊項目經驗都是其次的,哪怕是一些實驗室項目經驗來說,也沒啥大用。好歹算是接觸過一些內幕的,所以實驗室項目的質量,咱就不多說了,呵呵就行了。

所以,我們看的一是基礎能力。就個人的感覺來說,基礎能力當然不必說,我更偏向於對大數據技術感興趣,並且思維敏捷的應屆生。

為什麼這麼說呢?因為大數據技術這個領域會涉及大量的新事物,各種開源的東西,經驗少沒關係,只有思維夠敏捷,有強大的快速學習能力,那就沒有問題!

我們真的需要演算法工程師嗎?

接著剛才的話題,不少企業公司打著招數據挖掘工程師,演算法工程師,我在想他們是真的需要演算法工程師么?

答案顯然是否定的!

我曾關於數據挖掘工程師與演算法工程師的區別問題,跟不少人討論過,我的個人看法是,演算法工程師的範圍顯然是小於數據挖掘工程師的。

數據挖掘工程師需要了解整套數據流入的過程,包括數據的接入、預處理,然後需要知道怎麼用數據解決實際的業務問題,說白就是想辦法讓數據產生價值。

他需要知道一整個數據到業務輸出的機制或者說是系統,可能涉及到複雜的演算法轉化,也可能只是簡單的規則轉化,或者多個模型的轉化組合輸出等等,他是一個比較全面而概括性定位。

而演算法工程師則不一樣,他們的職責我認為更純粹,他們需要知道如何把現實問題轉化為數學的模型,並且把模型調到極致,從而解決問題。所以,演算法工程師工作內容更單一,但是更專,需要更好的數學功底。

這也就是為何我不敢對外說是演算法工程師的原因了,我怕被揍,哈哈~~

OK,有點繞遠了。我們回過頭來說說,目前大部分公司企業在找大數據的人,同時也在找數據挖掘工程師或者演算法工程師。

那麼,企業或者公司如何在數據挖掘這塊進行定位呢?我個人認為,大部分中小公司是不具備找純演算法工程師條件的。如果,有小公司說要招演算法工程師,要麼是金多任性,要麼是打著招演算法工程師的幌子,招會點數據挖掘的人。

至於原因呢,一方面是演算法這塊,在國內屬於稀缺資源,所以成本都比較高;另一方面就是在實際的業務操作中,高深的演算法模型難以工業化(所以,大部分論文上的東西離工業化生產是很遠的,別被騙了);再者就是在數據挖掘領域,一些很初級容易工業生產化演算法,甚至是簡單的規則定製,都在現階段已經能達到業務目的了,我們又何必費那個勁呢?!

所以,我認為企業在這種階段,你們需求是這種能夠進行大批量數據處理,然後又知道怎麼進行數據工業轉化的人。因為,演算法工程師在這種階段難以獲得你需要的性價轉換。

包括我們大數據部門內部也是同樣如此,演算法小組冠著「演算法」的頭銜,干著數據處理的雜活。這需要時間去過渡!

當然,如果你一定要養那麼一群專業的演算法工程師,辣么,我只能說,你拿的天使投資太多了,估計是不知道怎麼花了,養著就養著吧。

談一談薪酬,談一談人生吧!

最後,談一談薪酬,談一談人生,談一談理想吧!

說到談薪酬,談人生談理想這個環節,我想大部分都是比較喜歡的,我也不例外,我也很喜歡,哈哈~~

正如之前所說的,大數據這個領域,有點略微畸形的火爆,導致了這個方向很缺人,也正是大量java後端開發人員轉行的直接原因。

因為缺人,他們就轉行么?顯然是扯的!大伙兒都是有理想的人,要向「錢」看的。缺人,找不到人怎麼辦?提高待遇,自然就有了。

我看到過一份2014年的職業薪酬統計報告,其中大數據方向絕對是屬於偏高的。就我所知,除去金融行業的高玩們。

接下來就是玩數據挖掘的,特別是會大規模數據挖掘的人,如果是專業的演算法工程師,那麼,就更贊了,麻麻再也不用擔心我的工資了。

然後就是遊戲行業的開發著,遊戲是個保利行業,所以他們薪酬高一些是很正常的。

再接下來就是冠以「大數據」稱號的攻城獅們。這類的,要麼是做平台構建的,要麼是做大數據架構,要麼是做數據處理的等等。工資也比純Java後端開發、C開發、C++開發等高那麼半檔一檔的。

接下來跟大數據沒有半毛錢關係的職位啥的,我就不多說了~~

寫在最後

所以,總體來看,整個大數據行業還是比較混亂的,企業對自己需求定位很混亂,雖然如此,依然是難以招到人。

對於投身大數據這個坑的人來說,我個人的建議就是,要入行沒問題,但是找准自己的興趣G點,別想著啥都想掌握。找准一個切入點,比如就是平台搭建、就是ETL、就是寫離線處理程序、就是研究實時等等,然後,慢慢再往大領域中擴充自己的大數據知識庫存。

就我個人來說,從數據架構到數據上層應用挖掘,目前依然在坑內,也沒有打算從大數據的這個坑中脫身。

大數據這個方向是個技術快速更新、迭代的技術領域,所以,個人鼓勵坑中人士多多交流、多多分享才能跟上這個時代潮流。

我一直堅持著技術的分享與交流,所以也經常寫點偽技術文章,只是希望能夠把這個思想傳遞給更多的人。

說一件比較可喜的事,1月9號左右,我將再次發起組織「米特吧大數據技術沙龍」,這是第二期了,地點依然是會在北京。我已經不滿足於線上的交流了,哈哈,我要「佔領」線下~~

真心的,技術是需要傳播交流以及分享的,特別是大數據領域,更是需要及時掌握最新的技術導向以及行業變化。

最後,以一句我堅持三年的話結束這篇文章:「進步始於交流,收穫源於分享!

(全文完)


推薦閱讀:

Python語言在未來的發展前景
關於互聯網,這些數據你知道嗎?
羅振宇:「超級用戶」在互聯網時代起到了哪些作用?
《與有8年健康醫療服務領域探索經歷的專業人士的討論》沈理然

TAG:大數據 | 數據挖掘 | 互聯網數據分析 |