PART 1:關於在國泰金控數位暨數據發展中心擔任 iOS 工程師的工作經驗分享
成為 iOS 工程師的契機
莊嘉和 Rick 於師大資工系求學期間,便觀察到 App 在業界的蓬勃發展,幾經思考未來應先工作還是讀研究所後,他決定放手一搏,透過實務去驗證自己的想法,所以在大三期間便到兩間軟體外包公司做兼職軟體工程師,從中觀察到創業家們對 App 未來的各種想像,深受啟發的 Rick 因而更篤定了往行動應用精進的決心。
工程師不只要會寫程式
在退伍後,Rick 加入了 Financial Data Technologies 工作,從分析金融商品的槓桿效應中,他對金融議題的興趣越來越強烈。Rick 目前則是在國泰金控數位暨數據發展中心擔任 iOS 工程師,負責 APP 的規劃與功能優化,「Coding 只是工程師的必備技能,並不是工程師的全部。」Rick 在國泰金控工作最深的體悟是,一名優秀的工程師,絕對不是只會跟電腦溝通的碼農,而是能帶領團隊一同解決問題的 Team Player,至於要如何成為一名 Team Player 呢?且聽 Rick 娓娓道來。
國泰金控員工福利
Rick 原先對國泰金控的想像是旗下的六間子公司,實際進入國泰後,他才發現國泰的關係企業遠比自己想像得多,因為國泰金控是霖園集團下的金融公司,而霖園集團尚包含了醫院、建設公司、資訊公司等等。說到國泰金控的員工福利,Rick 最推薦的是多元的社團活動、以及免費的外部講座門票,他也是因此有機會聆聽 GCP 講座(Google Cloud Platform),不只了解雲端的最新應用,也激發工作的新靈感。此外,Rick 很喜歡公司舉辦的員工活動,他尤其印象深刻有次是到 GPS 動物園探險,不僅讓部門成員更為熟絡,也是訓練團隊合作的機會。
國泰金控數位暨數據發展中心簡介
國泰金控數位暨數據發展中心分為生活金融、金融科技、新型態商業發展、資料科學研發、數位研發、數據平台六大科,Rick 隸屬的數位研發科主要是負責 App 開發、UI 設計與使用者測試。他形容數位暨數據發展中心就好比國泰金控裡的新創團隊,許多新產品的發想、設計、實驗、開發、測試、數據分析都是在此進行,各科交流相當密切,譬如數位研發科會將前端數據交給數據平台科去做進一步的分析,進而輔助商業決策。國泰金控數位暨數據發展中心成員背景相當多元,有來自 Google、Yahoo、電商平台等等,這讓同事在討論時,能以不同的發想角度切入主題,規劃出功能更全面、對使用者友善的產品。其辦公室設計也頗具巧思,不只有許多方便員工討論的公共空間,辦公周圍隨處可見的白板,讓大家能隨時記錄下新點子,營造出開放的交流氛圍。
數位暨數據發展中心 iOS 工程師職務內容
作為國泰金控數位暨數據發展中心 iOS 工程師,Rick 的職責包含新產品的規劃、現有產品的改善,在新產品方面,工程師會要思考上市的區域、是否為多語系,並規劃程式碼架構;在現有產品方面,不只是做功能優化,也可能會因為產品測試結果,而要刪除舊有功能,故 Rick 指出起初在撰寫程式時,就應考量未來的刪除成本,才能更有利於後續作業。而「重構」也是工程師的重要任務,由於每個人的技術會隨著實務經驗精進,在回顧自己過往寫的代碼時,往往能找到更好的寫法,所以重構代碼不只是提升程式品質、也幫助自己維持對程式的熟悉度,更有利於後續的維護。此外,由於國泰金控組織龐大,其中有許多行動應用產品、功能、模組是可複用的,工程師必須要提出這些複用性,避免未來重複開發,徒增成本。
數位暨數據發展中心 iOS 工程師的工作行程
Rick 每天的工作行程始於部門的 Scrum Meeting,同仁會報告自己的工作進度與今日目標,提出現階段遇到的問題,讓彼此的資訊維持在同一個水平上,剩餘的時間則是反覆的寫程式與討論。在每週行程上,Weekly Review是讓工程師互相檢視原始碼,目的不僅是確保品質,也可以觀摩彼此的優點,加以學習;Sprint Planning 是為了規劃下兩週工作目標,最特別的是,目標並不是由主管直接訂定,而是在會議上每位同仁都能發表自身的看法,最後在根據開發成本、商業價值來評估出哪些是優先目標;而 Retrospective 目的是檢討前兩週的流程瑕疵,進而列出未來兩週首要的工作項目(Action Item),在會議上,也會加以表揚前兩週貢獻最多、常幫助他人的同仁;Brainstorming 則像是模擬創業過程,讓每個人參與不同職位的環節,進而學習換位思考,有助於未來的溝通與共事。
開發程式的成就與挫折感
談及工作中的成就與挫折感來源,Rick 笑談:「面對客戶就是最直接的回饋」,有時候花了很多心血寫出來的新功能,卻收到用戶「一顆星都嫌多」的評價,當收到這樣的負面回饋時,團隊也會慎重檢討是在開發中的哪個環節出了錯,並思考未來的改善方針,避免重蹈覆轍。
數位暨數據發展中心 iOS 工程師需要的特質
「每個人都是 Team Player!比起單打獨鬥,同事們更喜歡合作,一遇到開發上的問題,大家都會一起協助。」Rick 認為善於團隊合作、願意主動分享知識是在國泰金控數位暨數據發展中心擔任 iOS 工程師很需要的特質,自我進修對於 iOS 工程師也相當重要,不只是學新技術,更要多接觸新想法:「程式碼也是有舒適圈的,你可能一直用舊的寫法、技術,所以當新的東西一出來時,我建議大家先去挑戰看看,才能比較新舊之間的優缺點是什麼。此外,新的想法也很重要,當你有了新的想法,就算是使用舊技術也能達成非常好的效果。」
數位暨數據發展中心 iOS 工程師職涯發展
資深 iOS 工程師雖然寫程式碼的工作變少,但會需要花更多心思在架構上,例如效能優化、程式重構,所以整體工作量其實是變多的。iOS 工程師未來也可以往架構師的方向發展,若以建築來比喻,工程師就像是實際去蓋房子的工人,而架構師則是負責規劃藍圖,確保架構是可被執行的。
給初入職場的工程師建議
在大學快畢業時,Rick 也曾猶豫過應繼續升學或是就業,他當時的選擇是透過兼職工作,來驗證寫程式的工作是自己所喜歡的。關於就業前的準備,Rick 認為首要是釐清自己喜歡哪一個領域,是想走大數據?機器學習?還是 AR、VR?決定領域,應進一步思考自己的方向,假設是對 AR 感興趣,單純做 AR 這門技術,和做出不同的應用,所需的工作技能(Skill Set)是截然不同的。
在新創公司、大企業的工程師有何不同?
「工程師不該只是寫寫代碼,趨勢觀察、換位思考也是很重要。」Rick 常會跟同事做不同的題目發想,試著從規劃產品、使用者體驗的角度去分析問題。若比較在新創公司、大企業工作的差別,Rick 指出新創公司因為人員較少,工程師通常是身兼數職,不論是 App、網頁前後端都會需要處理,有時甚至要幫忙改 UI。而在大公司中,人員分工相當精細,工程師較能專注在自己的領域,在做決策上,則會經過一定的程序與跨部門溝通,「你不只是跟電腦講話,你講的話也要讓別人理解。」Rick 也提到因為大公司活動多,故建議後輩要培養多工處理的能力,才能降低在寫程式中被打斷的銜接成本,最後,他強調不論在新創公司還是大型企業,謙虛學習都是非常重要的,鼓勵大家可以透過 Udemy、Medium 等線上平台不斷充實自己。
PART 3:針對觀眾的提問進行答覆
Q1、這份工作對你來說最特別的地方 ?
Q2、你覺得國泰與其他公司相較之下,特別在哪裡 ?
Q3、你覺得你的工作讓你變成一個什麼樣的人 ?
Q4、你過去的求學背景對現在的工作有什麼幫助?
Q5、你的學系在畢業後實際有哪些未來出路?
Q6、跟你同部門的同仁通常是什麼科系背景?