FacebookTwitterLineHatena

文:黃進然

畢業於中山大學數學系,10年以上資料科學領域從業經驗,曾任職於順豐科技,目前在一家創業公司擔任資料負責人,從事零售行業資料應用研究,擅長資料分析、資料探勘、資料產品以及資料視覺化。

每年總有很多人,懷揣著對世界的一知半解、滿腔似火的熱情、還有對美好生活的嚮往,走出象牙塔,投身社會。

世界很大,誘惑很多。對於未來,甚至在工作多年後,他們仍然沒有清晰的方向,或者缺乏獨立、深度的思考。

方向很重要,而人生很短暫。往哪裡走,怎麼走,再怎麼也得花點時間思考一下,不是嗎?

如果你決心要在資料科學領域有所作為,或者立志做資料分析,這篇文章提了點小建議,希望對你有所幫助。

一、去大廠還是去小廠?

我們做每件事之前,都要先明確做這件事的目的和意義是什麼。

先來問問自己,做資料分析價值是什麼?我的理解是,致力於用資料幫助企業解決業務問題,輔助業務決策。

關於這個問題,你可以花3-5年時間來思考和領悟,不急,但需要想清楚。

你還面臨一個抉擇,到底是去大廠還是去小廠?

之前接到很多獵頭電話,不少都會問:「你是做分析還是做探勘的呀?」剛開始,也常會和獵頭在電話里「理論」一番。後來在大廠待過才明白,大廠分工比較細,分析是偏向經營分析,即取數分析寫報告,而探勘則是建模調參部署等。小廠就不一樣了,談需求、確定思路、指標設計、平台搭建、接入資料、處理資料、建立寬表、模型訓練、結果分析、撰寫報告、模型部署、報表計算、資料可視化等一整個流程,一個人幾乎都可能會參與。

如果有機會,請一定要去大廠歷練幾年!大廠大多都很開放,常常敢為天下先,敢於引入一些新的東西,包括技術、思維、制度,技術比較先進,優秀的人也很多。大廠的管理制度也很完善,福利待遇當然會更好些。大廠的資料規模絕對夠大,而且應用場景也多,可施展的空間應該會比較大。所以,抱著學習的態度在大廠里混幾年,是可以成長很快的。(有好,當然也有不好)大廠流程繁雜,整體效率偏低,提一個取數申請可能需要1-2周。大廠的內部競爭也大,存在於不同專案團隊,也存在於同一部門不同成員之間。大專案資源投入大,小專案資源申請很困難,重視程度也不一樣。最主要的,大廠分工很明細,不同職位的輪換似乎不大容易,從入職到幾年後離開一直做經營分析都是有可能的,容易導致能力的單一,不利於個人綜合素質的培養。

相比之下,小廠就靈活多了,人和事都不會很複雜,而且效率也高。小廠可能會優先考慮做這件事情的投入和產出,即看應用效果。(大廠反而願意給資源去試,短期內不怎麼關注投入產出。)所以,在小廠工作,既要學會幫公司賺錢,也要學會幫公司省錢。小廠分工不會很細,大多需要一個人做多種工作。所以,小廠裡面的程式設計師常常身懷多技。但小廠資料規模小,技術實力較弱,團隊成員整體素質不高,而且專案流程不大規範,常常怎麼簡單怎麼來,怎麼高效怎麼來。有些小公司的程式設計師,除了對外發過一兩封郵件,平時的溝通幾乎是在即時通訊里,結果待了幾年之後連寫一封郵件都不會。有些小廠自己沒有資料,重要是作為乙方給大企業做專案,這種模式常常受甲方牽制,可發揮的空間很小,而且一個專案周期往往比想像中要長(我本人之前就厭倦做乙方),因此不大建議去這樣的公司。

不管大廠還是小廠,在選擇時,建議都要看看所要加入的團隊。

綜合來說,建議先去大廠混幾年,再去小廠找個Title高點的職位發揮自己所長。

再來說幾句,什麼場景下分析,什麼場景下挖探勘呢?

分析其實是一個很籠統的概念。把當前營業額跟去年同期做對比發現增長了不少,這個也可以認為是分析。分析是從資料中發現問題或規律,並提出合理的建議。分析常常伴隨著要寫簡報,進而要給業務方彙報分析結果。最好是給決策層彙報,因為決策層有拍板的權力,而且對資料分析結果的感知和可能的應用有自己獨到的認知。

