李禹叡 | Ryan Lee

Software Engineer

三年 Web 開發經驗,擅長 MVC 與前後端分離的開發模式,熟悉 Angular, NET Core 與 Relational Database 等技術,對於程式碼品質有高度的自我要求,遵循 OOP, SOLID 等原則,也會搭配使用 Sonarlint, Sonarqube,開發遵循 Agile 精神,熟悉 Scrum,並且有單元測試與 Jenkins CI/CD 相關經驗。

目前任職於叡揚資訊,除了開發以外,與 PM, SA, User 有豐富的合作經驗,動手寫程式前,確實做到需求釐清跳脫 Code Level 思維。另外也擔任實習生與新進同仁的 Mentor,負責教育訓練與 Code Review,從中體會到教學相長的重要性、以及一個人成長,不如整個團隊一起成長。

當個主動負責的人,把事情做完,更要把事情做好。

  [email protected]      

Skills


  • 3+ years of experience on both Frontend & Backend
  • C#, ASP.NET Core MVC and Web API
  • ORM, like Dapper, EF and EF Core
  • MSSQL, T-SQL, Stored Procedure
  • Angular, Kendo, jQuery, JavaScript
  • Git and GitFlow
  • Unit testing and Integration testing experience
  • Familiar with Scrum, CI/CD, and information security knowledge

Work Experince

叡揚資訊股份有限公司

Program Analyst  •  2020 年 8 月 - Current

  • 與 PM、SA、外部團隊有密切的合作經驗,熟悉需求訪談規格撰寫、專案時程管理
    • 透過 User story 與使用者訪談,建構出真正符合他們需求的軟體。
    • Scrum 開發,除了 Daily Meeting,每個 Sprint 結束也會進行 Sprint Review & Retrospective。
    • 使用 Jira 進行任務追蹤與管理。
    • 跨團隊合作經驗,與雲端部門的 SA 和工程師合作,進行系統開發。
  • 專案經歷:Vital AP/AR 財務系統
    • 開發新功能,以符合公司收付款、沖帳、過帳、憑證管理...等等客製化需求。
    • 上線取代 10 年舊系統,以及廠商 EOS 系統。
    • 使用 .NET Core + EF Core + Kendo MVVM 開發。
    • 使用 DTO 解耦 Model 與 UI 層,並透過 AutoMapper 轉換
    • 落實 IOC / DI,元件解耦後也方便單元測試。
    • 串接 OAuth 實現 SSO。
  • 負責規劃新版財務系統的架構,讓團隊成員在良好的開發規範下撰寫程式
    • 整合新、舊系統的評估與實作。
    • 評估使用的技術,例如:EF Core Code First 與 Model First 的使用抉擇。
    • .NET Core 兼容 .NET Fx 多國語言 i18n 結構的評估與實作
    • .NET Core 多站台共用 Authentication Cookie,研究 Data Protection 機制,實現不停機過版。
    • 開發 API 時,抽出通用功能,墊一個底層 Controller,方便團隊成員繼承它來開發。
  • 負責實習生教育訓練與 Code Review,同時也擔任新進同仁 Mentor
    • 輔導新人學習 SQL、Frontend(Kendo, jQuery, Async)、Backend(MVC, Unit Testing)、Git。
    • 透過 Code Review 檢視 Workshop 是否符合需求與開發規範。
  • 追求工作效率最佳化,並回饋到團隊
    • CI/CD 結合 Unit Testing,建置時自動測試、品質監控、涵蓋率報表、測試失敗自動寄信通知。
    • 善用 Visual Studio 與 Rider 重構功能、快捷鍵,提升開發速度。
  • 在授權的情況下,針對公司系統進行安全性測試,並回報數個資安漏洞
    • 主管授權與相關人員知情下,站在紅隊角度檢測指定系統,回報數個資安問題,並給予修補建議。
    • 熟悉 Web 相關安全議題,避免寫出容易受攻擊的系統。
    • 使用 CheckMarx 做原始碼安全檢測,並根據報告修正有風險的程式。

關鍵字: 需求訪談, 架構規劃, Scrum, CI/CD, Unit Testing, Mentor, Security

Programmer  •  2019 年 6 月 - 2020 年 8 月

  • 將雲端產品 Vital GL (會計總帳)、AP/AR (應收付帳款) 由 .NET Framework 遷移到 .NET Core
    • 考量 .NET Framework 未來將不再更新版本,將其遷移到 .NET Core。
    • 遷移過程中處理 API 語法改變,以及調整 Authentication、DI 注入等機制。
    • 針對 .NET Fx 被移除的靜態成員、不支援的套件尋找替代方案。
    • 透過 Middleware 實現 AOP 處理 Log 與 Exception handling。
  • 專案經歷:財報系統開發客製化報表,以及排程處理各式資料檢核 
    • 財務報表使用 NPOI 與 DevExpress 處理,並支援 Excel 匯出。
    • 撰寫 Stored Procdure 定期執行資料檢核,找出異常資料。
    • 重構排程專案,使用 Strategy Pattern 改善複雜結構。
  • 專案經歷:開發 Audit Trail 可視化系統,整合各專案 log,以利分析系統使用量、使用者操作軌跡
    • 將 log 中的欄位設定 XML 對照表,再透過程式轉成對使用者友善的描述。
    • 前端使用 Angular 開發 SPA 應用,搭配 Kendo 套件處理圓餅圖、折線圖等統計表。
    • 後端使用 .NET Fx 開發,架構分層,使 application logic、business logic、data layer 解耦。
    • API 遵循 RESTful 風格,並使用 JWT 處理驗證機制。

關鍵字: ASP.NET Core, Migrate, AOP, DevExpress, Kendo, Stored Procedure, RESTful

Program Assistant  •  2019 年 2 月 - 2019 年 6 月 

  • 支援團隊專案,如工時系統、合約系統、ChatBot,進行功能擴充與修改,以符合使用者需求
    • Bug 修正:CSS 跑版、CRUD 功能異常、排程失敗、Stored Procdure 回傳資料有誤。
    • 功能擴充:工時填寫一鍵複製、新增合約查詢、調整 ChatBot 查詢流程。

關鍵字: ASP.NET MVC, Angular, jQuery, MSSQL, Microsoft Bot Framework

猿創力程式設計學校

Teen Programming Teacher  •  2017 年 7 月 - 2018 年 8 月

  • 使用 Minecraft 教導學員程式邏輯與問題解決。

南投縣政府原民局

Developer  •  2017 年

  • 官網翻新,使用 WordPress,並調整 PHP 客製化 UI 與功能,改善使用者體驗。

Education

國立暨南國際大學

資訊管理  •  2015 - 2019

  • 畢業專題結合 IOT 開發智慧空間,取得校內第二名、人氣獎,以及業界評審給予最佳實作獎之肯定
  • 軟體工程 Teaching Assistant
  • 計算機概論 Teaching Assistant

個人專案