01李威德 · TAIWAN

Wade Lee

Backend Engineer

李威德個人照片
PORTRAITWADE LEE

PROFILE / ENGINEERING

具 4 年以上後端實務經驗,主要使用 TypeScript/Node.js 與 PHP/Laravel,具備從 0→1 產品交付與大型既有平台維護經驗。

0→1 Product Delivery

B2C 電商平台 · 英語影音學習平台 · 第三方支付與商戶資金管理平台

Large-scale Platform Maintenance

曾維護以 Kubernetes 部署的正式營運分散式平台,核心使用者資料表累積超過 5,000 萬筆紀錄。

02CORE CAPABILITIES

Expertise

01

Backend Systems & API Design

使用 Node.js/Laravel 建構 API、domain services、background jobs、權限邊界與第三方服務整合。

Node.js · Laravel · Express · Nuxt/Nitro
02

Data Consistency & Concurrency

使用 transaction、row lock、advisory lock、unique constraint 與 atomic update,維持高併發下的資料正確性。

PostgreSQL · MySQL · Transaction · Locking · Idempotency
03

Integration & Production Reliability

處理 Webhook 重送、支付對帳、Queue retry 與外部服務失敗,並透過 Docker、CI/CD 和雲端部署完成可靠交付。

Webhook · ECPay · Queue · Docker · CI/CD · AWS · GCP

03WORK HISTORY

Experience

01

2025.03 — PRESENT

智神科技有限公司

軟體工程師

負責 B2C 電商與英語影音平台,從 API、管理後台、第三方服務整合到正式環境部署與維護。

查看經歷重點 +

角色與範圍

擔任主要後端工程師,並負責管理後台與商戶後台的前端實作。

負責專案

B2C 電商平台、英語影音學習平台、第三方支付與商戶資金管理平台、NDA/EMG 訊號 AI 分類模型。

交付與改善

  • 完成 B2C 電商與英語影音平台從開發、測試到正式環境部署,並參與第三方支付平台核心功能交付。
  • 使用 Docker、GitHub Actions 與 Laravel Forge,將服務部署至 AWS/GCP 並改善版本交付流程。
  • 修復 RCE、XSS 風險,導入 CSP 與 SSH key 管理,改善應用程式與部署環境安全。
  • 建立 Git Flow 與 Linter 規範,統一分支管理、程式碼檢查、Review 與版本發布流程。
02

2024.10 — 2025.03

璟越科技有限公司

軟體工程師

維護正式營運中的既有產品,負責需求拆解、異常定位、缺陷修復、回歸驗證與維護版本發布。

查看經歷重點 +

角色與範圍

負責正式營運系統的後端維護與功能調整,並與 PM、DBA、前端及 QA 協作完成變更交付。

負責專案

核心使用者資料表累積超過 5,000 萬筆紀錄、部署於 Kubernetes 的大型既有平台;負責既有功能調整、缺陷修復、回歸驗證與維護版本發布。

交付與改善

  • 將業主需求拆解為可實作範圍,完成程式修改、缺陷修復與後續驗證。
  • 透過 Elasticsearch/Kibana 追蹤 Log 與 request path,縮小異常範圍並協助釐清根因。
  • 維護單元測試與整合測試,配合 QA 執行自動化驗證及回歸測試。
  • 在 Docker、Kubernetes 與 Jenkins Pipeline 的既有環境中完成建置、測試與發布。
03

2022.08 — 2024.10

九七科技股份有限公司

後端工程師

負責既有產品的後端功能迭代、資料庫查詢改善、系統異常排查,以及跨團隊測試與交付。

查看經歷重點 +

角色與範圍

擔任後端工程師與技術對接窗口,與 PM、DBA、前端及 QA 協作完成需求、測試與交付。

負責專案

核心使用者資料表累積超過 5,000 萬筆紀錄、部署於 Kubernetes 的大型既有平台。