如果需要把分析的結果固化下來,定期輸出結果,提供給業務方,這個時候就需要開發資料產品了。

資料探勘是用演算法解決某個具體的複雜問題,用常規分析方法解決不了的,如客戶流失預警、商品最優推薦組合、最有投遞路線規劃等。

所以,我一般認為,分析是從資料中發現問題或規律,而探勘是其中的一塊。

二、1-3年,「所見即所得」,打磨基礎技術

在職業生涯的初期,請牢記,「所見即所得,所感即所知,多見即多得,多感即多知」。

不管在大廠還是在小廠,一定要參與到實際專案當中,好好打磨自己的技術。不管是大專案還是小專案,一定要藉助來之不易的機會,以極致的工匠精神修鍊自身。

你最好能從基礎資料處理做起。只有這樣,你才能早點知道,資料並不像在學校里做實驗用到的資料那樣「好」,它可能看起來「又臟又亂」。只有這樣,你才能早點知道,給你取數的那個程式設計師是如何花了2-3天甚至一周時間才把數算好。

如果你精通SQL,那就太好了,這樣就可以直接能夠在資料平台查看原始的資料了。

最好要看一看最原始的資料長什麼樣。你不一定能一下子理解這些資料,但你可以慢慢地感受它們,因為它們所投射出來的是最真實的業務場景。

舉個例子吧,原始的會員註冊資料裡面,性別一般填「男」、「男性」、「女」、「女性」、「未知」、「其它」等值,但處理好之後的二手資料裡面,性別就變成了「男」、「女」、「未知」等三個值了。僅看這三個值,可能會漏掉一些業務場景,填「男」可能是從行動端輸入時選擇的,填「男性」則可能是手工填寫註冊表格時勾選上的。而漏掉的這個場景,說不定就是所要找的那個分析點。

你最好還能熟練掌握一兩門編程語言,比如當下流行的Python,作為入行的基礎技能。(順便說一下,程式界普遍認為只會SQL的不算真正的程式設計師~~)

當今時代,編程已經從娃娃開始抓起。早在5年前,英國規定5歲以上兒童必須學習編程課,法國將編程列入初等教育選修課程,美國已有40個州制定政策支援計算機科學,有35個州將計算機科學課程納入高中畢業學分體系。美國前總統奧巴馬就曾在全美髮起「編程一小時」的運動,旨在讓全美小學生開始學習編程。編程將是一項很基礎的技能,也將是承接其他知識的基石。在未來,會編程很可能跟使用智慧手機一樣普遍。

當處理基礎資料的時候,必然會在資料庫或資料平台上進行。你可能需要對這些儲存資料的環境加以了解,如傳統的結構化資料庫Oracle、Mysql、DB2等,又如當下流行的Nosql資料庫HBase、Redis、MongoDB、Cassandra等,再如大數據集群平台、原理及其相關概念,類似Hadoop、Hive、Hue、MapReduce、Spark、Scala、Sqoop、Pig、Zookeeper、Flume、Oozie等。你或者也需要了解資料傳輸的工具,如DataStage、Kafka、Sqoop等。你甚至也可能被安排做安裝系統、部署軟體、配置環境、同步資料等一些瑣碎的工作。

關於這些,如果你非常感興趣,可以考慮往大數據平台方向發展,成為資料開發工程師、資料平台運維工程師、或者資料平台架構師。

你不必理解太深,可僅僅停留在了解層面,但知道這些知識會讓你和資料開發工程師、運維工程師和平台架構師溝通起來順暢很多。

當處理和分析資料時,有些關於資料的操作是必然需要掌握的。首先是常見格式的資料匯入匯出,如TXT、CSV、XLS,然後是主要的資料加工技巧,包括建表/視圖、插入、更新、查詢、並聯、串聯、匯總、排序、格式轉換、循環、常用的函數、描述統計量、變數,等等。

這些操作很基礎,但不簡單。你可能經常會遇到各種情況,如花了一個下午時間就是沒能把一個很小的CSV資料文件正確地導入到資料庫中,不是亂碼就是錯位,或者兩表關聯時老是報一些煩人的錯誤,或者日期欄位進行格式轉換時出現空值……反正狀況百出,防不勝防。

關於這些基礎操作,需要不斷積累經驗,盡量能夠做到在不同場景下快速高效地完成,輕鬆應付。

如果有人已經給你取好了數,而你的工作是分析資料寫報告,那麼分析技巧首先是你需要培養起來的。對拿到的資料,要時刻保持疑問,不能太樂觀,因為別人算好的資料未必完全是你想要的資料,又或者資料質量並不是你想的那樣好。

