林欣翰

軟體工程師




目前已有兩年的軟體開發經驗,擅長技術偏向於以後端開發與資料庫,主要技術以 .NET相關為主。熟悉:ASP.NET Core, ASP.NET MVC, ASP.NET WebAPI

熟悉OOP、Desing Pattern等相關技術的使用,並有主導系統核心功能重構的實作經歷,透過重新規劃後端、與資料庫的架構,帶來約70%左右的效能提升。

技能

Backend


  • C#
  • Framework
    • .NET Framework
    • .NET Core
    • ORM
      • EntityFramework
      • Entity Framework Core
      • Dapper
    • DI
      • Unity Container
      • Microsoft Dependency Injection
  • Test
    • Unit Test
    • Integration Test
    • BDD(specflow)
    • TDD
  • Database
    • Sql Server
    • MongoDB
  • System Design
    • OOAD

Frontend


  • Html
  • CSS
  • Sass
  • Javascript
  • Jquery
  • Angular/Angularjs

Other


  • Git
  • Postman
  • Apiary
  • Docker
  • Azure
    • Azure Container Registry
    • Azure Container Instances
    • App service
    • Azure function
  • GCP

工作經歷

軟體實習工程師  •  威煦軟體開發有限公司

四月 2019 - 2020 7月

1. 撰寫Test Case的相關功能

  • 撰寫系統核心功能的e2e的test case,涵蓋約40%的系統使用情境

2. 和團隊協作開發功能

  • 按時完成團隊交付工單,包含新功能開發、bug修復 


軟體工程師  •  威煦軟體開發有限公司

七月 2020 - Present

1. 產品功能開發與優化

  • 負責公司主要營收產品之一,包含:前後端開發、資料庫設計與維護
  • 主導系統核心功能重構,提升可維護性與擴充性,並提升了約70%的效能
    • 將sp的商業邏輯重構到程式中,並利用OOP、DI等相關技術,來提升程式的可擴充性與維護性
    • 讓既有系統的邏輯判斷與後續的擴充能納入測試保護
    • 使用Entity framework搭配Sqlbulkcopy ,優化查詢與批次更新的效能,大幅降低上版後更新客戶資料的時間(大約從平均40min -> 10min)
  • 設計階層式的組織匯出報表
    • 利用樹狀類別結構,搭配搜尋演算法,整合不同的組織的資料,以階層方式產生報表資料

2. 透過單元測試、整合測試提升產出品質

  • 針對既有功能撰寫單元測試與整合測試
  • 以TDD的角度做到「測試先行」的概念,藉此提升產品穩定性
  • 效益
    • 將既有測試涵蓋率提升至約40%
    • 返工率維持在5%以下
    • 系統bug率維持在1%以下
    • 協助團隊達到測試左移

3. 優化團隊工作流程

  • 串接GCP服務,將原本前端多國語系的資料維護從專案內的excel檔移植到雲端google sheet
    • 加快每次重新編譯時間(3min -> 2sec)
    • 省下開發團隊處理版控衝突的時間(原本平均一周大約15分鐘)

4. 產品管理與部屬

  • 負責管理團隊開發的gitflow流程
    • code review
    • master、dev與各feature branch的合併
    • 產品release版本發行
  • Azure Devops app service的slot切換(藍綠部屬)

5. 團隊開發協作

  • 評估技術可行性、並將協助需求拆分可執行的工單內容
    • 明確切分開發模組的功能邊界,降低團隊溝通成本
    • 協助新進員工了解專案架構,能快速參與功能開發


學歷

2016 - 2020

國立臺灣師範大學理學院

數學系