交付與改善

  • 依業務需求完成後端功能迭代,並改善 database query 與產品效能。
  • 使用 Elasticsearch/Kibana 監控 Log、定位系統異常並提出修正方式。
  • 撰寫單元測試與整合測試,與 QA 協作執行自動化回歸驗證。
  • 使用 Docker、Kubernetes 與 Jenkins Pipeline 完成功能建置與版本交付。
04

2022.02 — 2022.08

好想工作室

後端學員

以實作專案建立 PHP、Laravel、MySQL 與 RESTful API 基礎,並將服務部署至 GCP VM。

查看經歷重點 +

角色與範圍

後端學員,透過實作專案建立 PHP、Laravel、MySQL 與 RESTful API 基礎。

負責專案

Laravel RESTful API 練習專案與 GCP VM 部署。

交付與改善

  • 完成 Laravel MVC、Eloquent ORM、Middleware、Migration 與 Seeder 的後端實作。
  • 完成 MySQL CRUD、JOIN、Index 與 Transaction 練習。
  • 將 Laravel 服務部署至 GCP Compute Engine,設定 firewall、SSH、Nginx 與 HTTPS。

04SELECTED SYSTEMS

Projects

UARK STOREFRONT

企業電商平台

Reliable commerce across payment, logistics, invoicing, and inventory.

PAYMENTWEBHOOKCONCURRENCYPOSTGRESQLDEVOPS

整合商品、購物車、促銷、會員、ECPay 付款/物流/電子發票、退款、逆物流與營運後台。

服務企業
諾亞克科技股份有限公司
角色
主導後端開發/負責消費者端 API 與管理後台全端實作
系統焦點
第三方 callback 可能重送、同時到達、亂序,或在本地處理到一半時中斷;促銷配額與庫存也可能在競爭下超賣。
UARK 電商平台首頁
B2C COMMERCE
查看工程細節 ↘

CHALLENGE

第三方 callback 可能重送、同時到達、亂序,或在本地處理到一半時中斷;促銷配額與庫存也可能在競爭下超賣。

WHAT I BUILT

  • PostgreSQL advisory locks+unique constraint+INSERT ON CONFLICT,避免 callback 重送或併發造成重複建單
  • Callback 即時查帳,核對付款狀態、金額與 TradeNo,確保資料一致後才建立訂單
  • Inbox-like durable callback log+reconciliation jobs,支援限次 retry、orphan takeover 與下游補送,避免建單或開票永久卡住
  • Temporary payment snapshot+frozen cart,避免付款期間購物車變更造成訂單不一致
  • Conditional atomic SQL update+compensation,避免 Bundle 庫存與 Flash Sale 配額在並行結帳下超賣
  • Production container 採最小權限執行,降低資安風險
  • Migration fingerprint+deployment health gate,阻擋不健康 release 與 schema-incompatible rollback
  • 每日與部署前的 PostgreSQL 加密備份上傳至 GCS,保留資料恢復能力
  • 透過 GIN index 避免商品搜尋隨資料量增加退化成全表掃描

TRADE-OFF

Raw SQL、PostgreSQL locks 與 GIN index 提高了資料庫綁定及索引維護成本,換取並行正確性、可修復性與部署安全。

SOMA PAY

Soma Pay

Convenience-store callback correctness and operational exports.

LARAVELECPAYWEBHOOKREPORTINGTESTING

第三方支付平台,提供商戶入金、出金、餘額、交易查詢與多家超商支付整合。

角色
團隊開發/特定金流功能
系統焦點
多個金流上游的驗簽、Callback、費用與付款期限規格不同,還需處理併發入帳、T+N 結算、商戶通知及大量訂單匯出,避免重複扣款、帳務不一致與記憶體溢位。
Soma Pay 品牌標誌
PAYMENT ORCHESTRATION
查看工程細節 ↘

CHALLENGE

多個金流上游的驗簽、Callback、費用與付款期限規格不同,還需處理併發入帳、T+N 結算、商戶通知及大量訂單匯出,避免重複扣款、帳務不一致與記憶體溢位。

