嗨, 我是 Ray

  • 我是個守備範圍極廣的後端工程師, 不管把我放在哪個位置, 我都能有即戰力 - 從機器建置, 環境部署, 開發, 資料庫架設, CI/CD 管道建立, 資料庫維護, 雲端服務, 我都有豐富實戰經驗
  • 我有分散式服務開發經驗 - 有 QPS 5000 左右的服務開發經驗, 架構規劃實踐
  • 拒絕造成效能瓶頸的程式碼 - 我對演算法有涉獵, 會評估產出程式碼的時間複雜度
  • 拒絕可讀性極差的程式碼 - 我極為重視命名, 程式碼函式化, convention, 務求產出可讀性佳的程式碼
  • 我英文聽說讀寫精通 - 可與跨國團隊無礙溝通, 讓專案採用第一手技術
  • 我喜歡學習, 也喜歡分享 - 分享除了回饋社會, 也讓習得的知識更加扎實。 我經營自己的 Blog https://raycodingjourney.medium.com/


Backend Developer
國家,TW
[email protected]

技術

Laravel: 
學習框架的最終目標是懂得如何建立一個框架, 但前提是要先知道如何使用這個框架。
- 熟練使用 Laravel 中的各種資料結構來處理並取得資料, 例如 Collection, Model, Query Builder, 等等...
- 懂得避免 N+1 issue
Restful API: 
熟悉 Restful API, 範例如下:
MySQL: 
了解 MySQL 各種索引以及其原理, 例如: 
- 評估業務需求後, 使用複合索引來替代多個索引 
- 理解 binlog, redo log, undo log, MVCC, 以及不同的 Isolation Level 的利與弊
GCP: 
有多項 GCP 服務使用經驗, 如 Compute Engine, Load Balancer, Cloud DNS ... 等等
並在 QwikLab 有多項相關證照, 詳見證照區塊
有管理多台 GCP server 經驗, 以及架設 Load Balancer
AWS: 
有多項 AWS 服務使用經驗, 如 EC2, SES, SQS, RDS, Route 53, ElastiCache, CodeDeploy, CloudWatch
CI/CD: 
使用 GitLab Runner 建置 CI/CD 自動部署多個專案, 以及搭配 Envoyer 部署 Laravel 專案經驗 
LNMP: 
在 Linux + Nginx + MySQL + PHP 環境建置有相當經驗, 知道如何讓機器更安全, 例如: 針對專案配置專門權限的 Group, 唯有與該專案相關的服務 (如 Nginx, PHP-FPM) 有權對該專案進行操作
Docker: 
有容器使用經驗, 寫過 Docker Image, 對容器與容器之間, 以及與 host 機器之間的溝通有相當程度的瞭解
有使用 Laradock 部署專案經驗
有使用 Kubernetes 經驗
第三方支付: 
在 side project 中, 有串接 歐付寶 以及 Paypal 金流服務的經驗
第三方登入: 
Facebook, Google, Apple 登入經驗
語言能力: 
母語中文, 英文聽說讀寫精通


工作經歷

 

Good Idea Studio, Senior Backend Developer, Nov 2021 ~ Now

  • 開發五千人同時在線, 尾牙活動抽獎互動應用
    • 串接並整合多個第三方登入
      • Apple
      • Facebook
      • Google
    • 綠界金流串接, 實作訂單付款功能
    • 異步處理批量照片匯入功能
    • 優化 sql query, 避免高併發時產生的 race condition
    • 設計可負載大流量的架構:
      • 使用 LB, 將流量導向多台機器
      • 使用 Auto Scaling Policy, 一鍵擴縮上百台機器
      • 將多台機器的 Log 集中管理
      • 實作同時部署到上百台機器的 CI/CD 管道

 

造物者科技, Senior Backend Developer, Mar 2021 ~ Nov 2021

  • 獨自開發座標相關應用後端
    • 使用 raw query 來取代 ST_DISTANCE 函數, 速度提升從原先將近 1s 降至 30~50 ms
    • 評估需求, 使用合適的 lock 來避免 race condition
    • TDD 開發
  • 協作開發電商應用
    • 使用 Queue 來處理比較耗時的動作, 像是 email 發送。
    • 手動修改 Laradock php-worker image, 使其支援 MSSQL
    • 將較為敏感的圖片, 存在 private store, 並只允許有 token 管控的 API 做 server side render
    • 於部署層面優化, 將 CPU 100% usage 降到 40% usage
    • 針對 response time 超過 2 秒的 query 做優化, 降為 300ms

 

