陳慶豪 Chen Ching Hao

擁有10年以上的軟體開發經驗,早期主要使用.net開發Windows應用程式及web系統,之後轉為使用php開發,近年則專注於需求分析及系統架構設計,並帶領4-5人小組進行敏捷式開發,除了持續精進專業技能,也同時累積了許多系統設計規劃、跨部門溝通技巧及團隊與專案管理執行的能力。

曾遇過專案在商業上有緊急時程壓力,無法如期交付便會失敗,經評估後發現需求要異動到整個服務架構,若要完整開發在時程上一定來不及,幸虧之前每個階段累積的經驗,我在一個晚上確認消化完需求後,將專案規劃2個階段,首個階段以最小的調整滿足客戶最大需求,並能延續下個階段繼續完整開發,在對外與PM確認目標後,對內立即協調團隊成員合作開發,感謝團隊各司其職,最後成功於期限內交付;在專案開發的經歷中遇到問題已是常態,對我來說每次的難關都是新的挑戰,很幸運一直能在工作中學習累積新的技術與經驗並順利解決問題,我也一直很享受這個過程,這也是驅動我在這行業一直努力的動力。

在工作之餘,我喜歡騎車、健身等運動,也嘗試開發烹飪技能,屬於越陌生的領域越容易產生興趣的類型;個性上比較謹慎、細心,這也反映在工作上能有責任感,樂於接受挑戰,面對問題時具備豐富的經驗與能力,定能為團隊帶來一定的幫助。

  Tainan City, Taiwan   

學歷

中國文化大學

資訊管理碩士  •  2006 - 2009

論文研究為建構網格(Grid computing)節點工作排程分析模型,可動態監控各節點之負載狀態,並藉由將工作移轉至負載程度較低之執行節點處理,可減少節點之等待處理工作數,提升其它節點的CPU使用率,使網格各節點達到負載平衡,進而提升整體運算效能。

技能

Backend

   vb.net ⁄ c# ⁄ ASP.net core ⁄ Entity Framework ⁄ LINQ ⁄ WPF 

  yii2 ⁄ symfony ⁄ Laravel ⁄ phpunit 

  docker ⁄ linux ⁄ mqtt ⁄ Kafka ⁄ GCP 

Frontend

  CSS   CSS   Javascript   JQuery 

Database

    MSSQL      MySQL     Oracle      MongoDB      Redis 

Other

  Git      Ansible      Agile 

工作經歷

 

Software developer  •  Wistron ITS

六月 2021 ~

- 開發語言與工具:

1. c#, asp.net core, asp.net mvc

2. python, pandas 

3. react 

4. oracle



- 主要工作及達成目標:

協助客戶開發內部工具,包含

1. 資料migration與各類統計圖形介面

2. signalR實作即時更新的dashboard


 

Backend developer  •  音擘數位科技股份有限公司

十月 2020 - 四月 2021

- 開發語言與工具:PHP、symfony、postgresql、mqtt、Kafka、gcloud

- 功能:
1. 提供後端影片串流服務及相關功能API給client端串接

- 主要工作及達成目標:
於任內獨自依需求完成後端系統之功能、架構設計與實作,包含:
1. 實作mqtt+kafka的分散式架構已滿足高吞吐量之需求
2. 依設計實作系統功能與API
3. 介接gcloud,如storage、cloud CDN、RTDN、google play API等服務
4. unit & integration Tests
5. 實作系統共用的library packages


 

Software developer  •  源思科技股份有限公司

二月 2015 - 四月 2019

【Windows版通訊應用軟體】
- 開發語言與工具:C#、WPF

- 功能:
1. 聊天室管理
2. IM通訊,包含文字、語音及貼圖等類型的訊息
3. 包含可撥打VOIP、市話等通話功能

- 主要工作及達成目標:
1. 設計使用者操作flow及UI,有效簡化使用者操作flow,如使用者建立聊天室、多裝置通話接聽到掛斷等,將使用者操作簡化1至3個動作即可完成
2. 介接後端如IM、SIP及認證系統等提供之Web API,於背端分批向server請求資料(如訊息、聊天室等),前端以非同步方式更新介面,避免一次獲取太大量資料,造成使用者卡住的問題,有效縮短80%的app啟動時間,優化了使用者體驗
3. 於local端暫存資料,避免對後端server重覆發出不必要的request,並利用通知機制,在資料有異動時才進行更新,實作後有效減少後端server約70%-80%的loading


