感謝

感謝台中 張永瑞先生 以此講座鼓勵後輩:「多一點熱心 哪怕窮熱心」

講座由 IOH 幫手 林立麗、陳彥妏、李芳儒、李孟蓉、羅竟祐 協助 責任編輯:陳彥妏 核稿編輯:林立麗

國泰人壽 程式開發工程師 蔡欣穎

分享此講座

PART 1:關於在國泰人壽擔任程式開發工程師的工作經驗分享

講座章節開關
儘管路途崎嶇,也要擇己所愛

蔡欣穎畢業於台大農藝系研究所,現為國泰人壽程式開發工程師。大學起初念農藝系,大二轉系到醫學檢驗暨生物技術系,卻又發現這不是自己想要的,因此向學校爭取轉回農藝系。就讀農藝研究所的生物統計組期間,她接觸到程式語言R,發掘自己對程式的熱情。畢業後,她到英國念了半年語言學校,在異鄉學會獨立生活,回國後在因緣際會下進入國泰人壽,這一路以來,每一次勇敢做選擇,正視自己的內心,都讓她內向的性格逐漸變得積極主動,她期許自己能成為有影響力的人,透過帶領新人、分享所學經驗,為身邊的人帶來正面影響。

保險業中資訊人員所扮演的角色

保險業是替大家分攤風險的產業,因為沒有人能保證自己一生順遂,也沒有人知道未來會不會有意外發生。在保險業工作的資訊人員則是公司的有力後盾,負責有系統性地整理、歸納大量的客戶資料以及交易紀錄等等,也協助各部門簡化重複性高的工作,例如幫人資部門開發計算薪水的程式等等,過程中需要不斷地聽取使用者需求,並將之實現。

國泰人壽簡介

國泰人壽是一間穩健成長的企業,近年更不斷引進創新技術,力求改變,此外,同事之間不吝於分享所學所知,不怕被超越,而是督促彼此一起成長。國泰人壽有許多的社團活動,欣穎就參加了登山、健身、游泳、有氧等等社團,相較於大學社團,欣穎認為最大的不同是公司會給予社團補助,讓員工在工作之餘培養興趣。此外,國泰人壽也和一些教學機構簽約,提供員工包括英文、西班牙文,日文及韓文等外語補助。

國泰人壽資訊部門定位

國泰人壽資訊部門分為四大單位,行銷資訊部和客戶的接觸較為頻繁,負責公司對外網頁及App;壽險資訊部主要負責保單、保險及其他壽險相關事務,另外還有人事等公司內勤員工所使用的系統;投資資訊部則主要負責和投資相關系統,如股票、債券、財務會計等系統;而系統資訊部是以上三個部門的後盾,負責維護網路安全,管理資料庫,以及伺服器的維護及運作。

投資資訊部的新人培訓所

欣穎是投資資訊部投資程式設計科的一員,投資程式設計科堪稱「新人培訓所」,初入投資資訊部的新人都會先到這裡進行訓練。投資程式設計科又分為三組:新人都會先加入程式開發組,每天撰寫程式碼;教育訓練組負責帶領新人適應與學習;技術支援組則透過技術研究,將新技術帶進團隊,帶著大家一起進步。

完善的新人教育訓練

新人剛進來會先經歷三個月的訓練,從學習基礎的Java開始,到SQL結合資料庫的應用,再到JavaScript,以及熟悉公司的應用程式架構,加上處理大量資料的批次練習。第五週會有期中考,讓新人根據模擬的規格書實際進行開發,最後,正式專案開發會考核大家開發的程式量,試用期的最後會進行個人的期末報告,讓新人透過口頭報告進行總回顧,並且回答學長姊以及導師的提問。新人在經過三個月試用期及培訓後,會簽下為期兩年的合約,期間公司會提供大量課程以及外訓機會。整個教育訓練過程中,會由導師帶領著新人,陪伴他到擁有獨當一面的能力。而在一年後,新人便能選擇自己的下一步,可以選擇當程式設計師,或是離開投資程式設計科,朝向UX和UI進一步發展,成為一名系統分析師。

程式開發工程師的工作內容

在程式開發工程師當中,本科系和非本科系人數各占一半,非本科系會不會比較不利呢?欣穎認為,不論科系背景,「累積的實力才是最重要的。」身為一位全端工程師,前端的頁面呈現,和後端的資料庫連結,都是她的工作範圍。有時候花了比預期還久的時間才把程式寫完,讓欣穎了解到現實與理想的差距。她認為和同事間互相討論與學習是十分重要的:「一群人一起努力,也許不會跑得更快,但會跑得更好、更穩。」秉持著「30分鐘定律」,她在遇到問題時,會先給自己30分鐘嘗試,若半小時候仍無法解決問題,便尋求協助,訓練自己思考過後再勇於提問也是一個重要課題。

