1. 程式人生 > >大資料時代,如何成為一個年薪50w的大資料開發工程師?

大資料時代,如何成為一個年薪50w的大資料開發工程師?

大資料是眼下最帶感的技術名稱之一,大資料行業的火爆發展也自然也衍生出了一些與大資料相關的職業,比如網際網路資料分析師、資料工程師等等,通過對資料的挖掘分析來影響企業的商業決策已屢見不鮮。

這類職業的人群在國外被叫做資料科學家(Data Scientist),這個頭銜最早由D.J.Pati和Jeff Hammerbacher於2008年提出,他們後來分別成為了領英(LinkedIn)和Facebook資料科學團隊的負責人。而資料科學家這個職位目前也已經在美國傳統的電信、零售、金融、製造、物流、醫療、教育等行業裡開始創造價值。不過在國內,大資料應用還只是處於海平面上的一顆新星,不夠成熟不夠明亮,所以與其期望有一個全才來完成整個鏈條上的所有環節,更多公司會根據自己已有的資源和短板,招聘能和現有團隊互補的人才,幫助公司發展。

於是每家公司對大資料工作的要求不盡相同:有的專注資料庫程式設計、有的重點突出應用數學和統計學知識、有的是希望能找到懂得產品和市場的資料應用型人才。這種種的條件讓很多公司會針對自己的業務型別和團隊分工,給這群與大資料打交道的人一些新的頭銜和定義:比如資料探勘工程師、網際網路資料分析師、資料探勘師、使用者分析專家等都是經常在國內公司裡出現的Title,在此我們將其統稱為“大資料工程師” 。

由於國內的大資料工作還處在一個有待開發的階段,因此能從資料的銀河中挖掘出多少有效價值完全取決於工程師的個人能力。西線學院小編在這裡也為大家羅列一些行業所需的資料分析人才所包括的能力清單:想要成為資料工程師你要有計算機編碼能力、數學及統計學相關背景,當然如果能對一些特定領域或行業有比較深入的瞭解,對於其快速判斷並抓準關鍵因素則更有幫助。

需要具備的能力
1.數學及統計學相關的背景
就我們採訪過的BAT三家網際網路大公司來說,對於大資料工程師的要求都是希望是統計學和數學背景的碩士或博士學歷。缺乏理論背景的資料工作者,更容易進入一個技能上的危險區域(Danger Zone)—一堆數字,按照不同的資料模型和演算法總能捯飭出一些結果來,但如果你不知道那代表什麼,就並不是真正有意義的結果,並且那樣的結果還容易誤導你。“只有具備一定的理論知識,才能理解模型、複用模型甚至創新模型,來解決實際問題。”沈志勇說。
2.計算機編碼能力
實際開發能力和大規模的資料處理能力是作為大資料工程師的一些必備要素。
舉例來說,現在人們在社交網路上所產生的許多記錄都是非結構化的資料,如何從這些毫無頭緒的文字、語音、影象甚至視訊中攫取有意義的資訊就需要大資料工程師親自挖掘。即使在某些團隊中,大資料工程師的職責以商業分析為主,但也要熟悉計算機處理大資料的方式。
3.對特定應用領域或行業的知識
大資料工程師這個角色很重要的一點是,不能脫離市場,因為大資料只有和特定領域的應用結合起來才能產生價值。所以,在某個或多個垂直行業的經歷能為應聘者積累對行業的認知,對於之後成為大資料工程師有很大幫助,因此這也是應聘這個崗位時較有說服力的加分項。
職業發展
1.如何成為
由於目前大資料人才匱乏,對於公司來說,很難招聘到合適的人才—既要有高學歷,同時最好還有大規模資料處理經驗。因此很多企業會通過內部挖掘。
2014年8月,阿里巴巴舉辦了一個大資料競賽,把天貓平臺上的資料拿出來,去除敏感問題後,放到雲端計算平臺上交予7000多支隊伍進行比賽,比賽分為內部賽和外部賽。“通過這個方式來激勵內部員工,同時也發現外部人才,讓各行業的大資料工程師湧現出來。”
目前長期從事資料庫管理、挖掘、程式設計工作的人,包括傳統的量化分析師、Hadoop方面的工程師,以及任何在工作中需要通過資料來進行判斷決策的管理者,比如某些領域的運營經理等,都可以嘗試該職位,而各個領域的達人只要學會運用資料,也可以成為大資料工程師。
2.薪酬待遇
作為IT類職業中的“大熊貓”,大資料工程師的收入待遇可以說達到了同類的頂級,國內IT、通訊、行業招聘中,有10%都是和大資料相關的,且比例還在上升。顏莉萍(Nicole Yan)表示,“大資料時代的到來很突然,在國內發展勢頭激進,而人才卻非常有限,現在完全是供不應求的狀況。”在美國,大資料工程師平均每年薪酬高達17.5萬美元,而據瞭解,在國內頂尖網際網路類公司,同一個級別大資料工程師的薪酬可能要比其他職位高20%至30%,且頗受企業重視。
3.職業發展路徑
由於大資料人才數量較少,因此大多數公司的資料部門一般都是扁平化的層級模式,大致分為資料分析師、資深研究員、部門總監3個級別。大公司可能按照應用領域的維度來劃分不同團隊,而在小公司則需要身兼數職。有些特別強調大資料戰略的網際網路公司則會另設最高職位—如阿里巴巴的首席資料官。另一方面,大資料工程師對商業和產品的理解,並不亞於業務部門員工,因此也可轉向產品部或市場部,乃至上升為公司的高階管理層。