精兵資訊, Technical consultant, Nov 2020 ~ Now

  • 從無到有建立產品開發流程, 機器租用, 環境建立, 專案部署, 資料庫使用, CI/CD 建置, 機器管理, 資料庫優化
  • 提供可供客戶端一次性大量匯入資料的 API (支援重複更新)
  • 提供將資料庫大量資料異步匯出成 CSV 功能, 不會因為資料量大而產生 OOM
  • 使用 Envoyer 達成 zero downtime 部署, 以及緊急回朔功能
  • 離開這家公司後, 技術深得公司信賴, 繼續以顧問身份合作

 

Good Ideas Studio (好想工作室), Backend Developer as a Freelancer, Jul 2018 ~ 2020 Nov

  • 好想工作室是台灣南部最大的資訊人才聚集地, 同時也是一個 co-working space, 這裡有各類型的遠端開發者, 前端, 後端, iOS, Android, 甚至是 PM, 設計師, 以及不同國家的遠端工作者。
  • 曾在 2018 年在好想工作室擔任 Git 講師, 並有一系列分享連結如下:
         https://hackmd.io/ZVbydAbHR8mRJvQLO8lcbQ?view
  • 曾在 2019 年在好想工作室, 擔任工作室與 Google 合作舉辦的 GCP 推廣活動推廣講者, 並有一系列自行翻譯 Qwiklab 課程如下:

QINFRA, Backend Developer, Apr 2019 ~ Nov 2019

  • 優化程式碼後, 費用降低 70%, response time 由 30 分鐘降至 10 秒。
  • 針對機器上的 log 建立管理機制, 週期性壓縮, 週期性移除
  • 建立機器 health check 機制, 並透過 Slack, email 回報
  • 導入 Load Balancer 架構以提高服務可用性
  • 因應公司需求自架各種不同的 server, 例如 SFTP Server, FTP Server, WebDAV Server, NFS Server。
  • 使用 GitLab runner 搭配 pm2 建立現有專案 CI/CD 管道 


    作品集


    Echoss VIP 專案


    整合 Line Bot 應用的服務。

    架構上有三種身份, 分別是管理者, 品牌, 以及一般使用者。

    管理者主要管理各大品牌, 品牌管理品牌資訊以及該品牌以下的一般使用者, 一般使用者則可以使用該品牌提供的功能



    Facebook 直播拍賣系統


    跟各端朋友一起做的一個 Side Project, 可將當前 Facebook 直播拍賣中的 +1+1 行為變更為一張張的訂單, 並且使用第三方支付付款 (國內: 歐付寶, 國外: PayPal)

    連結如下:

    https://github.com/tn710617/FacebookOptimizedLiveStreamSellingSystem/blob/master/README.zh-TW.md


    台灣主婦聯盟



    連結如下:

    https://www.hucc-coop.tw/


    資料夾清理者


    一時心血來潮, 利用 Shell Script 寫的一個小工具, 可以依照使用者輸入的資訊決定要使用模糊刪除, 副檔名刪除, 或是全部刪除。

    連結如下:

    https://github.com/tn710617/cleanDirectory/blob/master/README.zh-TW.md


    證照


    GCP


    自我進修 GCP QwikLab 證照


    連結如下:

    https://www.qwiklabs.com/public_profiles/a893e7b8-df83-4b26-a657-74b523688b82


    Git


    通過 LinkedIn 的 Git 測驗


    連結如下:

    https://www.linkedin.com/in/ray-lee-99315315a/


    MySQL


    通過 LinkedIn 的 MySQL 測驗


    連結如下:

    https://www.linkedin.com/in/ray-lee-99315315a/

    社群活動


    GDG 台中


    2019 年台中 GDG, 在兩天內使用 GCP 的服務發想並完成一個應用


    IT 邦幫忙鐵人賽


    2019 年鐵人賽, 當時寫了 30 天的 Git 文章


    好想工作室 - 挑戰賽


    2018 年好想工作室舉辦的挑戰賽, 需在三天內完成指定需求的應用

    Powered By CakeResume