Uacr7hlymxbqblfgngkq

Ken Chang

十年以上Mobile app經驗,八年管理職經驗,工作經驗包含了管理、開發、測試、架構、系統。
喜歡多方面思考,研究學習新技術,以使用者為出發點做創意的發想,樂於分享自身經驗與夥伴擦出新的火花。在我對軟體開發的認知中,沒有「沒辦法」這三個字,我認為之所以叫「軟」體,就是有一定的彈性,我會秉持著彈性兩個字,盡可能的配合專案經理的時間人力配置,完成公司開發的使命。

軟體技術部門主管
TPE,TW
[email protected]

技能


Mobile App開發

1. Android application與Frameworks層架構、Android各種原生與Jetpack元件。

2. 熟悉Java, Kotlin程式語言。

3. 熟悉RxJava3、Coroutine、Retrofit整合非同步應用達成API串接。

4. 熟悉Jenkins, AppCenter部署上架Android/iOS app流程。

5. Firebase、Crashlytics追蹤。

6. 熟悉AWS EC2, S3, CDN等等設定。


團隊管理

1. 良好的溝通、協調、跨部門討論,對工時日期精準掌控,以及工作分派調度均有相關經驗。
2. 熟悉Mobile app的UI/UX,會與設計人員討論出最理想的操作體驗。
3. 對上溝通清楚,且當碰到問題會提供多種Solution讓決策者做決定。
4. 定期進行Code review,不斷對程式碼進行重構,提升程式碼的閱讀性。
5. 定期召開研發人員進行會議、優化Server與APP的Performance。
6. 深入了解與討論行銷團隊的運作方式,並提供技術層面的意見與回饋,來避免行銷資源浪費。
7. 了解敏捷開發Scrum的精髓,打造最靈活的團隊。

學歷

銘傳大學 電腦與通訊工程學系,2008年畢業

經歷

皆凱科技 - Android Engineer,2023 年 7 月 至今

從無到有開發期貨投資APP。

智鈦星平台服務有限公司 - Android Team Lead,2023 年 3 月 - 2023 年 7 月

帶領四人的Android團隊,安排專案開發進度,規劃優化方案。

使用模組化的開發,並持續對修改Android Gradle對app做加密與安全性的強化以及程式碼防竊取。

優訊軟體科技 - Mobile Team Lead,2019 年 5 月 - 2022 年 10 月

管理四人團隊,同時維護Android/iOS雙平台,從產品設計到開發測試到上版建置,都要有全盤的了解,開發上使用MVVM架構,持續的調整優化程式架構。

  • Android應用開發維護:
    • ButterKnife to ViewBinding:將專案中的ButterKnife第三方套件改為Android官方的ViewBinding。
    • Java to Kotlin:新需求一律使用Kotlin開發,舊有類別如果有更動較大,則會用Kotlin改重寫;如果舊有類別架構較大,會用Kotlin extension方式改寫。
    • Coroutine:專案中多執行緒會以RxJava運行,部分以AsyncTask運行的地方,使用Coroutine改寫。
  • 版本發佈與憑證管理:Android/iOS雙平台使用Microsoft AppCenter編譯,iOS使用企業版憑證發佈。
  • 程式碼優化規範:Java使用Checkstyle, PMD、Kotlin使用ktlint、Swift使用SwiftLint做程式碼的自動檢測,規範出團隊使用的coding style與基本的偵錯。

91APP九易宇軒股份有限公司 - Senior Engineer,2018 年 10 月 - 2019 年 5 月

管理10人的QA團隊,因應公司的Scrum文化,同時有不同的團隊,會有不同的測試環境需求,所以管理測試環境的建置也是我的工作,這需要用到非常多的AWS操作知識,在這裡任職時也需要管理每日每週的自動化測試,確保服務隨時在正常的狀態。

  • 測試環境建構模型:由於團隊成員散落在各個Scrum team,每個Team需要一座測試環境,整理測試環境的建構流程與腳本,讓QA成員可以在需要時建構出一座全新的測試環境,以解決測試環境與正式環境的落差。
  • 全聯專案:91APP的系統架構,各家不同的店家會運用到同一組伺服器,全聯不希望遇到這個情形,所以要在新帳號建構一組環境,經由測試環境建構模型的前置作業,加快了全聯專案的時程。

