YD's blog

Posted 日 16 4月 2017

第一份工作的心得

這兩年收穫真的很多,我把一些不涉及商業機密的所見所聞做個回顧。

前言

當初進去時是因為碩班寒假想找個數據分析的實習,就在兩年前,打開 104 輸入 數據分析 分析 資料分析 搜尋到的職缺不到50筆,而且非常多都是大型顧問公司,用的是偏傳統之問卷式,人海式的資料網羅。後來看到找到一個大數據的實習,公司A。去面試後發現不符合期待,不過公司A的人資說有位很厲害的博士J是他們的數據部顧問,問我有沒有興趣找他,後來博士J自己出來創業,我就在公司C了。

剛進去時,我只會R,而且是非常粗淺的R,當時博士J希望我研究一下社會網絡的套件以及他之前寫的程式碼,差不多兩週的時間好好讀,讀別人的程式碼非常痛苦,不過也因此成長許多,接著我開始靜態的圖表呈現,那時候的同事M專寫爬蟲,會畫一些 js 的動態圖,覺得超神又厲害,離我當時的程度遠之又遠。因為也開學了,我一週排兩天去公司,算是有什麼需要學的就學,同事B帶著我看了 Hadoop Map Reduce、Spark 等文獻以及簡單的實作,算是沒什麼貢獻的時期。到了暑假,因為只有收實驗,有比較多的時間和公司同事切磋,也參加了 Hadoop Conf ,這是我第一次參加大型技術會議,基本上我什麼都不太懂,對於 Hadoop 的生態系就知道是動物園裡一堆動物...不過也因接觸的時間久了,反而越來越熟悉,儘管不知其實,也略知一二,那時就特別感悟到,面對困難不要太快放棄,多試一下,也許就習慣、就不怕了,很多人生的道理也是這樣。因為有這樣的經驗,後來面對一堆未知的技術其實也不是那麼畏懼,就是花時間了解,願意花時間,就一定有收穫。那時候看了鳥哥,為了瞭解一些比較底層架構原理以及使用黑黑的終端機。還記得那時候 Shell Script 寫了自動加入用戶帳號的腳本,依稀記得當初為了突破公司的防火牆,搞了不少時間。也因應未來資料量的計算,學了scala。

去年一月結束了碩士身份,就以全職的角色加入團隊。最開始的時候已經接手了某個製造業的 POC (概念驗證, Proof Of Concept) ,對方的訴求是了解品牌、渠道、型號與價格之間的種種關係。最一開始因為只會畫靜態圖表,實在是了無新意,後來發現了一些 R 套件可以畫動態圖表,又過了一陣子,又學了 R shiny 來做單頁式網頁呈現。製造商這個案子,最有感的是,儘管客戶自己不知道自己的需求,PM 盡可能事前先以紙本方式和客戶一步步協商可能的需求,同時也可以和工程師一邊討論技術可行性。需求確認後,最後才請工程師開發,以減少與客戶端來回修改需求以及工程師開發時花費的成本

同一時間,大陸某畜牧業,對方希望用 Bootstrap 的框架刻一個前端數據平台。兩個 POC 都是偏數據呈現的前端視覺,那時又重新碰了原生的前端框架。也因為這個畜牧業 POC 的機會,四月時,到了成都的榮昌出差,吃得不錯,但不是非常先進的城市。

回台後,沒多久,一位同事離職,和公司不算是太愉快的收尾。我跟這位同事私交不算差,從此也得到一些想法,一個人只要認為周遭環境待他不薄,此刻他已經有非常好的藉口,做出對周遭任何負面的行為,而且不感到任何愧疚。我不評斷這樣是好是壞,從他自己的觀點,這樣是讓他心理平衡,但以週遭人的角度,覺得他不受教、不可取。「千錯萬錯是別人的錯,所以我做這樣的事也是剛好而已!」其實社會上很多的衝突和誤解,都來自於類似自身主觀的合理化。

不管如何,時間繼續跑,生活還是要繼續做,接著又做了有關網路媒體的 POC ,因應這個案子去研究了切詞、word2vector、主題模型的算法概念,至於前端和分析框架也是用 Shiny 來做,不過因為不同的 POC 呈現都希望有個對外展示連結,後來就去學了 Docker 將每個開發環境獨立切割出來,以方便後續管理和開發。

因為各行各業需要對於推薦系統的熱潮需求,把自己也唸了蠻多相關的文獻,並作一些整理分享。

後來也和同事接觸電信業的案子,數據量蠻大的,我也處理了一些地圖視覺化和部分數據平台的呈現,這是很愉快的經驗,因為終於有個案子我是和大家一起合作,而不是獨自奮戰。但反過來想,一家人數不多的小公司,大家又各自進行自己的案子,沒有共同集中火力奮鬥,是不是較難引起團隊向心?我不知道,我自己是喜歡大家一起奮鬥的感覺。也是因為這個原因,有幸成為某個貿易推薦產品的PM,我希望能讓多一點人參與,而不是用某個框架一個人做掉全端。這個貿易產品,我負責產品開發和人力時程規劃,以及算法開發的部分,因為資料量也稍微龐大了一點,所以在 R 上進行分散式計算和透過呼叫自己 c++ 算法進行優化,覺得相當有趣,因此把整套計算過程用 Julia 改寫,測試兩者之間的效能,發現原生 R 真的比較慢,但有進行優化過的 R 還是不賴!

產品前端的部分,和一位前端新人D一起學習用 React.js 開發前端。講到新人,公司有超過一半的人都是我找來的,我自己面試有個心得,以新人來說,技術有一定程度後,要看的是人格特質,人格特質是後續成長的關鍵。也因為是自己找的人,同屬性的狀況會比較多,合作起來也是真的非常愉快(至少我認為啦)。

在開發貿易推薦產品,2位設計、1位爬蟲、3位後端、1.3位前端、0.3位分析、0.3位PM,溝通的過程是非常順暢且有效率, .3 的部分就是我的部分,這裡是我覺得比較有問題的地方,人力配置。一個好的產品開發規劃,事前必須評估市場規模,確認外部明確需求並轉化成對應的功能,再次確認需求有被滿足。這也是經驗,雖然目前產品第一階段完成,但希望夥伴們接下來,能好好透過市場需求構思下一步產品開發走向,難的不是發想功能,難的是功能如何與市場接軌、如何打中消費者

這段時間接觸了自己和部分夥伴也念了很多統計學習、機器學習文獻以及實作原理,除此之外,很多新技術,新應用,真的是還很多沒講完...。現在我也已經可以用 AWS 佈置自己分析的環境,架一個前後端分離、以及包含各種計算的網站。也能夠和我的部落格做某種程度的介接,以一個業餘工程師分享自己所見所聞所感的平台,著實受益無窮,之後換了完全不同領域的工作,希望熟悉了一點後,能把所學的技術和專業技能再做整併。

最後要感謝夥伴們的互相扶持,互相學習並成長的過程。

保持學習,不只是心態,要身體力行。

Category: Diary
Tags: Stuff