Hits: 1750
[職涯] 國泰產險-資料工程師 任職半年多工作心得
已經在新公司到職7個月了,來整理一下目前為止的工作心得/用到的軟硬技能/工作的環境,順便整理一下當初作這個決定的原因
什麼想轉職,以及轉職策略
當時想轉職,主要是因為對於資料工程師的 ETL 業務
很有興趣 、加上希望換到一個同事會多多交流與分享的環境
、還有想換到一個賺錢的產業
,因此毅然決然地在前東家快要發年終的時候決定轉換跑道。
想到自己主要是想要轉換職位,而這個職位目前通常是在資料量體比較大的產業例如: 金融、電信、零售、電商、電子製造等產業需求較大,因此去年投遞履歷時主要以這些產業為目標,再考慮到自己的 CS 基礎不是那麼深,可能需要待在有完善 mentor 以及迭代不那麼快速的產業,還有一個原因是這樣我等於是轉換職位又轉換產業,怕自己要學的東西太多跟不上,因此主要以金融、電信、零售為投遞的主要對象,想說這些產業應該是現階段的我比較可以應付的。
到職前 vs 到職後對於資料工程師的理解
在準備面試的過程就已經知道了,資料工程師在每間公司都會因為任務需求而有技能上要求的不同,雖然最主要是負責 ETL ,但也會因為人力需求而有技能要求上的差異例如有的公司比較專注在底層的商務邏輯設計,那通常資料工程的職位會由偏向後端的系統設計、基礎架構設計,可能需要很多後端的知識與技能,更或者是直接由後端工程師直接兼任;而光譜另外一端,則是偏向業務需求的資料工程師,除了把 ETL 設計好之外,還要兼任 dashboard 製作、商業分析報告的產出、或是進行分析建模等,換句話說,就是得兼任資料分析師/資料科學家的工作。
在求職前,根據自己過往的經驗以及有興趣的領域,知道自己是想專精在偏向商務邏輯這邊的工程師,也就是有部分後端的經驗跨到資料工程端,並希望自己接觸少一點的業務需求、商業分析等業務,因為自己目前想要把技能長在對於技能的深入了解的關係,因此在面試過程中,都會根據這樣的原則來挑選公司。最後經過了2個月左右的面試後落腳在國泰產險的數據部(面試過程請見這篇),開始了資料工程師的職業生涯。
工作內容就是針對產險資料的 ETL 處理,簡單的這樣一句話,其實要考慮到的東西非常多:因為 ETl 牽涉的事情非常廣,舉凡業務需求(batch/streaming)、處理流程、需要的技術、處理時間、上下游依賴等等,實際在工作上需要設計一個流程時,上述的這些事情都要考慮到,發現對於這個職位來說重要的技能之一是對於 技術的廣泛涉略 ,舉凡 python, hdfs, jupyter, etl tool, shell, api, docker, RDBMS, No-SQL, spark, 等都會有所涉略。
另外一個重要的技能,就是溝通與表達能力
。這個溝通能力除了對工程師的溝通之外,也需要大量的與分析師、 PM 、業務單位、甚或是更級長官進行溝通,才可完成任務。跟工程師的溝通或許比較容易,畢竟大家的背景類似,說的語言最為接近;跟分析師溝通可能會開始有點難度,因為需要針對對資料有更深的理解,才能確認分析的設計能否符合業務面的需求;如果是跟 PM/業務單位進行溝通時,則較為困難,因為他們都是從很廣泛的業務情境來討論需求,如果工程師無法對於業務有深入的理解,就沒辦法理解從業務端產生的資料是如何進到可分析環境,變成可用的素材,並透過服務的串接解決業務面的問題。
過的好不好
如果最好的滿分是100分,我覺得目前大多數時間是處於50-60分的狀態。也就是沒有很滿意的狀態,那為什麼沒有很滿意呢?我回頭來檢視一下自己當初轉職的原因吧:
資料工程師的工作內容: 80分
實際上的工作內容與當初想像的大同小異: 主要是開發與維運 ETL pipeline ,確保分析型資料庫的完整,並與相關的使用者進行專案開發,利用資料推進公司業務。一開始想像的一天時間分配會是專業技能的開發50%、30%溝通、20%簡報;實際到職後,發現應該是專業技能的開發30%、50%溝通、20%簡報,實際上開發的要求、開發的時間並沒有想像中的多,反而是得花比較多的時間在確認需求、思考與規劃架構設計等溝通的任務上,溝通的對象舉凡工程師、分析師、PM、業務單位等都有,也包含對上的主管等,對於想法的整理、規劃、需求的理解等要求反而是教高的,這點是跟我當初想的比較不一樣的地方。
工作環境: 60分
條列一下工作環境中喜歡的以及不喜歡的點
[喜歡] 友善的同事與完善的 mentor 制度
最喜歡的一點莫過於同事之間非常友善,大家對於剛踏入環境的新手給予非常多的幫助,從認識公司複雜的表單與相關子系統開始、到資料產生的邏輯與順序、開發的規範等,介紹的非常詳細。實際在執行專案業務時,遇到的許多問題也可以向同事請教,同事會給予思考的方向,自己再去規劃與發想,算是比較不一樣的指導方式。直屬主管的年紀跟我也相仿,溝通上大家都是用相近的語言在溝通,也不會有什麼隔閡的問題。集團的教育訓驗資源也充足,有 hahow 企業版與公司內部系統的教育訓練可以上,也有一書櫃的書可供翻閱進修,這也是當初面試時最吸引我的一點,確實是無可挑剔。
集團共用資源不如想像中的美好與簡報能力的要求
開發過程會中會用到許多集團共用的(TD/HAP/GIS…等)資源,如果對於這些分析環境有調整的需求(e.g. 新增 UDF ),得請權責單位(銀行的數據部)協助操作,在跨子公司溝通時會遇到不少的問題,例如雙方對問題的理解不清楚、對方忙碌因此處理進度緩慢、或甚至是找不到正確的窗口溝通事情等等,會磨損許多的時間與精力。
除了這點之外,測試環境的不完整也是很磨損的一件事情,公司的 ETL tool 在測試區沒辦法連到公司的 TD 測試區,原因是防火牆到期(半年得申請一次),請同事協助開通,對口的管理單位(又是銀行的數據部)則是拖了一個月也還沒處理完畢;又或者是 。老實說,這對於我來說是非常的不適應,在前東家需要什麼 IT 資源大多都是跟同事溝通一下就會通了。
再來是對於簡報能力的要求,每次只要有簡報的場合,大家都會把簡報作的漂漂亮亮,3修4改,強調配色、並塞滿許多資訊在一頁的簡報當中。這也是我現在不太喜歡的一點,因為你必須更妥善的安排時間,讓自己能把時間挪出來在比較沒有生產力的簡報上。雖然簡報是一種軟實力的象徵,一種溝通的管道,但這對於不擅表達、每次簡報都要作很久的我來說,也是很痛苦的一件事情。
賺錢的產業: 100分
國泰在金融業當中已經是龍頭了,跟富邦金控兩家就佔了整個金融業營收的近50%,雖然面試階段的薪水沒有談到想要的金額,但是有談到通過試用後依表現調薪,也確實調到了想要的 n ,而且在入職半年的時候收到了一筆調薪的通知(+4%),以賺錢的產業來說,這確實是完全符合我的需求,沒什麼好挑剔的。
總結
回顧當時決定轉職的三大原因,大多都有滿足到我想要的點,那為什麼還是感覺不太快樂、沒什麼成就感呢?自己感覺應是,現階段想要多了解更多的技術、想要把技術了解的更加透徹;想要把時間花在生產與開發上,而不是在溝通上。但既然已上了這艘船,就是得跟著這艘船持續的航向自己的目標,即便上班時間長的技能不是現階段自己最想要的,但換個角度來想,或許在上班時間長出來的技能,會在未來的某一天回饋到自己的身上,而且上班時間長不到的技能,也可以下班時間自己學,學到之後可以再跟同事溝通,看能不能用在公司的小專案上,慢慢的拓展自己的影響力,也希望自己可以在這條路上越走越順落。
抓到了 4% 仔。
寫這麼詳細還不推爆。
小小建議,溝通跟簡報的時間,時不時就跟上面說你要做某個 research,藉此偷一點時間學理論或工具,也能在有限的 30% 時間裡加速開發。
例如主管說要處理資料集 A,就說啊,這須要 numpy 才能做,給我一個禮拜看資料結構(誤