遊戲橘子數位科技股份有限公司 - 副理,2018 年 3 月 - 2018 年 7 月

開發與維運Swapub,Swapub是一個全球營運的mobile app,全球有數百萬用戶,每月最高活躍使用者也有數十萬,擔任這間子公司擔任技術部門的主管。

  • 團隊管理:管理八位成員,三位後端,Android/iOS個兩位,以及一位QA。
  • 成員招聘:使用靈活的方式解決.NET C# + MongoDB人才的問題,兩個月內補齊人員空缺。
  • AWS auto scaling:原本雲端架構是固定開三台instance做Load balance,改為離峰時間一台,尖峰時間預設兩台,並且在負載較高時彈性增加。
  • 資料庫高可用性調整:MongoDB人才較少,請顧問協助架構資料庫高可用性的調整,且給予團隊MongoDB的訓練。

遊戲橘子數位科技股份有限公司 - 程式設計主任,2017 年 4 月 - 2018 年 3 月

這段期間擔任Swapub App前端的Team Leader,管理前端工程師的新功能架構與開發進度,每天bug report的重要bug修復狀況。

遊戲橘子數位科技股份有限公司 - 資深程式設計師,2015 年 7 月 - 2017 年 4 月

開發與維運Swapub Android版,此專案之前由外包在時間非常急迫的狀況下完成的,整體架構相當的不穩固,且難以擴充,所以跟老闆爭取時間打掉重做,重新設計整體架構,降低Crash數,提升UI/UX動線,並加入GA數據提供行銷團隊,也因為這次的重構,讓我得到升職的機會。

  • 重新架構APP:在App已在營運階段時同時進行舊版本營運與新版本開發,並加入GA數據追蹤使用者資料,使用Fabric做Crash追蹤。
  • 協助行銷團隊進行數據分析:提供行銷團隊在活動期間各種數據分析,例如安裝數、註冊數、上傳物品數以及回流數。
  • 建置Location分區機制:將Location細分至國家、洲、省,來增加交換成功機率,提升跨國交換方便度,加入即時貨幣換算、區域推播系統,以及多國語系機制。
  • 結合社群登入分享功能:導入FB登入、Twitter登入、Weibo登入,以及FB、Twitter分享功能,增加自然流量與刺激活躍使用者。
  • 金流服務:為了讓交換更有保障,加入保證金概念,串接PayPal、支付寶、玉山銀行API、紅陽API,增加團隊實質營收。

美商安邁科技股份有限公司 - 資深工程師,2011 年 8 月 - 2015 年 6 月

部門從事Android系統的開發,負責的是系統的Framework層,因為參與過Framework層的開發,所以對Application層有更多的暸解。

  • DuOS Android模擬器:模擬器與Windows應用層的訊息交換。
  • Intel Android x86 BSP:參與CTS issue修復、系統層添加有線網路、系統測試工具。
  • 智慧聯網IoT辦公室應用:BLE Beacon nearby的應用。

力揚科技股份有限公司 - 軟體工程師,2010 年 10 月 - 2011 年 7 月

這是我出社會的第一份工作,雖然時間短暫,但卻是往下扎根的基礎,剛到職沒有前輩可以學習,只靠一本書,就完成了參與公司的第一個專案。

  • 女孩的小本本:女孩風行事曆App,曾經飆升到台灣付費應用排行榜第一名。由於UI客製化成分高,在UI的layout扎根。
  • 愛情隨手拍:戀愛風相簿App,曾經受到報章雜誌情人節企劃報導。

自傳

我從2010年退伍後至今,在Mobile app產業已有十多年的經驗。 我出社會的第一份工作是在力揚科技Apmobile,工作內容是Android app的開發,以及一些公司既有的手機加值服務(VAS)的維護,在這間公司我學會了Android的SDK,使用者介面的設計,還有利用Servlet架設Web服務的架設與維護,對智慧型手機也產生了極大的興趣,我製作的APP「約會手作書」又名「愛情隨手拍」曾經在2011年的情人節受到蘋果日報的推薦。因為是小公司,所以大家都有提案的機會,我曾經向老闆提出了一個模板化線上APP開店的想法,但當時公司的規模太小,所以這個想法在這邊無法實現。 

