Big Data is like teenage sex:Everyone talks about it, nobody really knows how to do it, everyone thinks everyone else is doing it so everyone else claims they are doing it too.雖然說就大部份而言, 這笑話是真的, 只是誇張了點, 因為 Big Data 目前遇到的問題還是相當的多, 就像是前幾天有一個朋友問我, 為甚麼電子商務網站都宣稱想做或要做資料探勘或大數據, 但為甚麼沒人去做呢? 我回答了幾個問題點:
- 沒有真正了解資料價值的專案負責人: 大部份的專案負責人或產品經理, 都是從業務, 商品, 行銷出身, 對他們而言無論是在學校的學習, 執行的經驗, 進修的內容都沒有相關的知識, 在沒有對這種背景知識有足夠了解的人, 如何去產生與企劃, 既使大部份都是別人在做的, 但若沒有概念是不行的.
- 要有人對做出來的業績與成果去承擔: 而若是沒有行銷與業務或產品去推, 那由資訊的人去推或許是合理的, 但最大的問題是資訊在電子商務是屬於後勤人員, 本身是不扛業績的, 而這種專案做出來會排擠其他的 Quota, 在沒有人須要的情型下最後只好無疾而終.
- 外包的成本太高, 但內部的人又沒經驗: 上面兩個問題若是遇到有心的老版就不是問題, 但真的要開始做時面臨到到底要 In-House 還是 Out-Sourcing, 雖然內部做是外部的三分之一到五分之一, 且對 BI (企業智慧) 比較能夠切中目標, 但人才與經驗是個很大的問題, 所以不是大好就是徒勞無功.
- 比 Big Data / Data Mining 更重要的事還很多: 大部份的電子商務公司最大的問題是資源不足, 而大家可以看 "九項如何建立有效商品推薦系統, 所須要知道的進程導引與架構指南" 這邊就可以知道能做的還很多, 在人力與資源不足得情形下被放棄或延後是合理的.
當然大家知道最大的問題還是台灣的市場與老版的企圖心都不太夠, 但拉回來, 身為工程師的我們, 真的有足夠的能力去擔當這責任嗎?
台灣的價值應該是在於人才, 而要去實作出這樣的系統須要:
- 資料工程師: Data Engineer
- 資料科學家: Data Scientist, Data Mathematician
- 資料專家/經理人: Data Expert, Data Manager
有人把這三個角色畫成下面的圖我覺得蠻有實務感的:
這邊大概畫出這三個角色的可能關係, 但在實務界更多的是一個人當三個人用, 也就是你甚麼都要會, 最後大概變成一個人要會的東西是成為下面這樣:
雖然說大部份的人能夠做好一項就很了不起了, 但真的最好須要這三項領域的專才的人, 通常不是一個人做到, 而是至少三五個人去架構與協調出來, 只是在台灣是不用太期待.
而在這次鐵人賽的緣故, 我大概規劃了一個 "成為資料工程師最初的 28 堂課", 因為有太多人對成 Big Data / Data Mining 有興趣, 而不知道如何下手, 花了 30 天 (包含導言與結論) 列出了 28 堂課給大家參考, 雖然說是 28 堂課還不如說是 28 個科目, 只是最後發現 28 真的太少了, 所以有些科目還合併在一起.
這 28 堂課除了最後一堂外, 也是把課程分程三部份:
- 電腦相關 (Hacker)
- 數學與統計相關 (Mathematician)
- 社會人文相關 (Domain Expert)
每一類別有 9 科, 下面就是列表:
電腦相關
- Data Structure / 資料結構
- 資料庫概論
- 計算機組織/結構/架構
- Operating System / 作業系統
- Performance Tuning / 效能調校
- Programming Language/System Programming (程式語言/系統程式)
- 現代資料庫 (NoSQL 與 Big Data Database)
- R (Programming Laguage)
- OLAP (Online Analysis and Processing), RPC 與 API
數學與統計相關
- Numeric Analysis/Method 數值分析/方法
- 線性代數
- 多變量分析/統計
- Algorithm 演算法
- Time Series 時間序列
- 資料探勘 Data Mining 相關數學
- Mathmatical Model / Pattern Recognition
- 電腦與網路相關數學
- 工程數學 Advanced Engineering Mathmatics
社會與人文相關
- 資訊架構學與圖書資訊學
- 網際網路社會概論
- Software Engineering / 軟體工程
- Data Visualization / 資料視覺化
- User Interface / User Experience (使用者介面/使用者經驗)
- 使用者行為/田野調查/社群資料/讀者服務
- Information Retrieval / Software Agent / Crawler
- Semantic Web / Text Mining (語意網路/文字探勘/語意分析)
- 量化研究 / Quantitative Research
換句話說, 念完這 27 個科目, 你就應該很有自信去面對任何資料的挑戰了, 接下來就是面對真實資料的戰場 (第 28 堂) 了: 實作.
把這些知識打下基礎, 真的有實作的能力, 才是這社會最缺的, 也才是這社會推進的原動力來源, 每一個人都想個當管理者, 每一個人都想當個出嘴不動手的專家, 最後沒有人動手, 只是真正的價值應該是實作出成果為前提阿, 雖然之後的管理, 行銷是讓價值更高, 可以把成果的價值乘上好幾倍, 但若沒有這基礎做出東西的話, 永遠不會有第一個 1 出現, 因為若沒有了 1, 0 乘上 100 還是 0 阿.
所以我們就應該先當那個 1 (The One) 吧.
* 圖一來源: http://www.slideshare.net/ckliu/z-b-38495724
* 圖二來源: http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram