工作技能

資料庫設計類:MySQL、SQL Server 

程式設計類:ASP.NET C# MVC 、VB6

網頁技術類:HTML、jQuery、AJAX 

版控工具 :Git、Sourcetree、TortoiseGit

排程工具 : Trinity、Crystal Reports、MetaEdge  

工作經歷




AP Team -Senior Specialist

國際康健人壽保險股份有限公司 

May. 2022 - Now
Taipei, Taiwan

工作內容:

系統維運:[金庫系統]、[催繳客戶名單系統]、[保單面頁系統]、排程維護

專案:安達人壽系統搬遷整併專案及更名專案

  • 公司合併 
    • 合併案前期: 借調到安達人壽了解雙方系統差異,作為雙向溝通的窗口 
    • 合併案中期: 系統更名 
    • 合併案後期: 在不熟悉各系統之間關聯的情況下,在有限的時間內釐清各系統相依性,進而主導與規劃系統搬遷計畫,並完成搬遷 16 個系統,提前進入 ST 階段
  • 系統維運 
    • 修復中、高風險的弱點 
    • 需求訪談、分析 
    • 協助平行測試、提供 UAT 測試案例 
  •  程式開發與維護 
    • 效能調校
    • 系統重構
  • 排程維護 監控排程是否正常執行,依據需求建立 dependency,使用工具: Trinity、MetaEdge、Crystal Reports 


Software Team - Junior Engineer

葳騰科技股份有限公司

Sep. 2018 - Mar. 2022
Taipei, Taiwan

工作內容:

提供 Amazon 賣家第三方軟體服務 開發與維護的系統包含: [公司內部 CRM 系統]、[Amazon 賣家 AI 調價系統]、[Amazon 賣家 CRM 系統] 主要開發與維護公司內部 CRM 系統,有空閒時間就支援調價系統和賣家 CRM 系統的需求

  • 程式開發與維護     
    • 遵循原有分層架構Model, View, Controller, Service, Repository 的設計做開發
    • 表單 : 欄位驗證、後端資料CRUD:使用DataAnnotations 為 model 加上基本驗證,前端部分搭配 jquery-validator 套件做資料驗證。後端資料CRUD使用entity framework。資料傳遞 : 使用 Ajax Post 到 Action

    • 優化管理用戶權限比對方式 : 原先權限檢查是取得登入後的權限快取清單,使用linq的 Where做比對,透過Dictionary的改寫,可將比對的複雜度由n降為1

    • 客戶狀態搜尋效能調整 : 透過觀察執行計畫, 找出未使用到index的條件, 繼而調整SQL做效能上優化

    • 優化 AI 額度計算SQL : 原先Join資料表取出該筆方案的 AI 額度,調整為先篩選一部分的資料到temp table,再透過temp table Join剩餘的資料

    • 優化大量刪除db資料方式:針對定期刪除資料的排程,改成批次刪除,先將範圍內的資料灌入temp table,再透過批次500筆的方式逐次刪除,避免鎖表時間過久。

    • Dapper效能改善:透過SQL Profiler得知dapper把未指定長度的string參數轉為NVARCHAR(4000),會造成欄位的隱性轉換,後改為DBString,或DynamicParameters強制指定資料長度改善問題

    • Entity Framework效能改善:因送出的查詢sql並未加上WITH(NOLOCK) ,之後透過IsolationLevel.ReadUncommitted參數改善此問題

    • 統一方案顯示,使用 Model 格式化方案名稱

    • 歷史訂單和升降級比對,從訂單資料表判斷出歷史訂單,以及有升降級異動時比較最新的方案和上一次方案

    • Credit、Coupon 開立 

  •  系統測試規劃與執行

    • NUnit Test,檢查欄位輸入是否顯示相應的錯誤提示訊息

    • Service 使用 AxoCover 檢查 Unit Test 覆蓋率並加以補強

    • 手動測試 : 用 Excel 列出 Test Case,檢查資料存取是否正確、錯誤提示訊息是否符合預期

    • 前端自動化測試 :  Selenium 搭配 Chrome WebDriver,拜訪特定 URL,測試登入功能

  • 協助教育訓練 : 將組內成員撰寫的教育文件,加以補強與整合

   

Side Project

效能監控 Filter

  • 透過Stopwatch記錄action 開始與結束的執行時間,並透過工廠模式取得想要發送的告警的管道(email, line notify, telegram)


HA延遲 Filter 

  • 為了系統之後有資料庫HA機制,撰寫一個可以設定延遲回應時間的filter,讓有需要寫入的action可以延遲回到client的時間,讓資料庫有充分的時間做同步,避免寫入後client端馬上呼叫查詢api卻查不到資料的情況。 



存取速率限制Filter

  • 透過寫入快取的方式(判斷快取是否過期)來達到判斷是否同一個action被同個用戶頻繁的呼叫
    因為每個web專案的回傳格式不盡相同,為了提昇元件重複利用性,將此filter開放回傳的格式為abstract method,由繼承者自行實作,將來可用在web, app api, 或不同的web專案使用

使用 DI 置換Service

  • 測試階段或撰寫 Unit Test 時會遇到連同部門內的偕同開發的情況,使用 DI 置換服務時,只要有規格就不需要等對方上測試環境才能開發,或是遇到外部 API 無法測通時,也可以使用 DI 置換掉進行測試 

學歷


銘傳大學 資管系

大四到巨匠電腦補習程式語言: Asp.Net C# 和資料庫 SQL Server、BI

畢業專題做的是小學生數學教學網站,教學網站分成上課影片、題型練習、數學遊戲,我負責的是較有挑戰性的遊戲開發組,採用類似大富翁的遊戲方式,支援兩位玩家,將一百題數學題隨機出題,答題正確可以得分,先達到得分目標者為勝。

Sep. 2014 - Jun. 2018