2011年的八月,我轉職到美商安邁科技,美商安邁的英文公司名叫American Megatrends Inc.簡稱AMI,AMI主要的業務為電腦主機的BIOS,是全世界最大的BIOS供應商,但由於智慧型手機與平板的普及,桌上型電腦與筆記型電腦的市場逐漸被瓜分,所以AMI便著手開發Android x86的裝置,目前已經與Intel合作開發了多個裝置上市,由於Android x86是需要使用到BIOS的,一來收取品牌廠的Android研發費用,二來擴大自家品牌的BIOS市佔率,一舉兩得,我們部門的業務主要為Android device driver porting、系統問題的除錯、還有客製化app,而我負責的業務主要是Android上層的Frameworks以及application,曾經開發過數個自動化測試工具,還有手機遙控器,曾經在部門裡代理了小組長的職務,領導並安排數個工程師的工作內容與進度。 在與正職工作不衝突的時間,我自己成立了一個小工作室,成員只有我跟我妻子兩人,公司沒有登記,單純以個人名義,製作了多個app,在Google play上都有破萬次的下載數,平均超過4.5顆星的評價。 自製的app以外,也有與多家公司合作,外包製作多個app,其中有電子書、補教頁教學系統、問券系統,性質多元且服務廣泛,在這份工作中,我也學習到一些和客戶溝通與交涉的技巧,相信這些技巧也非常有利於接下來的工作。 

在離開美商安邁科技後,我轉職到了遊戲橘子,主要負責的任務是開發以及維運「Swapub」 app,Swapub是一個換物的平台,用戶可以上傳自己用不到的物品,媒合到自己需要的物品,這個產品在市面上已有相當的規模,已經有數百萬會員數,每月活耀使用者(MAU)也有數十萬,是一個可以承受市場壓力的app,在我剛到職時,這個app還沒有非常好的穩定度,經由我的策劃與重構,才可以有現在的規模,我也因為這個重構計畫,得到了晉升為研發團隊的主管的機會,管理了8人團隊,包含Mobile app開發、後端API開發、雲端伺服器管理、資料庫管理還有測試工程師,負責安排工程師的開發時程與版本的控管、新功能的流程策劃,在這邊我學習到了團隊運作的管理、與其他部門的溝通,當策略者看事情的角度應該與執行者的不同。 

由於Swapub在商業上始終沒有找到適合的獲利模式,我發現了91APP這間公司,91APP所做的就是我在第一家公司Apmobile想過的概念實現化了,所以我便毛遂自薦進入了91APP,擔任QA部門的儲備主管,在這邊要管控後端的伺服器,同時還要管理網頁端與手機端的測試流程,在這邊我學習到豐富的敏捷開發概念,深覺敏捷開發是非常適合軟體業的。

2019年我又回到Mobile App開發,在優訊軟體,我管理了4人團隊,Android與iOS各兩位,從產品設計就開始參與,到最後的發佈版本,我們使用了Jenkins結合微軟的appCenter實現了雲端建置與發佈,在iOS使用企業版憑證發佈,需要學習許多關於憑證管理的技巧,在專案中使用了Checkstyle、PMD、ktlint、swiftlint,控管程式碼品質。

因為疫情與種種關係,優訊軟體在2022年組織縮編,台灣的開發團隊解散,因此我離開了優訊軟體。

在2023年三月,我加入了目前的公司「智鈦星平台服務有限公司」,進入該團隊擔任Android Team Lead,負責管理四人團隊,由於開發的應用是跟金融相關,所以加密與安全性的需求較高,這份工作做了以往Android開發較不會修改的Android Gradle的程式碼,對打包後的app進行加密與安全性的強化,公司的業務變化很快,需要非常及時的反應與決策。

這十多年的工作生涯,累積了Mobile App開發、Android系統開發、AWS雲端服務維護與優化、QA測試架構規劃管理、CI/CD Jenkins與Microsoft AppCenter各領域的精髓,在我對軟體開發的認知中,沒有「沒辦法」這三個字,我認為之所以叫「軟」體,就是有一定的彈性,在開發與管理團隊時,跟專案經理溝通時,我會秉持著彈性兩個字,盡可能的配合專案經理的時間人力配置,完成公司開發的使命。