錢竑州 (Max Cian)

Engineering Leader/

Backend Engineer/SRE/DevOps

  [email protected]

  github.com/hjcian

我的經驗著重在設計與開發符合 The 12-Factor App 方法論的 SaaS 應用,以及採用容器化 (Containerization) 與編排技術 (Orchestration) 將應用程式部署到公有雲或私有雲。

我採用 GitOps 的原則來設計 CI/CD 渠道以提升團隊的開發效率及提升軟體品質。使用過 GitLab CI/CD, Bitbucket Pipelines 及 GitHub Actions 來設計 CI/CD (Delivery) 渠道;並使用過 ArgoCD 與 Spinnaker 來實踐 Continuous Deployment。使用過 Grafana stack 來提升服務集群的可觀測性以利開發團隊快速排錯;另外也採用 Istio 服務網格來管理路由及設計高可靠性的服務叢集。

機器學習解決方案研發經驗則著重在 Email Security 的議題。熟悉資料蒐集、資料分析、特徵工程、模型訓練與模型部署等生命週期的建置。

前端開發經驗則包含公司內部使用的 URL 情資查詢系統,以及個人的指數投資計畫維運工具 side project (github.com/hjcian/inertia-web)。

以下是我使用的技術棧: 

  • Backend: Go, Python, Node.js, C/C++
  • Frontend: React.js
  • Database: PostgreSQL, MongoDB, Redis
  • Message Queue: Google Cloud Pub/Sub, RabbitMQ, Mosquitto
  • Object Storage: Google Cloud Storage, MinIO
  • Containerization/Orchestration: Docker, Kubernetes


  • CI/CD: Drone CI, GitLab CI/CD, GitHub Actions, Bitbucket Pipelines, ArgoCD, Spinnaker
  • Observability: Grafana, Prometheus, Jaeger, Loki, Google Cloud Profiler
  • IaC: Terraform Cloud
  • Cloud Provider: GCP, Azure
  • PaaS: Netlify, Heroku

工作經歷



FARobot, Inc.

Taipei, Taiwan


UX/UI Applications Team Lead & DevOps Engineer

Feb 2023 - Present

在 FaRobot,我目前的職責為 UX/UI Applications Team Lead,同時也身兼 DevOps engineer 主導團隊導入 DevOps 實踐,持續改善軟體開發生命週期各個環節的效率與品質。關鍵成就包括:

  • 領導 UX/UI Applications Team,優化團隊結構(+2 名前端工程師與 + 1 名 UX/UI 設計師),培養積極主動和負責任的文化,並主導從 Bootstrap/jQuery 至 React.js 的搬遷計畫
  • 重構後端服務叢集架構,移除冗余的服務與資料流,並使用資料庫以將資料所有權正常化,藉此降低架構複雜度、提升系統運作效率及軟體開發效率
  • 使用 Drone CI 建立完整的 CI 流水線系統,涵蓋所有核心應用程式,實現了 shift-left testing,大幅縮短每個 Sprint 的軟體發佈時間 (減少 1~3 天)
  • 推動單元測試實踐。包括替 Python、C++ 和 React.js 程式建立測試案例範本和流水線基礎設施,及培訓 6 名開發人員實踐自動化測試以提高測試覆蓋率
  • 進行系統架構設計審查和程式碼審查,提供團隊在資料庫應用、系統架構、API 設計等方面的最佳實踐。並與 6 名開發人員密切合作以降低軟體複雜度、提高可維護性和交付速度
  • 定義 DevOps 指南、協作政策和開發流程,以簡化整個 SDLC 並提高品質和效率。包括 Git flow 及 PR policy 等


Smart Ageing Tech Co., Ltd.

Taipei, Taiwan


Senior Full Stack Engineer (focus on Backend & SRE)

Jul 2021 - Feb 2023

在 Jubo,我的工作涉及多個角色,包括設計與維護全團隊 SRE 相關基礎建設,及作為 Lead Engineer 支援產品的開發、架構規劃及任務管理