在分析之前,需要進行資料探索,看看資料質量如何。比如,你需要清楚有多少資料量,有什麼訊息,可衍生什麼指標,缺失情況如何,如何填補缺失值,值的分布情況如何,如何處理極值,名義/字元變數是否需要轉換,等等。

分析時,要清楚指標不同形態的含義,如絕對值、佔比、同比、趨勢、均值、標準差,等等。

在這裡,我想指出,資料有對比才有意義。如果一個窮人撿到500元,他會很高興,這夠他吃好幾天了。但如果讓一個富人去撿500元,那感覺就不一樣了,他可能覺得他不值得這麼做,因為用彎腰去撿的時間掙到的錢遠遠不止這麼多。

統計學知識是必須要掌握的,這是基礎。如果你非數學或統計學專業出身,那麼請自學。

另外,也請你一定要掌握主流演算法的原理,比如線性回歸、邏輯回歸、決策樹、神經網路、關聯分析、聚類、協同過濾、隨機森林,再深入一點,還可以掌握文本分析、深度學習、圖像識別等相關的演算法。

關於這些演算法,不僅需要了解其原理,你最好可以流暢地闡述出來,還需要你知曉其在各行業的一些應用場景。

關於這些演算法,你最好能夠參與關於模型開發的具體專案實踐。那樣的話,你就可以清楚關於建模的大概流程是怎麼樣的,不同演算法在建模中有不同,需要注意哪些地方。

如果你打字速度不快,那也最好重視起來,這雖然是一個不痛不癢的問題,但也在較大程度上影響你的工作效率,進而影響到你的工作產出,當然也可能因此會影響到你的薪資哦!

另外,還有一些提高工作效率的小技巧,也可以多學多掌握。例如,一些電腦的快捷鍵,定期儲存檔案,檔案的歸類存放和快速查找,等等。

作為職場新人,你不僅需要打磨技術,純技術之外的技能也需要不斷修鍊。

職場的做事方式方法、為人處事以及一些潛規則,更多時候只能靠悟,說出來就可能不大好了,因此需要不斷領悟。畢竟,悟性這東西是很重要的。

還有,溝通是程式設計師普遍的老大難問題,建議重視起來並加強。

你甚至可以學一下投影儀或印表機怎麼用。(說不定可以靠這個技能在老闆或同事前面大攢人品哦~~)

如果你有機會和很牛的人在一起工作,那你太幸運了。你可以多請教優秀的人一些問題,也可以平時多觀察那些優秀之人的做事方式、工作習慣,看看有哪些好的地方、好的品質值得你學習。只要吸納進來,就可以轉化為你的優點,推動你進步。

我畢業的第三年,看到俞敏洪老師在一些演講中提及他大學時讀了800多本書,很受觸動,真正認識到了讀書的重要性,於是給自己制定了一年讀50本書的計劃,什麼書都讀,三年左右時間,我的心智和心態都發生了很大的改變,完全不一樣了。

俗話說:「三人行,必有我師。」每個人都有每個人的優點,對於所遇到的每個人,建議多欣賞別人的優點,少抨擊別人的缺點,這樣你就可以「兼收並蓄」,逐步塑造更好的自己。

三、3-5年,「技多不壓身」,拓展能力邊界

當邁過了最初的3個年頭後,你的技術越來越好,也做了不少專案,也越來越清楚自己未來的方向,但你也會發現有越來越多的東西還需要去學習和加強。

這個時候,你的知識是零散的,還遠未形成體系。你也許還需要花些時間好好梳理和總結過去幾年積累的經驗和知識,不斷沉澱,形成自己的知識體系和方法論。在梳理的過程中,你會不斷清楚自己有什麼,缺什麼,哪些地方弱,哪些地方強,未來需要花多少時間補強哪項技能,等等。

你可以沿著資料的整個流程,即資料採集、資料儲存、資料處理、資料分析/開發模型、報表計算、資料可視化,不斷拓展自己的能力邊界,最好在流程中的各個環節都做過專案。

FineReport製作的資料報表

例如,在資料採集環節,你可以學一下爬蟲技術。