學習大資料需要掌握的程式設計技能可以需要

第一:Java語言基礎

1、Java開發介紹

2、熟悉Eclipse開發工具

3、Java語言基礎

4、Java流程控制

5、Java字串

6、Java陣列與類和物件

7、數字處理類與核心技術

8、I/O與反射、多執行緒

9、Swing程式與集合類

第二:瞭解並熟悉一些HTML、CSS的基礎知識,學習 JavaScript互動功能的開發應用。

1、PC端網站佈局

2、HTML5+CSS3基礎

3、WebApp頁面佈局

4、原生JavaScript互動功能開發 05Ajax非同步互動 06JQuery應用

第三:JavaWeb和資料庫

1、資料庫

2、JavaWeb開發核心

3、JavaWeb開發內幕

第四:Linux基礎,Linux作業系統基礎原理、虛擬機器使用與Linux搭建、Shell指令碼程式設計、Linux許可權管理等基本的Linux使用知識,瞭解Linux常見版本,通過實際操作學會使用。

01Linux安裝與配置

02系統管理與目錄管理

03使用者與使用者組管理

04Shell程式設計

05伺服器配置

06Vi編輯器與Emacs編輯器

第五:Hadoop生態體系,Hadoop是大資料的重中之重,無論是整體的生態系統、還是各種原理、使用、部署,都是大資料工程師工作中的核心,這一部分必須詳細解讀並熟練掌握。

01Hadoop起源與安裝

02MapReduce快速入門

03Hadoop分散式檔案系統

04Hadoop檔案I/O詳解

05MapReduce工作原理

06MapReduce程式設計開發

07Hive資料倉庫工具

08開源資料庫HBase

09Sqoop與Oozie

第六:Spark生態體系,這也是是大資料非常核心的一部分內容,在這一時期需要了解Scala語言的使用、各種資料結構、同時還要深度講解spark的一系列核心概念比如結構、安裝、執行、理論概念等。

01Spark簡介

02Spark部署和執行

03Spark程式開發

04Spark程式設計模型

05作業執行解析

06Spark SQL與DataFrame

07深入Spark Streaming

08Spark MLlib與機器學習

09GraphX與SparkR

10spark專案實戰

11scala程式設計

12Python

第七:Storm實時開發,Storm主要用來處理實時計算的問題,這一階段需要講解Storm的架構原理、安裝部署、實戰演練,同時穿插卡夫卡的體系、使用、釋出、訂閱等。

01storm簡介與基本知識

02拓撲詳解與元件詳解

03Hadoop分散式系統

04spout詳解與olt詳解

05zookeeper詳解

06storm安裝與叢集搭建

07storm-starter詳解

08開源資料庫HBase

09trident詳解

第八:做專案的能力

每家公司對大資料工作的要求不同:有的強調資料庫程式設計、有的突出應用數學和統計學知識、有的則要求有諮詢公司或投行相關的經驗、有些是希望能找到懂得產品和市場的應用型人才。想成為大資料開發工程師? 我給大家推薦一下大資料學習群,不管你想系統學習,還是自學都歡迎你加入,點選“領取學習資料”就可以進入,裡面有大資料開發工程師的學習路線,學習資料,專門解答大咖