2020 年 7 月 - 至今 at 91app as Senior Manager
帶領十位同仁協助開發並上線 marketing cloud 產品
- 設計 marketing cloud 前後端服務架構
- 設計微服務架構分層
- 確保服務可快速 scale up and scale out (docker, k8s, pub/sub worker)
- 重新設計查詢框架,增加查詢效率並解決查詢瓶頸
- API FIRST
- 導入DevOps的概念,由團隊監控並維運自己的服務
- 重新設計 data pipeline 架構 (pub/sub, cloud run, cloud composer, dbt, athena, bigquery, dataflow)
- 導入 ingestion/transform/reverseETL flow 的設計概念
- 降低資料導入的時間,以及開發成本 (from 1w to 2d)
- 降低資料傳送給其他團隊的開發時間 (from 1m to 2w)
- 降低 streaming 資料流導入成本 (20 USD /day to 5 USD/month)
- 使用config as code 的方式降低資料流開發的時程,並且增加維運和可視化的能力 (from 1w to 1d)
- 設計full-refresh的方式降低維運成本提高 SLA (降低downtime from 1d to 1hr)
- 導入DataQuality 概念,做資料管理(data lineage/ data quality/ data discovery)
- 重新設計資料使用方式來確保 single source of truth
- 協助 scrum 會議的進展
- 協助主持四大會議
- 利用 retro 接收團隊的 feedback ,並且藉此調整團隊不效率的地方,提高團隊 PBI 可視化
2018 年 1 月 - 2020年 7月 at 91app as Senior Manager
帶領九位同仁
最近的talk : Devops下的前端工程師
改善現場
- 為了解決多團隊協作造成的code conflict 問題,以及降低團隊測試成本
- 導入trunk based development flow
- 為了解決多團隊協作問題,將程式碼拆成多份模組(使用淘寶的架構/dynamic delivery架構)
- 為了再降低CI/CD成本,將本地的jenkins機器搬到雲端,使用spot instance 讓我們可以使用便宜的價格達到增加CD速度的目的
- 為了解決人工介入的流程的問題,將部份需要人工操作的流程使用selenium自動化工具去操作
- 為了增加團隊成員的透明度,導入每日站立sync的流程
建立自組織文化,期望團隊成員能夠成為full stack,解決我們面臨的問題
- 讓團隊成員能夠看到問題,決定怎麼處理問題
- 提供基礎的教學
- docker with selenium
- k8s concept
- jenkins 使用 dojo
- typescript 教學 codelab
- 建立分享技術的風氣
技術棧
- android app 開發 (java + kotlin + espresso + mockito)
- CI/CD (jenkins + aws ec2 + aws spot instance)
- backend for front end (k8s + graphql + typescript)
- appgen (typescript + docker + mysql)
- 自動化工具 (selenium + ruby + docker)
溝通協作