身為 JuboSpace 產品團隊的 Lead Engineer

  • 與硬體合作商、內部 PM 及 UI/UX designer 緊密協作,討論產品藍圖、規格及評估工程成本
  • 設計與實作整體後端架構,以利規模化 IoT 裝置的介接及資料處理效率
  • 在不減低開發速度的前提下逐步汰換 legacy codes 以提升可維護性及可擴充性。最後減少了約 50% 的程式碼,大幅降低程式碼風險
  • 使用 Go 及 12-factor app 的思維實作 RESTful/gRPC API services 及 workers,並撰寫 unit testing 及 integration testing 保護 critical business paths 及維持覆蓋率在 70% 以上
  • 審查前端 (React.js)、後端 (Go) 的程式碼,以維持整體系統的可讀性與可維護性

身為一位 SRE,有多個角度切入了解我如何幫助團隊:

  • Automation
    • 重構 CI/CD pipelines,並建立統一樣式提升可維護性
    • 以單一 git repository 中心化管理 k8s configurations,並導入 ArgoCD 實踐 GitOps 原則,以提升叢集的可部署性
  • Observability
    • 開發與維護 Go 與 Node.js 的可觀測性共用函式庫,以滿足 RESTful 與 gRPC API services 對可觀測性的需求
    • 利用 Grafana、Prometheus、Jaeger、Istio 及 Google Cloud Logging 建立觀測系統,並實作警訊渠道以利 product teams 掌握服務狀態,並提升產品的穩定性
  • Developer Experience
    • 封裝經常使用的 cloud managed services 至 Go 與 Node.js 共用函式庫,以提升重用性及開發團隊的開發效率
    • 統一常用的 databases 及 middlewares 在本地端運行的 docker scripts,以提升開發效率及促進 dev/prod 環境等價
    • 設計並維護 Go service template,降低可觀測性需求對開發團隊的認知負荷,以提升開發團隊開發效率
  • DevOps Culture Building

Oriental Verse Inc.

Taipei, Taiwan


Backend Engineer

Jan 2021 - May 2021

在 Oriental Verse,作為後端工程師,負責開發新需求、建設 DevOps 相關的自動化及監控環境。工作內容包含:

  • 與 PM 及 iOS 前端工程師討論產品需求、與 CTO 討論後端架構後執行開發任務
  • 使用 Go 實作 gRPC service,並運行在 GKE 上提供服務
  • 使用 istio 在 K8s 中做 service mesh
  • 使用 ginkgo 與 testify 撰寫 Go 的 unit testing 及 integration testing,測試覆蓋率平均 70%
  • 使用 Github Actions 執行 CI,此階段包含 unit testing 及 docker image 的建置,最後發佈 image 至 GCR;使用 Spinnaker 作為 CD 平台,從 GCR 拉取 image 並部署至 GKE 上
  • 使用 Terraform Cloud 管理 GCP 上的各 infrastructures (SQL, Memorystore, Storage Bucket 等)
  • 使用 Prometheus 與 Grafana 收集 metrics 及呈現圖表,並設置 Grafana alert rules 發送通知到 Slack

Cellopoint International Corp.

Taipei, Taiwan


Senior Software Engineer

Jan 2018 - Dec 2020

Software Engineer

Mar 2016 - Dec 2017

在 Cellopoint,我的工作涉及了多種角色,同時是後端軟體工程師、產品負責人,也是資料分析師、資安研究人員。

  • 我主要負責公司的 URL protect 以及 BEC protect 模組的研發與維護,也協助維護 Email Threat Protection 的核心 anti-spam 模組
  • 參與完整的軟體開發生命週期,包含:與商業需求端一同做需求分析、使用 Python/C++ 實作後端服務、撰寫自動化測試、實作地端與雲端的自動化佈署渠道,以及日常維運與除錯
  • 參與完整的 AI 產品落地生命週期,包含:研究最新學術論文及競業產品白皮書、設計資料搜集渠道、特徵工程、訓練並驗證 ML/DL 模型、實作雲端預測服務並整合至資安模組內

學歷


國立台灣大學 碩士 (M.S.)

土木工程學系電腦輔助工程組 (2014)

國立台灣科技大學 學士 (B.S.)

營建工程系 (2012)