WHAT I BUILT

  • API 簽名與 Callback 多層驗證,阻擋偽造或資料不一致的交易入帳
  • Transaction 與悲觀鎖控管帳務,避免併發造成重複入帳、重複扣款或餘額超扣
  • T+N 延遲結算搭配假日與冪等控制,確保款項依約撥付且不重複結算
  • Commit 後才通知商戶,搭配簽名、紀錄與人工補發,確保交易狀態可追蹤
  • Raw SQL 分批匯出取代 Eloquent 物件載入,降低大量訂單造成的記憶體與 OOM 風險

TRADE-OFF

採用同步分批匯出,在維持實作單純的同時控制記憶體用量,但匯出期間仍會占用 Web Request,適合目前的資料規模。

LEARNING PLATFORM

English Learning Platform

Subscriptions, concurrency-safe booking, and protected video delivery for a multi-role platform.

LARAVELPAYMENTBOOKINGQUEUEVIDEO

涵蓋課程、訂閱、教師預約、作業/回饋、直播、短影音、綁卡續約與電子發票。

角色
負責使用者前台後端/管理後台全端/商戶後台全端實作
系統焦點
熱門教師時段可能被多人同時預約;付款與自動續訂 callback 可能重複送達;大型影片需要可靠上傳、受控存取與可拖曳播放。
英文學習平台首頁
B2B2C LEARNING
查看工程細節 ↘

CHALLENGE

熱門教師時段可能被多人同時預約;付款與自動續訂 callback 可能重複送達;大型影片需要可靠上傳、受控存取與可拖曳播放。

WHAT I BUILT

  • 針對付款與自動續訂 callback,在 database transaction 中完成簽章驗證、金額核對、付款紀錄鎖定與狀態檢查,確保重送只會生效一次,避免重複建立或延長訂閱
  • 預約時鎖定教師的可預約時段並重新檢查衝突,再由資料庫層阻止同一教師時段被重複建立
  • 實作大型影片分片上傳,並透過短效簽名 URL 提供受保護的 MP4 播放;瀏覽器使用 byte-range requests 按需載入影片內容
  • 使用 Spatie Permission 建立 RBAC,搭配 Laravel Policy、Gate、資源所有權與訂閱狀態檢查,控制不同角色對課程、作業、附件及影片的存取
  • 串接信用卡綁定與自動續訂,加密保存金流服務提供的綁卡識別資料,並處理續訂成功、扣款失敗、重試及寬限期

TRADE-OFF

Laravel monolith 與 database queue 降低部署及維運複雜度,加快產品交付,也保留未來將高負載非同步工作水平擴展至獨立 workers 的空間。

HOTEL INDIGO ALISHAN

飯店網站

Scheduled publishing and a recoverable S3 media lifecycle.

EXPRESSPOSTGRESQLS3SECURITYDOCKER

供飯店營運人員管理房型、優惠、活動、首頁版位與媒體資產,並向官網提供公開 API。

服務企業
高雄洲際酒店|InterContinental Kaohsiung
角色
負責前台後端/管理後台後端實作
系統焦點
內容需要發佈窗口、soft delete 與穩定 slug;S3 和 PostgreSQL 又無法共享 transaction。
Hotel Indigo Alishan 官網首頁
CONTENT PLATFORM
查看工程細節 ↘

CHALLENGE

內容需要發佈窗口、soft delete 與穩定 slug;S3 和 PostgreSQL 又無法共享 transaction。

WHAT I BUILT

  • 建立發佈窗口、partial unique slug 與 slug alias/history
  • 用 PENDING、ATTACHED、ORPHANED 狀態與 reference table 管理媒體生命週期
  • 建立可重跑 cleanup,在 lock 下重查引用後才清除孤兒檔案
  • 實作 CSRF/origin gate、帳號凍結、session revocation 與 HIBP password check

TRADE-OFF