開發程式的流程

在一項專案的流程中,首先,使用者會向系統分析師提出需求,系統分析師則依此設計系統的樣貌,並將規格書交給程式開發工程師實際做出成品。而修改程式也是常見的事情,然而,開發過程的有效溝通其實就能減少時間的浪費,因此欣穎建議,別害怕提問,對專案內容有疑問就舉手發言吧!除了開發程式以外,欣穎平常也會處理新人教育訓練、聯繫廠商以及行政工作。

程式開發工程師的工作行程

欣穎每天一早便確認新人的進度,決定今天要先帶新人或是做自己手頭上的程式工作。每週需要開科會,檢視大家程式碼常犯的錯誤,並加以提醒,或是進行程式相關的主題式報告。部會則是兩週一次,進行讀書心得分享,每個人都有機會上台介紹自己負責閱讀的書籍,這也是少數直接面對主管的機會。每年會有上、下半年兩次的績效檢視,回顧當年度的成果,並據以訂立隔年的目標。

工作中的成就感與挫折

進入國泰將近兩年的時間,欣穎最大的成就感來自於能力的突破,雖然自己非本科系,但在一年的磨練後也成為了導師。每當看見有人使用自己苦心寫出來的網頁,或是新人從原本不斷問問題,到後來也能帶領其他人,都讓她深深感受自己工作的價值。然而挫折也不曾少過,剛進國泰時,要在三個月內趕上本科系的程度也讓人感到吃力;工作上手後,發現僅有的基本知識仍是不足應付問題,需要不斷精進自己。繁忙的工作也讓她驚覺時間管理的重要性,仍是待學習的一大課題。此外,帶領新人時需不斷溝通,想盡辦法讓新人理解並有所學習,是挫折也是磨練。

程式開發工程師必備條件

若想要成為程式開發工程師,欣穎認為邏輯清晰以及勇於溝通是兩大重要特質,前者幫助自己簡化問題,直搗核心,用更少的程式碼解決問題,後者包含和系統分析師確認需求時的一來一往,以及工程師彼此間的交流,都需要有效的溝通。上述都是可以培養的能力,但最重要的還是擁有一顆熱愛程式的心,因為每天都在寫程式,如果對於程式沒有熱忱,是很難持續下去的。程式開發工程師未來的職涯發展除了待在原部門以外,也可以積極爭取到其他科的輪調,或是經由海外派駐的機會,到中國、越南等地,協助海外公司的資訊工程部門發展更成熟。

在學期間最應培養的能力

學生時期分組報告、參加社團的經驗,讓欣穎學習主動溝通;就讀研究所期間,培養欣穎最重要的就是解決問題的能力,遇到問題自己找資源、想解法;最後,在職場上很重要的是獨立思考,與其等著別人給答案,不如主動思考自己能怎麼做。

駐點執行專案及自學經驗

欣穎曾經隨著整個團隊,駐點到國泰世華銀行執行專案,在那裡,系統分析師和程式設計師齊聚一堂解決問題,這也是她第一次不用經過系統分析師,就能直接接觸到使用者,收到第一手的使用回饋。此外,在程式學習的路上,欣穎推薦Coursera、Codecademy以及Bento等自學網站,而她也回台大資訊系統訓練班進修,她笑稱,網路有許多免費資源,但還是付錢上課比較有效率,會逼著自己認真學習。

勇於選擇,別害怕失敗

經過國泰的訓練後,欣穎的邏輯性大大提升,更會抓重點,做事也更有效率。她認為非本科系在這份工作上,更要不斷的學習,才不會跟不上大家的腳步。最後,她建議學弟妹:「不論是求學階段還是求職,一定要勇敢做選擇,不要害怕失敗。」自己在求學時歷經轉系,求職又跨到另一個領域,她相信唯有正視自己內心的真正渴望,才能選到自己真正想要的。

PART 3:針對觀眾的提問進行答覆

Q1、這份工作對你來說最特別的地方 ?
Q2、你覺得國泰與其他公司相較之下,特別在哪裡 ?
Q3、你覺得你的工作讓你變成一個什麼樣的人 ?
Q4、你過去的求學背景對現在的工作有什麼幫助?
Q5、你的學系在畢業後實際有哪些未來出路?
Q6、跟你同部門的同仁通常是什麼科系背景?

分享此講座