一篇文章看懂大數(shù)據(jù)分析就業(yè)前景及職能定位
Overview:
- 基本概念
- DS的職能要求
- DE的職能要求
- 總結(jié)
好了,就解釋到這里了,今天主要給大家好好說說python的發(fā)展方向,這篇文章也是藏了好久了,群里各種問怎么學(xué),大數(shù)據(jù)分析怎么學(xué),爬蟲怎么入門,說實在的,你關(guān)注我號久一點,都知道有那么幾篇文章是專門給入門看的,還有幾篇是資料總結(jié)的。會找的都能找到。
但是一篇可能不夠,因為我想盡可能的給大家剖析行業(yè)情況,讓大家在做選擇的時候不至于還不知道這是干啥的,只知道這個很火。
今天就先給大家講大數(shù)據(jù)分析工程師。
一、基本概念
對于一大部分想轉(zhuǎn)行做IT,做python的,都是沖著大數(shù)據(jù)分析來的,那你知道大數(shù)據(jù)分析的是啥嗎?你知道大數(shù)據(jù)分析的崗位職能分配情況嗎?
如果這些都答不上來的話,那就別追風(fēng)口,如果盲目的跟風(fēng),只會讓你進來找不著北,到頭來,浪費1年時間,還的回去干老本行。
首先,我們經(jīng)常叫的大數(shù)據(jù)分析師有兩種崗位定位:
- 大數(shù)據(jù)科學(xué)家,Data Scientist,DS
- 大數(shù)據(jù)工程師,Data Engineer,DE
從這兩個單詞里,你就能看出端倪了,那接下來就以我在普華永道的工作經(jīng)歷告訴你,這兩者的區(qū)別,以及工作內(nèi)容劃分。
二、DS職能要求
1. 專業(yè)知識
DS的職能是算法分析,是基于對行業(yè)背景的了解幫助客戶作出預(yù)期計算。而這里面就會涉及到很多專業(yè)知識,俗稱統(tǒng)計分析。
和pwc同事共事的時候,我經(jīng)常向他們討教關(guān)于DS的一些事情,再加上一起做項目,分工明確,也自然對DS更了解一些。我見過的DS都是碩士畢業(yè),還都是全美***0的學(xué)校,要么博士。
不是學(xué)歷歧視,是你要做這事情,就得要這點本事,你沒有7年,你的專業(yè)知識支撐不了你做DS。如果你不理解這句話,我給大家舉個例子:
大家都讀過小學(xué)(就怕我說都讀過高中,你說你初中畢業(yè)為了生存,就出來打拼了)不考慮天才好么,我們都是小老百姓。然后解題思路就是按照老師教的,而思路只局限在一元二次方程組,二元一次方程組,而讀過大學(xué)的,他可能直接用積分就給你解出來了;幾何題都做過對么,幾何題難的是什么?做輔助線啊!輔助線出來,人人都是華羅庚,還喜歡后面跟一句,我要是畫出來了,我也會做。
這是什么?就是知識邊界啊。你所知道的星辰大海,只是別人的滄海一粟。所以專業(yè)知識必不可少。
2. 行業(yè)背景
接下來DS還需要有某個領(lǐng)域的行業(yè)背景,俗稱BK,background knowledge。你可能會奇怪為什么還要這。
因為大數(shù)據(jù)分析都是針對行業(yè)來做的,那么行業(yè)內(nèi)的行話,套路,潛規(guī)則,生存法則都是不一樣的,你要對公司做預(yù)期分析,你就得對行業(yè)有一個基本認識,甚至深入了解。
我們以前的DS,貫穿各大實體行業(yè),有保險的,醫(yī)療的,建筑的,心理的,法律的等等。為什么要招那么多DS,就是因為每個DS都有自己擅長的幾個領(lǐng)域。一定的BK能夠幫助DS在面對數(shù)據(jù)的時候快速的作出信息過濾,能夠在聊需求的時候,快速給出反饋。這才是價值。
3. 工具
到了第三塊,才是你們關(guān)心的python,為什么把python放***?因為python只是一個工具。對于開發(fā)者來說,python可能是你們的底,但對于DS來說,python只是一個交通工具。
以前用excel VB,后來用java,現(xiàn)在還有人在用R,不過更多的還是python。這就好比說,現(xiàn)在如果你想去某個地方,坐地鐵能到的,基本都坐地鐵,因為又快又方便。那沒有地鐵的時候呢?只能做公交。沒有公交的時候呢?就得騎自行車,或者走路。
所以DS從來不會關(guān)心代碼運行效率,他們關(guān)心的是編碼效率。而python正好又是編碼效率極高的。
所以你要和我說你在外面培訓(xùn)了4個月的大數(shù)據(jù)分析后,就想做DS了,那請你再考慮考慮。
三、DE職能要求
相對DS,DE就比較雜了,做的事情也多。就拿我來說,當(dāng)時中國data team 就3個,2個DS,你說我是DE也可以,說我是打雜的也可以。因為DS只負責(zé)算法輸出,而其余的都是我來做。
你們想想,一個項目光有算法能行嗎?誰去執(zhí)行它,它要如何被外部調(diào)用?臟數(shù)據(jù)的清洗工作誰來做?還有很多很多的事情需要你考慮。
那我一個個來說,首先DE最重要的事情就是輔助DS清洗數(shù)據(jù),我們叫data cleaning。因為很多時候從外部拿到的數(shù)據(jù),無論是買來的,爬來的,還是已有的,都是原始數(shù)據(jù),DS需要對這部分數(shù)據(jù)做一個預(yù)處理,否則很容易污染樣本數(shù)據(jù)。那DE的工作,很重要的一部分就是去清洗數(shù)據(jù)。至于規(guī)則是你和DS討論的,沒有一個固定的模版。
其次,剛剛說到的數(shù)據(jù)來源,有一個是爬來的,所以你還得會爬蟲。關(guān)于爬蟲部分的內(nèi)容我會另起一篇,給大家好好講講。當(dāng)時我想做,但沒有做的一部分就是爬蟲,因為全美有很多公開數(shù)據(jù)是可以去獲取的,當(dāng)時我想做的是分類,包括清洗、過濾、入庫、展示。沒來得及做。
如果你會爬蟲,DS就會很高興了,因為他們不用為沒有數(shù)據(jù)犯愁了,你要知道,對于DS來說,數(shù)據(jù)的數(shù)量和質(zhì)量都是他們關(guān)心的東西。而老板更是了,因為DS要數(shù)據(jù),他就要花錢去買,如果你是DE你說你可以嘗試爬爬看,那老板對你什么看法?
那你如果還會做后端開發(fā)就更好了,我當(dāng)然的主要經(jīng)歷就放在了自動化建設(shè)上面。US那邊的老板是沒有要求做,那我是本著提升生產(chǎn)效率去的,所以是自己給自己加戲了。***的效果還不錯,讓我一個任務(wù)從一周到1-2分鐘,只需要改配置就可以了,當(dāng)然這個過程是非常痛苦的,我們前前后后一起對需求,review代碼。
然后服務(wù)端寫好了,我們還可以做前端展示,對于vendor來說,他們不關(guān)心數(shù)據(jù)怎么來的,他們想看直接的東西,那不就是dashboard嗎?這塊我也沒做,只是開了個頭。
后來發(fā)現(xiàn)我們有一個20人的app團隊在做這個事情,我肯定沒有人家20個人做得好,但是起碼在他們交付前,我們data team也可以體現(xiàn)出價值來不是?否則只有等app team做完了,把我們的數(shù)據(jù)接入了,老板在看的到。
所以我一直強調(diào),價值是自我實現(xiàn)的,平臺給你的是機會,能做多大,都看你自己。前幾天還和一個讀者說這個事情,我說別和我扯公司規(guī)范,流程,在我看來都是借口。
你做運維,一定要等測試代碼過了給到你,才能發(fā)布,那你為什么不能把測試之后的步驟自動化?讓測試自己提交jira,然后打鉤子,做CI/CD?部署服務(wù)器,和我說測試服務(wù)器就要手搭,搭好了之后有一套腳本會自動化部署其他服務(wù),那為什么不把創(chuàng)建服務(wù)器也自動化?你又不是物理機,你是云服務(wù)器啊。
題外話了,我們收回來,所以對于DE來說,做的事情可以很多。那python就是我們的武器庫了,武器是爬蟲、數(shù)據(jù)清洗、后端、前端等等,要什么拿什么,就看你有多少了。而武器庫里還可以加上kettle、tableau、informatica等等,這些只是附加項了。
這個,培訓(xùn)機構(gòu)4個月培訓(xùn)一個武器,我是相信的。而他們鼓吹的大數(shù)據(jù)分析師,其實就是DE。不能說絕對,只能說大部分把,給自己留條路……
四、總結(jié)
好了,今天說了那么多,希望能給正在大數(shù)據(jù)分析路上的你,吃一顆定心丸,該走的路一步不能少。