這個時候,你不再是新人。新人大多是等著別人安排工作,並在詳細的指導之下完成。而你慢慢成長為老司機了,需要獨立完成一個個任務了,如獨立開發一個模型、寫一份會員分析報告、梳理關於近期營業額下降原因分析的思路,等等。你需要不斷適應在無人指點的情況自己去尋求問題解決辦法,也可能需要應對此前沒有遇到過的新情況並獨立展開調查研究。幾乎沒有人幫你,你也沒法指望別人明確告訴你怎麼做。而你需要的是,歷經3年之後成長路上的一個質變。

在這過程中,你可能需要不斷查找資料,諮詢別人,並加以思考,梳理出有效的方案,最後落地執行。在這過程中,可以有效訓練以下幾方面的能力:

查找資料
會問問題
總結梳理
寫作能力

關於總結梳理,建議定期做,常常做,每天做,建議養成一個日常習慣。

對於不同問題和場景的思路整理總結,常常需要方法論指導,如麥肯錫金字塔原理、結構化思維等。關於這些方法論,不僅要諳熟於心,也需要將其應用到實際工作當中。這是受用一生的知識,你也可將其運用到你的日常生活中,用以解決你日常的問題和需求。

關於思路的整理,可以藉助心智圖工具。

另外,請注重培養自己的資料敏感性和資料思維,越早開始越好。關於如何培養資料思維,將以另外的文章單獨闡述。

EXCEL是操作和處理資料最方便的工具,也是必須掌握的辦公軟體。很多人會用EXCEL,但根本不精通EXCEL。簡歷里那句「精通EXCEL等辦公軟體」(你的履歷里是否也這樣寫~~),常常是一個謊言。建議你好好學一下EXCEL,包括展示資料、透視表、函數、畫圖、動態圖表、VBA等。不要僅僅停留在最粗的層面,比如畫圖,使用默認設定也可以畫出一個圖表,但是不好看,閱讀體驗不好。關於怎麼用EXCEL畫好圖表,有很多書籍文章可以學習。

寫分析報告,難免會用到PPT。關於如何寫好PPT這件事,從來就不是件輕鬆的事。但你可以給自己一些時間去學,比如3年、5年、甚至10年。剛開始,寫得不好沒關係,但一定不要放過每一次鍛煉的機會。

關於PPT的技巧,將有更多的文章單獨闡述。

在老闆眼裡,會寫材料的人比會編程的人更有存在感。而且,會寫材料的人總是顯得那樣「稀缺」。如果你是別的同事眼裡的「會Coding的人中最會寫PPT+會寫材料的人中最懂技術」的那個人,那你將會很受重用。

四、5-10年,「不忘初心」,有所為有所不為

在別人眼裡,資料分析和開發模型是很高大上的。但這高大上,常常處在很多尷尬的處境。資料分析彙報一次之後就沒了下文,模型開發了,部署了,也定期出數了,但就是沒用起來。用戶方或業務方覺得這些東西對他們業務幫助不大,可有可無(雖然包裝一下用來忽悠一下投資人可能也有點用處),還不如一個經驗規則來得有效,簡單粗暴,省時省力。

關於經驗規則和演算法模型之爭,如果你堅定認為你開發的模型比業務方所認為的經驗規則更有效,那麼,請你拿出「證據」,用資料說服業務方,讓他們改變觀念,覺得你是對的。

之前信奉的那句「資料驅動業務」,是不是錯了嗎?

此刻,請回到初心吧!我們的初心是什麼?那就是用資料幫助業務解決問題,用資料輔助業務決策。資料分析只是其中一種形式,當然還有其它。因此,不要迷戀資料分析,不要迷戀演算法模型。「不管黑貓白貓,抓到老鼠就是好貓。」

如果你能夠從資料分析和演算法模型的困囿中掙脫出來,那麼你將發現你面對的是廣闊天地,你可以在資料的海洋里肆意遨遊。

你或許開始注重追求資料解決方案的實用性,強調落地執行,更看重應用效果。

你必須真正理解業務方的需求。當業務方進行選品和定價時,他們需要一份關於競品的商品資料來做參考;當業務方想隨時看到當前時刻的訂單量(特別是雙11促銷),你需要實時匯總資料並實時呈現給他們;當業務方既想看總體的經營資料,也想看各區各部門各門店的經營資料,你需要開發一個多維度層層鑽取查看的功能……而這些都不是資料分析和演算法模型,但這些也是資料應用,也能產生資料價值。

如果有機會,不妨嘗試做個資料產品經理。資料產品經理需要從產品角度實現業務功能。在當前資料產品化的趨勢下,這是一個很有挑戰性的事情,不容易做好。畢竟,討好一大群用戶,比單獨討好一個用戶要難得多。