【網站應用系統與Web APIs】
- 開發語言與工具:PHP、Yii、Redis、MySQL、MongoDB

- 專案包含:
1. 形象官網
2. 公司後端維運管理系統
3. 企業客戶端應用系統
4. Web APIs

- 主要工作及達成目標:
1. 開發MVC架構的6個主要網站應用系統
2. 開發約30支的Web RESTful APIs供其它系統及客戶端應用程式使用
3. 基於RBAC的帳號權限控管
4. 實作load balancing與scalable的系統架構
5. 多語系架構及阿拉伯語系rtl


【Web版IM及通話SDK】
- 開發語言與工具:javascript

- 主要工作及達成目標:
1. 開發javascript版本的IM及通話SDK,協助客戶節省開發人力與時間成本


【Single sign-on(SSO)】
- 開發語言與工具:PHP、Redis

- 主要工作及達成目標:
1. 將登入功能從各應用系統抽出,實作單一登入系統,主要負責使用者帳號認證
2. 相關的各應用系統無需重覆開發登入功能,有效簡化開發流程
3. 使用者亦無需重覆登入,減少帳密管理的問題


【Job分派架構】
- 開發語言與工具:PHP、python、Gearman、Supvisor、MongoDB

- 主要工作及達成目標:
1. 透過Gearman建立Client-Server架構的工作分派機制,由Job server統一分派工作給worker,達到各worker間的load balancing
2. 利用Gearman在不同程序語言之間溝通的能力,針對不同類型的worker使用符合特性的語言開發,例如由python處理excel
3. 導入Supervisor監控worker,並於worker死亡時自動重啟,以確保worker保持必需的數量
4. 網站應用系統透過此機制,使用者送出秏費資源的工作後不需等待工作執行完成即可繼續操作
5. 搭配Job管理與通知機制,提供使用者得以監控工作狀態以及必要時可重新執行工作


【客戶端檔案拋轉工具】
- 開發語言與工具:Java

- 主要工作及達成目標:
1. 提供客戶端定期拋轉資料、上傳圖片
2. 使用者可自訂拋轉資料欄位格式
3. 介接Microsoft Active Directory (AD),匯出資料並拋轉


【自動化佈署腳本與服務microservice化】
- 開發語言與工具:ansible、docker、kubernets

- 主要工作及達成目標:
1. 早期使用ansible playbook進行自動化佈署,減少人工手動步驟
2. 後期為解決系統因過於繁雜的服務而造成的管理成本及資源負載問題開始將服務切開,並逐漸導入docker及k8s達到自動水平擴展,降低資源不足或閒置問題


【log分析與監控】
- 開發語言與工具:
ELK

- 主要工作及達成目標:
1. 導入ELK,簡化繁雜沒效率的log查詢工作,並透過搜集與分析log,快速掌握服務是否出現異常


【團隊開發】
- 主要工作及達成目標:

1. 與Product owner討論需求及時程安排,與其它團隊合作設計系統架構
2. 訂定短期目標,帶領4-5人團隊進行敏捷式開發,透過定期的review隨時掌握專案進度,並進行資源調度,於導入敏捷式開發約1年多時間,共約20個大小專案皆能於期望的時程內順利完成


 

Software developer  •  捨得資訊股份有限公司

四月 2012 - 一月 2015


- 開發語言與工具:ASP.net、vb.net、C#、MS-SQL、Entity Framework、Linq

- 專案包含:
1. 企業形象官網
2. 購物網站
3. 線上影音教學
4. 後端CMS
5. Web APIs

- 主要工作及達成目標:
1. 與PM討論需求與專案時程規劃
2. 分析與設計系統架構
3. 實作多語系架構
5. 背景執行工作機制
6. 實作購物車機制與線上金流介接


 

Software developer  •  台北市立聯合醫院資訊室

九月 2010 - 三月 2012


- 開發語言與工具:vb.net、ASP.net、winform、oracle

- 專案包含:
1. 急診系統
2. 醫令系統
3. 簡篩系統

- 主要工作及達成目標:
1. 與PM討論需求與專案時程規劃
2. 分析與設計系統架構
3. 協助使用者端解決問題並改善使用體驗

Powered by CakeResumePowered by CakeResume