Travis (沈定祥)

5 年 Web 後端開發、2 年 GCP 部署維運經驗

擅長用 Python 及 Django 開發 Web API、容器技術、CI/CD 及系統架構設計

  Taipei City, Taiwan  https://super9.space         

工作經歷

後端工程師  •  Tagtoo

二月 2019 - 十二月 2021

重構 IoT 事件串流系統

以 Pub/Sub 搭配 K8S 微服務取代上個世代 MapReduce 及 GAE 服務,服務成本最少降低 80%,且服務的可擴展性能應付資料流的成長(qps ~= 1000

Dataflow 壓縮 (windowing) 發送至 Facebook 的事件資料,解決 Request Quota 限制的問題

為連結不同網站的使用者提供解決方案,選用 BigTable 作為資料後端,設計 graph-like 資料結構

導入 Terraform 來部署及管理雲端資源,定義測試與生產環境如何部署 / 撰寫 Shell Scripts 在本地環境測試微服務交互

設立 ML 基礎架構

部署 Kubeflow 叢集,調整並管理其中的微服務,將初版的機器學習腳本實作成 ETL Pipeline,並將預測結果(每日約數百萬個名單)以 Pub/Sub 串流至應用端,以 Redis 儲存並開放 API 存取

定義多組機器學習的機種,配合 K8S node 擴展特性,將流程設計成「要用再開」,並搭配 Preemptive VM,精簡運算成本

在專案中提供自動化腳本,並將通用的功能做成套件或映像檔,避免在多個 Pipeline 中重造輪子

重構 DPA(Dynamic Product Ad) Platform 專案

重構 legacy code 並容器化,以 Docker Compose 整合前後端應用,加快開發速度

以 CloudBuild 實現 CI / CD 並優化流程,將建構兩組映像檔加上跑 50+ 個測試時間縮減至 7 分鐘

熟悉各家 API 的使用特性及測試方案,整合 Django ORM 與廣告後台資源 (Facebook, Google Ads, GMC) 的 CRUD,由於系統極依賴廣告後台 API,研究並定義出了一套 E2E 測試方式

在部署端導入 Helm,透過參數化避免重複的資源定義 / 介接第三方金流(Tappay)

研究助理  •  農業科技研究院

五月 2017 - 一月 2019

開發了兩個系統:農業勞動力調查線上檢誤網站、重要農產品每日價量平台,解決統計人員工作上的不便

開源一個 python 套件,解析農業用地址並轉換成代碼

全端工程師  •  建騰創達

五月 2016 - 一月 2017

在 .NET 框架下維護與開發網頁服務 / 撰寫爬蟲程式抓取公司所需資料

Side Project: 呱吉選民服務網站

負責後端開發、部署及開源管理,在首週獲得了 20,000 個不重複使用者及 120,000 次瀏覽

學歷

2010 - 2015

臺灣科技大學資訊管理系