後端工程師 Backend Engineer
Description
【職位概述】
我們正在尋找一位具備系統設計能力與實戰經驗的高級 Go 後端工程師,負責帳戶、資金、權限、訂單及任務系統等核心後端服務。
你不只是完成需求開發,也將參與技術方案設計、系統架構規劃、模組拆分與服務治理,持續改善系統的穩定性、效能、可擴展性及可維護性。
此職位適合熟悉 Go 高併發開發、Linux 生產環境、Kubernetes、Kafka、MySQL、Redis及微服務架構,並希望深度參與核心系統演進的工程師。
【核心職責】
一、核心後端系統設計與開發
1. 負責核心後端系統的設計、開發、測試、部署及持續優化。
2. 承擔帳戶、資金、權限、訂單、任務系統等關鍵業務模組的技術方案設計。
3. 根據業務需求進行資料模型、API、服務邊界及模組依賴設計。
4. 確保核心功能的正確性、安全性、穩定性及可維護性。
5. 針對高併發及關鍵交易情境,處理資料一致性、重複請求、異常補償與系統容錯問題。
二、系統架構與模組拆分
1. 參與系統架構設計、技術選型及核心模組拆分。
2. 根據業務成長及系統複雜度,規劃單體架構拆分或微服務化方案。
3. 清楚定義服務職責、資料邊界、呼叫關係及依賴方向。
4. 改善系統耦合、效能瓶頸及歷史技術債務。
5. 確保系統具備良好的穩定性、效能、可擴展性及故障隔離能力。
三、技術架構演進
1. 推動後端技術棧及工程架構持續演進。
2. 參與 gRPC、訊息佇列、快取體系及分散式交易等技術方案設計。
3. 根據不同業務情境選擇同步或非同步通訊方式。
4. 設計可靠的服務間呼叫、事件傳遞、資料同步及異常補償機制。
5. 評估新技術導入的實際效益、風險及維護成本,避免不必要的架構複雜度。
四、服務治理與穩定性建設
1. 制定並落實服務治理方案,包括限流、熔斷、降級及重試機制。
2. 建立超時控制、錯誤處理、冪等設計與故障隔離策略。
3. 協助建立服務監控、日誌追蹤、告警及問題定位機制。
4. 參與生產環境事故排查、原因分析及後續改善。
5. 針對高風險及關鍵服務建立穩定性保障與應變方案。
五、工程規範與團隊協作
1. 推動程式碼規範、API規範、Git流程、Code Review及版本發布規範落地。
2. 撰寫必要的技術方案、系統設計及維運文件。
3. 與產品、前端、測試及維運團隊合作,將業務需求轉化為可執行的技術方案。
4. 參與技術評審與程式碼審查,提升系統品質及團隊開發效率。
5. 主動識別技術風險、效能問題及潛在故障點,提出具體改善方案。
【必要條件】
一、Go 開發能力
1. 精通 Go,具備良好的程式設計、抽象及模組化能力。
2. 熟悉 Goroutine、Channel、Context、鎖機制及 Go 併發模型。
3. 理解 Go 的記憶體管理、Garbage Collection及常見效能問題。
4. 能使用 Profiling或相關工具分析 CPU、記憶體、Goroutine及效能瓶頸。
5. 具備高併發、高效能後端系統的設計或優化經驗。
二、Linux 生產環境
1. 熟悉 Linux 生產環境及基本系統運作原理。
2. 能獨立排查 CPU、記憶體、磁碟及網路問題。
3. 熟悉常用 Linux 指令、日誌查閱及程序管理。
4. 具備基礎 Shell Script撰寫能力,可協助自動化部署、檢查或維運工作。
5. 能根據監控、日誌及系統指標快速定位問題。
三、Kubernetes與容器化
1. 熟悉 Docker及Kubernetes基本架構與使用方式。
2. 能完成服務容器化、部署、滾動更新及版本回滾。
3. 熟悉服務擴縮容、資源限制、健康檢查及設定管理。
4. 理解 Pod、Deployment、Service、Ingress、ConfigMap及Secret等常用資源。
5. 能處理常見的容器或Kubernetes部署問題。
四、Kafka與訊息系統
1. 熟悉 Kafka的基本架構、Topic、Partition、Consumer Group及Offset機制。
2. 能根據業務需求設計高併發訊息模型。
3. 理解並能處理訊息順序性、重複消費、訊息堆積及消費延遲問題。
4. 具備訊息冪等、失敗重試、補償及消費穩定性設計能力。
5. 能針對高流量或關鍵業務設計可靠的非同步處理流程。
五、微服務與分散式系統
1. 掌握微服務架構及服務拆分原則。
2. 理解服務註冊、服務發現、負載平衡及服務間通訊。
3. 熟悉限流、熔斷、降級、重試及超時控制等服務治理機制。
4. 理解分散式交易、資料一致性、冪等性及補償機制。
5. 能評估微服務架構的效益與成本,並根據實際情境選擇合適方案。
六、資料庫與快取
1. 熟悉 MySQL及Redis。
2. 具備資料庫Schema、索引及SQL效能優化能力。
3. 理解資料庫交易、鎖、隔離級別及主從架構。
4. 具備資料庫高可用、高效能及擴展性設計經驗。
5. 熟悉Redis常用資料結構、快取策略、過期機制及分散式鎖。
6. 能處理快取穿透、快取擊穿、快取雪崩及資料一致性等問題。
【加分條件】
1. 具備帳戶、資金、支付、權限、訂單或任務系統開發經驗。
2. 曾參與高併發、高可用或大規模分散式系統建設。
3. 具備核心系統架構重構、單體拆分或微服務遷移經驗。
4. 熟悉Prometheus、Grafana、ELK、OpenTelemetry或其他可觀測性工具。
5. 具備完整的生產環境事故排查及復盤改善經驗。
6. 熟悉CI/CD、自動化測試及自動化部署流程。
7. 對系統安全、資料一致性、資金安全或風險控制有實務經驗。
8. 曾主導技術方案評審、工程規範或跨團隊技術專案。
【我們期待的特質】
1. 具備良好的系統思維,能從整體架構而非單一功能思考問題。
2. 對程式碼品質、系統穩定性及生產環境風險具有高度責任感。
3. 能獨立分析問題,並將複雜問題拆解為可執行的解決方案。
4. 願意主動溝通,能清楚說明技術方案、風險及取捨。
5. 重視實際成果,能在系統品質、開發效率及交付時間之間做出合理判斷。
6. 對後端架構、效能優化及分散式系統保持持續學習與研究熱情。
【你將獲得的發展機會】
1. 深度參與帳戶、資金、權限、訂單及任務系統等核心業務。
2. 實際參與系統架構設計、模組拆分及技術棧演進。
3. 處理高併發、資料一致性、服務治理及分散式交易等技術挑戰。
4. 對工程規範、技術選型與系統發展方向產生實際影響。
5. 與團隊共同建立穩定、可靠、可擴展且易於維護的後端平台。