PostgreSQL session 與 systemd timer 降低基礎設施成本;流量增加時,session 與 background work 可再拆出。

PINGTING OPERATIONS

Pingting MBMS

Auditable settlement workflows and lot-based inventory.

NUXTCONCURRENCYINVENTORYAUDITSECURITY

整合醫院、客戶、藥品進度、拜訪、報表、費用、贈品批號、倉庫、調撥與稽核。

服務企業
平廷實業有限公司 PingTin Enterprise Co., LTD.
角色
主要商業功能獨立開發
系統焦點
scheduler 可能重複結算;贈品在領用、調撥與日報同步時可能出現負庫存或失去稽核軌跡。
Pingting MBMS 登入介面
MEDICAL CRM / SFA
查看工程細節 ↘

CHALLENGE

scheduler 可能重複結算;贈品在領用、調撥與日報同步時可能出現負庫存或失去稽核軌跡。

WHAT I BUILT

  • 使用 transaction-level PostgreSQL advisory lock 依週/日期互斥結算
  • 保存 batch running/completed/failed,並以 dedup key 防止重複通知
  • 建立 gift lot、warehouse balance、transfer 與 movement ledger
  • mutation 鎖定 rows,搭配 nonnegative constraints、audit logs 與 owner-based access

TRADE-OFF

使用 PostgreSQL lock 省去 Redis distributed lock;domain 擴張後,handler 邏輯應逐步抽成 application services。

NDA · EMG SIGNAL AI

EMG 訊號 AI 分類模型(NDA)

Signal cleaning, feature engineering, and binary classification for valid EMG versus noise.

EMGSIGNAL PROCESSINGFEATURE ENGINEERINGMLPVALIDATION

建立 EMG 訊號清洗、特徵提取與二元分類流程,自動辨識有效肌電與非肌電/雜訊區段。

角色
專案負責工程師/資料清洗、訊號標記、特徵工程、模型訓練與驗證
系統焦點
短暫干擾容易造成訊號品質標記波動;原始 EMG 也需要轉換成穩定、可供模型學習的時域與頻域特徵。
NDA 專案封面,白底中央顯示 NDA 大字
BIOSIGNAL CLASSIFICATION
查看工程細節 ↘

CHALLENGE

短暫干擾容易造成訊號品質標記波動;原始 EMG 也需要轉換成穩定、可供模型學習的時域與頻域特徵。

WHAT I BUILT

  • 使用 RMS、MAV 與平滑處理判定訊號品質並建立標記流程,降低短暫干擾造成的標記波動
  • 萃取 MAV、RMS、變異數、平均頻率、中值頻率及頻帶功率比例等時域與頻域特徵
  • 建立三層 MLP,完成 EMG/非 EMG 二元分類的訓練與驗證流程
  • 訓練與驗證準確率約 88%–90%,損失值由約 0.5 降至 0.25–0.3;624 筆驗證樣本中正確分類 565 筆,整體準確率約 90.5%

TRADE-OFF

第一階段聚焦可重複的 EMG 前處理、特徵化與二元分類;EMG+IMU 多模態分析及 AI Coach 保留為後續規劃,不列入本階段成果。

SPORTS FORECASTING

賽事機率預測系統Sports Probabilistic Forecasting System

Match predictions, model evaluation, and saved results.

PYTHONMACHINE LEARNINGPOISSONLOG LOSS

以歷史足球賽事資料估計主勝/和局/客勝機率,並提供賽事查詢、預測結果保存及 CSV 匯出。

期間
2025.05 — 2025.08
角色
需求拆解、資料處理、模型訓練與改善、查詢及結果保存功能實作
系統焦點
以 Log loss < 0.7 為目標,初版 Poisson 模型的 0.7238 未達標;第二輪改採先預測比賽統計、再估計賽果機率的兩階段方法,降至 0.6932。
NDA 專案封面,代表不公開客戶資料及內部介面
PROBABILISTIC FORECASTING
查看工程細節 ↘

