< Backend & DevOps Engineer />

Neroal Wu

後端工程師,專注從開發、CI/CD 到部署維運的一條龍交付。工作之餘獨立開發 iOS App 並上架 App Store。

關於我

約 4 年軟體開發資歷,近 2 年專注後端與 DevOps。擅長從前後端開發、CI/CD 到服務部署與監控的一條龍交付。 主導部門的 CI/CD 標準化,並打造內部 CLI 工具與可重用的自動化部署流程,將團隊從開新專案到上線的流程標準化; 日常以 Vue 開發前端、Node.js 生態系打造後端服務並部署於 AWS。 工作之餘獨立開發 iOS App 並上架 App Store。

90% 現行專案導入自動化部署
34 台 Server 接入 CI/CD
10→1 部署耗時(分鐘)

工作經歷

聯和科創股份有限公司

2024.04 – 現在
後端工程師

負責後端服務開發與部門 CI/CD 自動化,從前後端開發、部署到服務監控一條龍交付。

  • 主導部門 CI/CD 標準化 導入前專案以 FileZilla 手動同步到 Server 再手動下指令啟動服務。我設計並導入 GitLab CI/CD Component、撰寫部署規範與新機 GitLab Runner 安裝手冊,工程師只需在 gitlab-ci.yml 設定部署 tag 與專案路徑即可達成 push 後自動部署。現行 90% 專案、橫跨 34 台 Server 採用。
  • 開發內部專案鷹架 CLI 工具 為解決開新專案需手動複製舊專案、結構與設定易不一致的問題,開發並發布內部 npm 套件 cad-cli(Commander + Handlebars,含 100+ Jest 測試)。一行指令即可產生符合團隊規範的 Express 專案骨架,並支援快速生成 resource(自動產出 model/service/controller/route 並注入路由)、cron、middleware 樣板。產出專案內建 PM2 ecosystem 與 GitLab CI/CD 設定,開箱即接入既有自動化部署流程;以 conventional commits 驅動 semantic versioning 自動發版至私有 GitLab npm registry。
  • 從零建立部門技術文件體系 加入前部門無技術文件可循,獨力建立逾 10 份開發規範與操作手冊,涵蓋 GitLab Flow 分支協作、CI/CD 建置、PM2 服務啟動、環境變數管理、地端伺服器安裝、本地開發環境到新進人員快速上手指南,將原本仰賴口耳相傳的知識制度化,統一團隊開發實務並降低新人上手成本。
  • 部署效率與可靠度提升 單次部署從約 10 分鐘(含手動下指令)縮短至約 1 分鐘;退版由手動修改 Server 並 reload,改為一鍵觸發前一版本 Job 完成;部署完成自動發送 Slack 通知,即時掌握服務狀態。
  • 全端開發 Vue 開發前端,Node.js + Express + MongoDB + Redis 打造後端服務(PM2 執行),部署於 AWS。
  • 服務監控自建 (POC) 針對內網服務斷線與 Crash 問題,於多台機器自架 Loki 與 Prometheus Push Agent 收集 metrics,並以 Grafana 呈現各 Server 服務狀態,輔助問題排查。

鈊象電子股份有限公司

2021.09 – 2023.10
遊戲客戶端工程師

手機遊戲客戶端開發,使用 Cocos2d-x / Cocos Creator,語言為 Lua 與 TypeScript。

  • 0 到 1 新專案主要客戶端開發 訓練結束後加入一款類 Monopoly GO 的全新手機遊戲專案,從零開始擔任主要客戶端開發,負責平台模組機制與主遊戲流程的實作。
  • 既有遊戲平台維運 新人訓練期間參與既有遊戲平台維護,處理線上專案的 Crash Report 修復,並於新功能上線時調整相關平台模組,維持服務穩定。

作品

Asset Rebalancer

Live

iOS 投資組合管理 App,支援台股、美股、債券與現金的統一追蹤。整合 TWSE + Yahoo Finance 即時報價與自動匯率換算,搭配可自訂目標比例的智慧再平衡演算法。Firebase 雲端同步,支援 Google/Apple 登入與中英雙語。

SwiftSwiftUIFirebaseGoogle Sign-InApple Sign-In
Asset Rebalancer

發票對對碰 (Invoice Swipe Game)

Live

以台灣統一發票對獎為主題的 iOS 休閒遊戲。三種模式(限時、每日挑戰、無限)各有獨立 Game Center 排行榜;每日挑戰以日期為 RNG 種子,全球玩家面對同一組獎號。音效全程由 AVAudioEngine 程式合成,無任何音訊資源檔。

SwiftSwiftUIGame CenterAVAudioEngine
發票對對碰 (Invoice Swipe Game)

技術棧

Backend
Node.jsExpressMongoDBRedis
Mobile / App
SwiftSwiftUI
Frontend
Vue.js
DevOps / Infra
GitLab CI/CDGitLab RunnerDockerNginxAWSPM2
Observability
GrafanaPrometheusLoki