Ntha52qqphzdhi0efaar

鄭智文

碩士畢業後在研發替代役的工作上接觸到 Golang 後就愛上了這個程式語言。 至今已有 5 年多使用 Golang 的後端開發經驗,負責根據需求做系統分析與設計,領導組員一起實作後端各式各樣不同專案領域的功能。工作態度是需要用到什麼就立刻學什麼,喜歡事多酒多的工作環境 :D


   

架構師、後端工程師
[email protected]

Telegram: @mikunalpha 常在 golangtw 出沒

工作經歷

美商時豪科技股份有限公司 後端工程師,2022 年 7 月 - 至今

  • 努力中

ByBit 資深後端工程師,2022 年 1 月 - 2022 年 6 月

  • 負責面試第一關
  • 虛擬幣資產轉帳流程梳理
  • 開發交易所量化交易功能 - 網格交易機器人 (上線運作中)
    • 研究市面上的套利金融模型
    • 迭代後端 Golang 程式碼架構
    • 開發後端 API 與 Web/APP 整合
    • 加入網格機器人整體流程及系統補償機制設計
    • 入場價、止盈價和止損價監聽設計
    • 與公司內部現貨及資產系統整合 (耗時最長)
    • 排查出原本業務流程中同步及異步流程設計缺失加以改良
  •  幫別的項目組 Debug 後端服務問題

思華科技有限公司 Golang 組長,2020 年 7 月 - 2021 年 12 月

  • 相較於任職 Golang 工程師的工作內容,多了績效考核組員的工作

思華科技有限公司 Golang 工程師,2019 年 4 月 - 2021 年 12 月

  • 先和 PM 確認專案專案需求以及細部業務邏輯流程,實行專案的系統分析與設計
  • 開發給手機和桌機使用的 VPN 服務
    • 購買 VIP 及設備數量的訂單業務流程
    • 根據用戶地點調整全局模式及智能模式實際連線
    • 和 iOS 團隊實作 VPN 連線使用的加密混淆協議
    • 搭配 IT 的專線線路管理開發 VPN 節點的後台
  • 開發金流設備後台專案
    • 樹狀代理積分系統
    • 客服設備管理系統
    • 串接設備自動轉帳及自動查帳流程
    • 根據不同支付方式客製化打收款訂單流程
    • 交易例外事後補單修正流程
    • 產出後台訂單統計數據報表
    • 和其它後端團隊串接 API,管理對方回傳未知的錯誤用以確保金流系統的業務流程正常
    • Websocket 長連線管理用於主動通知客戶端設備
    • Headless 瀏覽器爬蟲查帳
  • 開發虛擬幣交易所專案
    • 領導組員拆分專案各業務領域以利於分工開發
    • 串接乙太鏈 geth 節點
    • 虛擬幣內部、外部地址充值與提現
    • 使用者虛擬幣現貨錢包、OTC錢包
    • 錢包間的劃轉及兌換交易
    • 現貨交易流程
    • 提供即時的掛單簿及交易K線
    • 歸集交易 (回收充值地址的虛擬幣)
    • OTC 交易系統流程
    • 供 OTC 交易使用的簡配聊天系統
    • 使用者認證流程
    • 使用者即時訊息通知
    • 後台交易對幣種管理、交易對上架
    • 後台提現單審查流程
    • 串接別的交易所的交易對成交資料用來和本身交易所的的交易紀錄整合顯示
    • 可水平擴展的 Websocket 長連線管理服務
  • 多角色審計虛擬幣記帳本後台專案
    • 客製化後台不同登入帳號的角色的權限的讀寫權限不同
    • 一筆帳進入系統需要經過不同角色填寫對應資料及審計
    • Headless 瀏覽器爬蟲取得個交易所虛擬幣交易匯率及交易量
  • 開發環境
    • 使用 Docker、K8S 、Helm 架設及佈署服務
    • 使用 Gitlab-CI 佈署自動化
  • 微服務開發經驗
    • 針對客戶端或使用者開發不同的 API Gateway
    • 內部服務根據業務邏輯以高內聚低耦合的方式切分
    • 盡量不要設計出有事務是需要跨服務的方式
    • 內部溝通架構
      • HTTP Callback 模式
      • GRPC 搭配 Kafka 模式
      • NATS Request/Reply 搭配 NATS JetStream 模式

(卓易科技)香港商天奕科技有限公司架構師,2018 年 10 月 - 2019 年 3 月 31 日

  • 教導新人使用 Golang 開發
  • 使用 Golang 為主要開發語言開發後端 API 服務
  • 架設/維運/更新 Kubernetes
  • 維運和除錯前人的微服務架構
  • 設計新的微服務架構
  • 使用 Fluentd 蒐集 K8S 上 container 的 log

鴻璟科技股份有限公司資深工程師,2015 年 10 月 - 2018 年 9 月 30 日

  • 初期使用 PHP 框架 Laravel, Lumen 開發後端 API 服務
  • 使用 Golang 為主要開發語言開發後端 API 服務
  • 協助優化資料庫系統, 如 MySQL 及 MongoDB
  • 串接 Facebook, Google 等第三方 OAuth 服務
  • 串接 Amazon Alexa 語音助理服務
  • 開發使用 ARM7 架構的 Router 上的 Golang 服務
  • 協助引入 Docker 部屬開發環境
  • 協助引入 Git 作為軟體版本控制的工具(原本是使用 SVN)
  • 引入 Swagger 協助前後端開發整合

技能


程式語言

  • Golang
    • github.com/urfave/cli
    • github.com/gin-gonic/gin
    • github.com/labstack/echo
    • github.com/pkg/errors
    • github.com/rs/zerolog
    • github.com/shopspring/decimal
    • github.com/99designs/gqlgen
    • github.com/chromedp/chromedp
    • gorm.io/gorm
  • Javascript
    • jQuery
    • VueJS

資料庫系統

  • Postgres
  • MySQL
  • MariaDB
  • CockroachDB
  • MongoDB

消息系統

  • NATS Messaging
  • NATS JetStream
  • Kafka

版本控制

  • Git
  • GitLab
  • GitHub

其它

  • Ubuntu/ZorinOS
  • Nginx/Caddy/Traefik
  • Fluentd/Fluent-bit
  • Docker/K8S/Helm
  • HTML/CSS/SASS
  • GRPC
  • GraphQL
  • Websocket

學歷

國立交通大學生物資訊及系統生物研究所

2013 年 9 月 - 2015 年 6 月

私立逢甲大學資訊工程學系

2009 年 9 月 - 2013 年 5 月