在資料產品設計里,資料可視化是一個重要的事情。好的圖表會說話,好的功能會抓住用戶的心。即便撇開資料產品,我們在分析報告里也會需要資料的可視化表達。

資料可視化傳遞的是一種明確的資料信息,一目了然,賞心悅目。從畫好一個資料圖表,到功能版式的精心設計,再到對功能細節良苦用心的把握,你需要不斷精進。一旦你感興趣,你將會很快沉迷於其中,因為那是一種美的表達。

五、10年+,「砥礪前行」,創新、創業、創造

是的,你已經做了十年,希望你無悔當初的選擇與堅持。

此時你也遇到很多瓶頸,或許你空有一身好武藝但得不到老闆重用,或許你想做個實力派但處於各種原因離技術越來越遠,或許你很努力但職務仍然上不去,或許你面對繁重的工作心有餘而力不足,各種分身乏術……你一直在等待和尋找著機會,突破自己。

此時你也漸漸步入了中年,或許你開始變得油膩,或許你的身材早已遠離苗條,或許歲月在你的臉上、頭髮上開始留下痕迹,或許你的思想漸漸固化,不能與時俱進了……最重要的,或許就是你早已沒有了當初的激情。

如果你在一個行業待了十年,在別人眼裡,無論怎樣,都已是個專家,所以,請自信!

你還需要在圈裡有一定的影響力,需要樹立個人品牌,最好能在圈裡外有較好的傳播。如此這樣,當別人提起你的時候,他們常會這樣說,「這個人分析能力很強」,「他在資料領域造詣很深」,「他建模能力出眾」……如此種種,在他們眼裡對你印象最深刻的標籤將會是你最想要的那個。

或許你需要逐步提升講課程的能力,這是一種知識分享與傳遞,也是提高個人影響力的有效途徑。不要放過任何露臉的機會哦!

你或許已經深刻明白,分析的結果、開發的模型、資料產品只有被應用起來,才真正算是產生價值。你會越來越關注資料應用的問題。當你開始聚焦這個問題時,你會問自己,」用戶或業務方真正需要什麼?「這個時候,你得有用戶思維了。你會加強對業務的重視程度,也會不斷回到業務層面去思考資料的實際應用。

你最好也時刻關注當前社會的趨勢和潮流,特別是與互聯網相關的。這樣可以讓你保持開放的心態,洞悉社會的風向,驅動自己的思考,挖掘潛在的機會。你可以從中了解當前行業中成功的資料應用案例,開拓自己的思路,多想想用資料還可以幫助各行業解決什麼問題,可能的機會在哪裡,自己應該怎麼做。

你可能要面對的是,資料應用對一個行業或一個企業來說,永遠都是在探索。某個資料應用思路或項目一旦成功了,就會得到越來越多的資源投入,越做越大,如果失敗了,就會立刻遭放棄。因此,要有創新精神,要有創新的勇氣和自信。

職位上來說,你可能開始擔任一定的管理工作。因此,你還得學會團隊管理,懂得如何向上管理和向下管理。

你的日常事務會越來越多,你也需要學會有效管理自己的時間。你可以成為一名「清單控」。但必須指出的是,時間管理,最本質的還是自我的管理,對精力的管理。你需要開始意識到加強身體鍛煉的重要性了。一來,保持身材,對發福說不,二來,保持精力的旺盛,抵抗疲倦,第三,通過不斷挑戰自己的身體極限來刺激自己,找回激情。

你也需要開始認真考慮如何平衡工作和家庭的問題了。

這個世界一直在變。我們也一定要「善變」,順勢而為。

不管是10-20年前的BI(商業智慧),過去幾年的大數據,這年頭炒得火爆的AI人工智慧,還是未來湧現的更多概念,只要我們足夠開放,敏感洞察,挖掘機會,創新、創業、創造,不斷成就自己。

汪國真在《熱愛生命》里寫道:「我不去想是否能夠成功,既然選擇了遠方,便只顧風雨兼程。」

英雄不問出身,只要你下定決心,即使再晚出發,也會達到,還可以走得更遠。

最後,作為資料人,與你共勉,「不做資料的搬運工,要做價值的締造者」。

喜歡這篇文章嗎?歡迎分享按讚,給予我們支持和鼓勵!

熱門文章推薦

立即試用,可獲取更多 報表範本和案例

免費試用