CHALLENGE

以 Log loss < 0.7 為目標,初版 Poisson 模型的 0.7238 未達標;第二輪改採先預測比賽統計、再估計賽果機率的兩階段方法,降至 0.6932。

WHAT I BUILT

  • 將需求拆解為資料整理、模型訓練、測試驗收 3 個階段,完成業主企劃與技術設計
  • 以 Python 整理歷史賽事資料,檢查缺漏、重複與格式異常,完成資料清理與模型輸入準備
  • 完成初版 Poisson 勝負機率模型的訓練與驗證,依評估結果進行第二輪改善
  • 依 Wheatcroft(2021)的兩階段方法,利用歷史資料預測進球、射正、射偏與角球,再以有序邏輯斯迴歸估計主勝/和局/客勝機率
  • 第二輪實測 Log loss 由 0.7238 降至 0.6932,下降 0.0306,達成 < 0.7 目標
  • 完成賽事查詢、賽前預測與賽後結果保存及 CSV 匯出,記錄資料截止時間與資料/模型版本,供成效分析與後續改善

TRADE-OFF

推論分為兩個步驟:先根據歷史資料預測兩隊的進球、射門與角球表現,再估計勝負機率。這樣可以分別檢查「比賽統計預測」與「勝負機率估計」的表現;代價是需要維護兩個步驟,而且前一步的預測誤差可能影響最終結果。

05HUMAN-GATED DELIVERY

Agentic Engineering

AI 執行探索、實作與驗證;工程師確認需求、測試邊界、高風險證據與交付決策。

AI 執行與驗證;工程師掌握需求、風險與決策。

CONTEXT → SPEC → CHANGE → VERIFY → REVIEW → LEARN
  1. 01

    Context & Guardrails

    工程師說明需求與功能、安全、效能邊界;AI 讀取 instructions、schema、tests 與相關 code path。

  2. 02

    Spec & Decomposition

    透過 AI interview 釐清規格與 failure cases,將情境分配到 unit、integration、concurrency 與 manual tests;工程師確認重要取捨。

  3. 03

    Bounded Implementation

    AI 依確認的 spec 與既有 pattern,建立小而可驗證的變更;工程師確認實作沒有超出範圍。

  4. 04

    Ground-truth Verification

    AI/Harness 執行 unit、integration、concurrency、第三方介面檢查與 build,再對照 spec 提出真實證據。

  5. 05

    Review & Security

    AI 獨立 review,工程師完成 UI/第三方驗收;確認可交付後,AI 依最小功能整理 commits、messages 與 PR 說明,工程師確認後 push/建立 PR。

  6. 06

    Knowledge Loop

    把重要決策、failure modes、regression tests、runbook、instructions 與 hooks 寫回專案。

GROUND TRUTHTests pass · Build succeeds · Failure paths checked · Evidence recorded

06TECH STACK

Technical Skills

CORE

TypeScript · Node.js · PHP · Laravel · PostgreSQL · MySQL

BACKEND

Express · Laravel 12 · Nitro API · REST API

DATA & RELIABILITY

Drizzle · Eloquent · Redis · Transaction · Locking · Queue

PAYMENT & INTEGRATION

ECPay · Webhook · OAuth · LINE · SMS · Twilio

CLOUD & DELIVERY

Docker · Kubernetes · GitHub Actions · Jenkins · Nginx · AWS · GCP

SECURITY & QUALITY

CSRF · CSP · PHPUnit · Jest · Integration Testing

SIGNAL PROCESSING & ML

EMG · RMS · MAV · Time/Frequency Features · MLP · Binary Classification

07EDUCATION

2015.07 — 2017.08

國立成功大學

生物化學暨分子生物學研究所|碩士

研究訓練建立了假設、驗證與拆解複雜問題的習慣,並延續到工程上的問題定位、系統設計與測試。

2011.09 — 2015.07

國立嘉義大學

水生生物科學系|學士