CakeResume Talent Search

Advanced filters
On
4-6 years
6-10 years
10-15 years
More than 15 years
Avatar of 邱士宸.
Avatar of 邱士宸.
Past
Technical Program Manager @Google
2022 ~ 2023
software engineer
Within one month
邱士宸 我是邱士宸, 有六年軟體產業經驗, 包含 2年Python資料工程師 以及4年專案經理 對於交易/區塊鏈產業有高度興趣, 希望能進入相關產業擔任交易工程師/專案經理 期望待遇: 年薪90萬up / 月薪65Kup Backend Web Developer/ Program Manager 城市,TW [email protected] 工作
專案管理
資安事件處理
JIRA Confluence
Unemployed
Not open to opportunities
Full-time / Not interested in working remotely
4-6 years
Queen Mary University of London
Marketing
Avatar of 張晏甄.
Offline
Avatar of 張晏甄.
Offline
Senior Software Engineer @Titansoft Pte Ltd
2019 ~ Present
Software Developer
More than one year
size 5) with 3 members got promotion within 1.5 years. Techman Robot Inc~C++ Software Developer in Vision Team Developed a non-blocking and auto-reconnect TCP-based message client/server and reduced 90% UI response time. Synology Inc~Full-stack JavaScript Software Developer in Productive Application Team Developed collaborative real-time web editor. Improved features of table and comment module. Skills C# Advanced level in language features and IDE productivity operation .NET Core and Framework Web(ASP.NET Core and MVC) JavaScript Intermediate level in ES2017 Vue3
Web Development
Backend
Agile Development
Employed
Not open to opportunities
Full-time / Interested in working remotely
4-6 years
國立交通大學
資訊工程學系
Avatar of the user.
Avatar of the user.
主任工程師 @緯創資通股份有限公司
2022 ~ Present
Web backend Engineer
Within one year
Python
Android
MongoDB
Employed
Full-time / Interested in working remotely
6-10 years
紐約大學(New York University)
Computer Science
Avatar of Dago Lin.
Avatar of Dago Lin.
Past
Senior web developer @TECHDesign.com
2016 ~ 2022
Senior Web Developer
Within one year
Dago Lin Senior developer Taiwan - Senior web back-end developer (PHP) - System analysis and design - Cloud system - Design Thinking - A serial entrepreneur 技能 User Experience User testing Web usability Product AI Travel agency (Working) Competitor analysis Business research Language Chinese English Spanish 工作經歷 Senior web developer • TECHDesign.com 十月十月Lead of back-end team - System analysis and design - CI/CD maintenance - Provide all solutions for the team - Organize workshops and training - Maintain all business logic in back-end from payment to logistic Techdesign.com is a multipurpose platform invested by
Laravel
Agile
PHP
Unemployed
Full-time / Interested in working remotely
10-15 years
國立中央大學 National Central University
Management of information
Avatar of Andre Suhartanto.
Avatar of Andre Suhartanto.
iOS Developer @哲煜科技股份有限公司
2020 ~ Present
iOS Developer
Within two months
Andre Suhartanto Looking for opportunity in Taipei, I worked for a company who provide fashion market analytic as a web developer, backend developer and team lead of a data mining team. Backend Developer, Team Lead Taipei City, TW [email protected] Work Experience Shoppr/Omnilytics, Data Mining Lead, Aug 2018 ~ Feb 2019 Distribute task for the team, sprint planning, providing data our dashboard (Omnilytics) by scraping websites, maintaining our data mining engine, fixing bugs and add improvements. Shoppr/Omnilytics, Backend Developer/Data Mining, Aug 2017 ~ Aug 2018 Providing data our dashboard (Omnilytics) by
Redis
GCP Compute Engine
AWS
Employed
Full-time / Interested in working remotely
4-6 years
NEXT Academy
iOS Development
Avatar of the user.
Avatar of the user.
Senior Java Engineer @裕隆集團_格上汽車租賃股份有限公司
2022 ~ 2024
Sr. Java Web Developer, Back-end Developer
Within one month
JAVA
Android
Spring Framework
Employed
Full-time / Interested in working remotely
4-6 years
實踐大學
行銷管理學系
Avatar of the user.
Avatar of the user.
Web Developer @PT. Visi Multimedia Aditama
2016 ~ Present
Backend Developer
More than one year
CodeIgniter Framework
Yii Framework
Pendidikan
Employed
Full-time / Interested in working remotely
6-10 years
Universitas Brawijaya
Teknik Informatika
Avatar of Kettan Wu.
Avatar of Kettan Wu.
Architect @adGeek / Cyntelli
2019 ~ 2021
DevOps,SRE
Within one month
Kettan Wu A gopher, experienced web developer, backend engineer. Focusing on backend technologies and system design. Desire to work on impactful projects that are the core of company successfulness. * Language: Go for API servers, Shell for routine jobs, installation scripts * DB: MySQL, Redis, Presto as query engine for parquet files on S3 * Container Orchestrator: running production services on Docker Swarm, K3S * Infra: * AWS services (EC2/Lightsail, SQS, S3, Lambda, CloudFront) * Ansible for software installation * Terraform for provision AWS resources * Drone for CI/CD pipelines * EFK for logging DevOps, SRE, Backend [email protected]
golang
Kubernetes
AWS
Employed
Not open to opportunities
Full-time / Interested in working remotely
6-10 years
國立臺中科技大學
資訊管理系
Avatar of Michael Chen.
Avatar of Michael Chen.
Sr. Associate Engineer @TSMC
2010 ~ Present
Sr. Java Web Developer, Back-end Developer
More than one year
Michael Chen Sr. Associate Engineer Zhudong, Zhudong Township, Hsinchu County, Taiwan 310 I define my self as Sr. full stack developer , my skillset is match as below • 5+ years of relevant work experience Experience of front-end develop • Familiar CSS/HTML/JavaScript • Work current use Angular/Angular Material • Strong experience in Java, J2EE ,Spring ,ORM(JPA/Hibernate) • Good analytical and problem solving skills • Extensive REST API development experience • Experience on different databases. Relational (Oracle, MySQL, ...) & Know/Study NoSQL(MongoDB) • Familiar with AWS Solution such as EC2/S3
JavaScript
Java
angular 4
Employed
Full-time / Interested in working remotely
10-15 years
National Chiao Tung University
Institute of Information Management
Avatar of Mickey Chen.
Avatar of Mickey Chen.
Elixir Backend Developer @Gustav
2017 ~ 2018
Software engineer
Within one year
proficient with Ruby, GraphQL, and Functional JS. Backend Web Developer with a dash of Frontend @ Taipei, Taiwan [email protected] Experiences Access Taiwan Lab , November,August 2020 Team to spearhead Elixir backend in Taiwan. My role was to provide training material, advise on backend team's technical issue, and participated in architectural decision of new client project under in-house framework. ZaZaar , Live-Streaming Marketplace, March,June, 2019 Started my own business. Zazaar aimed to be a live-streaming marketplace – built on WebRTC service and Phoenix backend. Being the founder
Elixir
GraphQL
Ruby
Not open to opportunities
Full-time / Remote Only
6-10 years
Kaohsiung Medical University
Medical Information Management

The Most Lightweight and Effective Recruiting Plan

Search resumes and take the initiative to contact job applicants for higher recruiting efficiency. The Choice of Hundreds of Companies.

  • Browse all search results
  • Unlimited access to start new conversations
  • Resumes accessible for only paid companies
  • View users’ email address & phone numbers
Search Tips
1
Search a precise keyword combination
senior backend php
If the number of the search result is not enough, you can remove the less important keywords
2
Use quotes to search for an exact phrase
"business development"
3
Use the minus sign to eliminate results containing certain words
UI designer -UX
Only public resumes are available with the free plan.
Upgrade to an advanced plan to view all search results including tens of thousands of resumes exclusive on CakeResume.

Definition of Reputation Credits

Technical Skills
Specialized knowledge and expertise within the profession (e.g. familiar with SEO and use of related tools).
Problem-Solving
Ability to identify, analyze, and prepare solutions to problems.
Adaptability
Ability to navigate unexpected situations; and keep up with shifting priorities, projects, clients, and technology.
Communication
Ability to convey information effectively and is willing to give and receive feedback.
Time Management
Ability to prioritize tasks based on importance; and have them completed within the assigned timeline.
Teamwork
Ability to work cooperatively, communicate effectively, and anticipate each other's demands, resulting in coordinated collective action.
Leadership
Ability to coach, guide, and inspire a team to achieve a shared goal or outcome effectively.
More than one year
Senior Software Engineer
Logo of Titansoft Pte Ltd.
Titansoft Pte Ltd
2019 ~ Present
Taiwan
Professional Background
Current status
Employed
Job Search Progress
Not open to opportunities
Professions
Other
Fields of Employment
Software
Work experience
4-6 years
Management
I've had experience in managing 1-5 people
Skills
Web Development
Backend
Agile Development
Unit Testing
C#.NET development
JavaScript
Python
OOP Programming
Domain-Driven Design (DDD)
Test-Driven Development (TDD)
Languages
Chinese
Native or Bilingual
English
Fluent
Job search preferences
Positions
Software Developer
Job types
Full-time
Locations
Remote
Interested in working remotely
Freelance
No
Educations
School
國立交通大學
Major
資訊工程學系
Print
Oxc33kr8zkmnfmntt7uk

張晏甄 Chang Yen-Chen


+886 988817378 / [email protected] / Blog: https://blog.opasschang.com

I am a web programmer taking code quality seriously. I have practical experience in TDD, refactoring and agile methodology. I am good at C# but also open to learn other technology stack as well.

Working Experience

Titansoft Inc. 2019.6 ~ now

Senior Software Developer

  • Integrate first crypto payment flow and 10+ payment service providers. Improve database schema and validator design to reduce integration time down to 1 week 1 payment.
  • Build a banner management system for showing corresponding content in 100+ different scenario. Reducing 80% human error.
  • Internal Unit Test lecturer. Trained 35+ engineers for writing C# Unit Test for two years.
  • Lead a team(size 5) with 3 members got promotion within 1.5 years.

Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Techman Robot Inc.   2018.3 ~ 2018.12

C++ Software Developer in Vision Team

  • Developed a non-blocking and auto-reconnect TCP-based message client/server and reduced 90% UI response time.

Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Synology Inc.   2017.4 ~ 2018.3

Full-stack JavaScript Software Developer in Productive Application Team

  • Developed collaborative real-time web editor. Improved features of table and comment module.

Experiences 00 01@2x 6daa47d1df70d315f129dcecdd562003831581c4cdd8f9c819aa22d4a24ae150

Skills


C#

  • Advanced level in language features and IDE productivity operation
  • .NET Core and Framework
  • Web(ASP.NET Core and MVC)

JavaScript

  • Intermediate level in ES2017
  • Vue3/Vue2, Webpack, TypeScript, NodeJS


Other Language and Tools

  • Python
    • Django, TensorFlow
  • C++
    • Qt5, Google Test and Google Mock
  • Database
    • MSSQL, PostgreSQL, FireStore
  • CI/CD 
    • Gitlab, Jenkins
  • Docker, K8s, ELK
  • Git, TFS


Technical

  • C# Unit Test internal lecturer(2 year)
  • Agile development practical experience(3 year)
    • Scrum, LeSS, PBR, Daily, Pair Programming,  Code Review, CI/CD
  • Clean Architecture
  • TDD
  • DDD

Education

National Chiao Tung University B.S. in Department of Computer Science(2011-2015)

  • Average Score 85.91(7/59)

工作經歷

鈦坦科技

在鈦坦科技進行平台維護相關的開發。後端使用.NET技術棧。包含.NET Core, ASP.NET Framework。具備docker與k8s的操作經驗。前端碰到的框架有Vue3, Vue2, JS & TS。資料庫使用MSSQL。

分析並解決複雜的需求

  • 整合第一個加密貨幣金流,原有金流都是法幣儲值,這是首次支援加密貨幣儲值。廠商的文件規格模糊、客戶對於儲值流程並不清楚。我與廠商、產品經理、UIUX、客戶溝通,釐清操作流程、匯率轉換等問題,最後帶領團隊實做並成功上線。
  • 每個月都需要在十多個站內版位上顯示廣告。這些在地化廣告的顯示條件相當複雜,變因包含國家、網域、語言等等,相乘起來超過百種情境,每次更換都是棘手的問題。我與設計師和產品經理合作,實做了廣告管理系統,把變因拆解成兩大主軸,能夠預先排程,在新系統中,只需要勾選情境並設定內容,大幅減少每月都會發生的人工錯誤。
  • 實做多種行銷活動,如推薦好友拿獎勵、儲值抽獎等等。需要處理多種規則和限制條件,最後帶來可觀數量的用戶。

重視品質的交付

  • 兩年前被團隊推舉成為單元測試課內訓講師,目前是公司跨部門新人必修課,已經培訓了35個以上的工程師,超過30人給予5/5評價並表示極有幫助。
  • 在開發新專案時,核心的senior工程師為了求快速上線,照抄原始的資料庫欄位設計。在串接到第三個服務商後,我主動與團隊溝通,討論並調整了10張表,超過50個欄位。這些改動讓團隊的溝通變得更順暢,最後此專案甚至被切出去成為獨立的部門。
  • 因為舊有的支付驗證器設計不佳、相似的驗證邏輯分散在各處。我設計了Fluent Interface的泛型驗證器,易讀好寫,大幅降低忘記開發,漏掉驗證的風險,目前已用於30種以上的金流服務驗證。

提昇團隊能力,一起變強

  • 導入 vim in IDE 與快捷操作鍵設定檔,提昇團隊開發效率。
  • 團隊每日以 Pair Programming 開發,下班前進行 Code Review,確保品質、共享知識與及早發現問題。
  • 不定時進行技術分享、設計討論、重構練習。 成為部門內升遷速度最快的團隊,5人中有3人在一年半內升等。

Class 粒度的團隊協作

由於團隊成員實做速度夠快,我們得以花費更多時間在前期的設計討論上,而非直接埋頭苦幹。團隊能夠在開發前一起討論職責該怎麼切分、介面怎麼定義。一起畫 Class Diagram 與 Sequential Diagram,順過整個流程,確保所有人的認知都一致。最後再切成task交由不同的Pair去實做。甚至在遠端工作的情況下,依然如此。。

達明機器人 視覺部門(2018)

視覺部門的職掌是機械手臂中和影像有關的功能,諸如影像處理、物體定位、識別、量測等。近年亦開始導入深度學習技術,使用C++及Qt Libary進行開發。

設計可靠的通信模組

因舊有系統使用polling載入後端資料,而且在polling期間block住UI Thread,另外濫用Qt的signal/slot機制,造成Server總是以broadcast方式傳送信息給Client。我設計並導入了non-blocking的Client/Server通訊架構解決此問題,大幅減少UI回應時間。


  • 我利用JS Programming的經驗,用C++設計了類似Socket.Io的雙向通信模組,提供Callback-Based的介面供其他程式使用,避免在傳輸信息時block住UI thread,大幅降低回應時間。
  • 我使用了modern C++ 11/14的功能,像是smart_pointer、auto、lambda expression、functor、template specialization、virtual function、namespace等

  • 因工廠的網路環境不穩定,我設計了斷線重連的協定。就算拔掉網路線再插回去,也能夠繼續傳輸斷線前的資料。
  • 為了測試程式的可靠性,我使用Google Test與Google Mock撰寫單元測試,將其與Qt整合,並隔離掉需要Event Loop才能測試的元件。
  • 我使用Resharper C++與Visual Studio進行開發。

群暉科技 生產力工具部門(2017)

2017年至群輝科技(Synology)開始第一份工作,我所在的部門負責開發辦公室生產力軟體,也就是Web版本的Doc, Excel, PowerPoint。其功能包含即時多人協同編輯、復原、文件歷史快照、分頁模式、跨瀏覽器支援。我主要貢獻如下。


  • 改良表格的架構設計,使其支援合併/取消合併儲存格
  • 改進Doc效能測試程式使其支援多檔操作
  • 改良註解模組架構以避免網路不穩導致註解不同步
  • 處理跨瀏覽器(Chrome, IE, Firefox, Safari)相容性問題。


Projects 01 00@2x 9a5a97084c8e268ae3725d8e03654d1815ae2eb597b59c292ae4d0beffa7b703

Self Learning

Paragraph image 01 00@2x 1a3881c875a7a1fb1e859435ef9363b5ddf36f4e73d1ad63a1a0af69f2a9f745

參與CSM課程(2017.11)

參與Daniel Teng講授的開腦CSM(Certificated Scrum Master)課程,課程為期三天,學習Scrum的框架下每個活動背後的理由,敏捷團隊成員該有的素質。課後很興奮地嘗試在組織內導入Scrum但理所當然的失敗了,之後漸漸明白敏捷應該是不導而入,潛移默化,以身作則。

91極速開發課程(2018.9)

為了解決寫測試很花時間的問題,自費參與91(Joey Chen)的Visual Studio極速開發課程,課前兩週開始從零自學C#,課後花費一週刻意練習,能夠在22分鐘內以TDD方式完成Tennis Kata,並能於日常開發使用該技能。心得記錄於部落格:


http://bit.ly/blog-speed-up-your-visual-studio

Paragraph image 00 00@2x ebb59a6d9adb03673d06762584bb6a0cc401a7cc4bd081bb82ce6f841d95aa2b
Paragraph image 01 00@2x 1a3881c875a7a1fb1e859435ef9363b5ddf36f4e73d1ad63a1a0af69f2a9f745

重構與 TDD 實戰營 (2018.11)

因想學習TDD的開發方式與敏捷的工程實踐。主動要求培訓,參與91(Joey Chen)的重構與 TDD 實戰營課程。學習Specifcation By Example、拆解TDD Baby Step、重構技能。

單元測試實戰營 (2019.1) 

參與91(Joey Chen)的單元測試實戰營課程,課前已先透過實做和習得單元測試的技巧,透過上課更全面的了解盲點。學習3A原則、測試也該重構、Mock/Spy差異、正確評量Code Coverage指標的觀念等等。

Paragraph image 00 00@2x
Paragraph image 01 00@2x

Practice TDD skill in C# (2019.1~3)

自認為TDD沒有那麼容易上手,縱然上了培訓課,但尚未內化成自身的技能。故決定趁不在職的期間,練習用TDD開發C#程式。過程包含將極速開發的技能從Visual Studio遷移到Rider上、練習LINQ、上Emergent Design線上課、練習Kata、參與Coding Dojo等,已能將TDD運用於日常開發。心得記錄於部落格。

https://blog.opasschang.com/2019/03/12/a-journey-of-learning-tdd/

領域驅動設計與簡潔架構入門實作班(2021.4)

因為想要學習領域驅動設計,卻覺得參考書過於生硬。所以主動報名上課,想要加速理解DDD的核心觀念。除了解釋相關名詞之外,此課程影響我最大的是把Clean Architecture的分層概念理解清楚。日後在閱讀其他Domain-Driven Design的書籍,以及和同事討論設計架構,都有更清晰的理解。

Paragraph image 00 00@2x
Paragraph image 01 00@2x

超級數字力(2022.3)

因為想要學習財務思維,理解如何依據財務報表了解公司狀況,自行報名了MJ老師的超級數字力課程。這門課教你將三張財務報表以立體的觀點比較,判斷是不是一門好生意,公司有沒有賺錢的真本事,如何依據數字做決策。

Resume
Profile
Oxc33kr8zkmnfmntt7uk

張晏甄 Chang Yen-Chen


+886 988817378 / [email protected] / Blog: https://blog.opasschang.com

I am a web programmer taking code quality seriously. I have practical experience in TDD, refactoring and agile methodology. I am good at C# but also open to learn other technology stack as well.

Working Experience

Titansoft Inc. 2019.6 ~ now

Senior Software Developer

  • Integrate first crypto payment flow and 10+ payment service providers. Improve database schema and validator design to reduce integration time down to 1 week 1 payment.
  • Build a banner management system for showing corresponding content in 100+ different scenario. Reducing 80% human error.
  • Internal Unit Test lecturer. Trained 35+ engineers for writing C# Unit Test for two years.
  • Lead a team(size 5) with 3 members got promotion within 1.5 years.

Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Techman Robot Inc.   2018.3 ~ 2018.12

C++ Software Developer in Vision Team

  • Developed a non-blocking and auto-reconnect TCP-based message client/server and reduced 90% UI response time.

Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Synology Inc.   2017.4 ~ 2018.3

Full-stack JavaScript Software Developer in Productive Application Team

  • Developed collaborative real-time web editor. Improved features of table and comment module.

Experiences 00 01@2x 6daa47d1df70d315f129dcecdd562003831581c4cdd8f9c819aa22d4a24ae150

Skills


C#

  • Advanced level in language features and IDE productivity operation
  • .NET Core and Framework
  • Web(ASP.NET Core and MVC)

JavaScript

  • Intermediate level in ES2017
  • Vue3/Vue2, Webpack, TypeScript, NodeJS


Other Language and Tools

  • Python
    • Django, TensorFlow
  • C++
    • Qt5, Google Test and Google Mock
  • Database
    • MSSQL, PostgreSQL, FireStore
  • CI/CD 
    • Gitlab, Jenkins
  • Docker, K8s, ELK
  • Git, TFS


Technical

  • C# Unit Test internal lecturer(2 year)
  • Agile development practical experience(3 year)
    • Scrum, LeSS, PBR, Daily, Pair Programming,  Code Review, CI/CD
  • Clean Architecture
  • TDD
  • DDD

Education

National Chiao Tung University B.S. in Department of Computer Science(2011-2015)

  • Average Score 85.91(7/59)

工作經歷

鈦坦科技

在鈦坦科技進行平台維護相關的開發。後端使用.NET技術棧。包含.NET Core, ASP.NET Framework。具備docker與k8s的操作經驗。前端碰到的框架有Vue3, Vue2, JS & TS。資料庫使用MSSQL。

分析並解決複雜的需求

  • 整合第一個加密貨幣金流,原有金流都是法幣儲值,這是首次支援加密貨幣儲值。廠商的文件規格模糊、客戶對於儲值流程並不清楚。我與廠商、產品經理、UIUX、客戶溝通,釐清操作流程、匯率轉換等問題,最後帶領團隊實做並成功上線。
  • 每個月都需要在十多個站內版位上顯示廣告。這些在地化廣告的顯示條件相當複雜,變因包含國家、網域、語言等等,相乘起來超過百種情境,每次更換都是棘手的問題。我與設計師和產品經理合作,實做了廣告管理系統,把變因拆解成兩大主軸,能夠預先排程,在新系統中,只需要勾選情境並設定內容,大幅減少每月都會發生的人工錯誤。
  • 實做多種行銷活動,如推薦好友拿獎勵、儲值抽獎等等。需要處理多種規則和限制條件,最後帶來可觀數量的用戶。

重視品質的交付

  • 兩年前被團隊推舉成為單元測試課內訓講師,目前是公司跨部門新人必修課,已經培訓了35個以上的工程師,超過30人給予5/5評價並表示極有幫助。
  • 在開發新專案時,核心的senior工程師為了求快速上線,照抄原始的資料庫欄位設計。在串接到第三個服務商後,我主動與團隊溝通,討論並調整了10張表,超過50個欄位。這些改動讓團隊的溝通變得更順暢,最後此專案甚至被切出去成為獨立的部門。
  • 因為舊有的支付驗證器設計不佳、相似的驗證邏輯分散在各處。我設計了Fluent Interface的泛型驗證器,易讀好寫,大幅降低忘記開發,漏掉驗證的風險,目前已用於30種以上的金流服務驗證。

提昇團隊能力,一起變強

  • 導入 vim in IDE 與快捷操作鍵設定檔,提昇團隊開發效率。
  • 團隊每日以 Pair Programming 開發,下班前進行 Code Review,確保品質、共享知識與及早發現問題。
  • 不定時進行技術分享、設計討論、重構練習。 成為部門內升遷速度最快的團隊,5人中有3人在一年半內升等。

Class 粒度的團隊協作

由於團隊成員實做速度夠快,我們得以花費更多時間在前期的設計討論上,而非直接埋頭苦幹。團隊能夠在開發前一起討論職責該怎麼切分、介面怎麼定義。一起畫 Class Diagram 與 Sequential Diagram,順過整個流程,確保所有人的認知都一致。最後再切成task交由不同的Pair去實做。甚至在遠端工作的情況下,依然如此。。

達明機器人 視覺部門(2018)

視覺部門的職掌是機械手臂中和影像有關的功能,諸如影像處理、物體定位、識別、量測等。近年亦開始導入深度學習技術,使用C++及Qt Libary進行開發。

設計可靠的通信模組

因舊有系統使用polling載入後端資料,而且在polling期間block住UI Thread,另外濫用Qt的signal/slot機制,造成Server總是以broadcast方式傳送信息給Client。我設計並導入了non-blocking的Client/Server通訊架構解決此問題,大幅減少UI回應時間。


  • 我利用JS Programming的經驗,用C++設計了類似Socket.Io的雙向通信模組,提供Callback-Based的介面供其他程式使用,避免在傳輸信息時block住UI thread,大幅降低回應時間。
  • 我使用了modern C++ 11/14的功能,像是smart_pointer、auto、lambda expression、functor、template specialization、virtual function、namespace等

  • 因工廠的網路環境不穩定,我設計了斷線重連的協定。就算拔掉網路線再插回去,也能夠繼續傳輸斷線前的資料。
  • 為了測試程式的可靠性,我使用Google Test與Google Mock撰寫單元測試,將其與Qt整合,並隔離掉需要Event Loop才能測試的元件。
  • 我使用Resharper C++與Visual Studio進行開發。

群暉科技 生產力工具部門(2017)

2017年至群輝科技(Synology)開始第一份工作,我所在的部門負責開發辦公室生產力軟體,也就是Web版本的Doc, Excel, PowerPoint。其功能包含即時多人協同編輯、復原、文件歷史快照、分頁模式、跨瀏覽器支援。我主要貢獻如下。


  • 改良表格的架構設計,使其支援合併/取消合併儲存格
  • 改進Doc效能測試程式使其支援多檔操作
  • 改良註解模組架構以避免網路不穩導致註解不同步
  • 處理跨瀏覽器(Chrome, IE, Firefox, Safari)相容性問題。


Projects 01 00@2x 9a5a97084c8e268ae3725d8e03654d1815ae2eb597b59c292ae4d0beffa7b703

Self Learning

Paragraph image 01 00@2x 1a3881c875a7a1fb1e859435ef9363b5ddf36f4e73d1ad63a1a0af69f2a9f745

參與CSM課程(2017.11)

參與Daniel Teng講授的開腦CSM(Certificated Scrum Master)課程,課程為期三天,學習Scrum的框架下每個活動背後的理由,敏捷團隊成員該有的素質。課後很興奮地嘗試在組織內導入Scrum但理所當然的失敗了,之後漸漸明白敏捷應該是不導而入,潛移默化,以身作則。

91極速開發課程(2018.9)

為了解決寫測試很花時間的問題,自費參與91(Joey Chen)的Visual Studio極速開發課程,課前兩週開始從零自學C#,課後花費一週刻意練習,能夠在22分鐘內以TDD方式完成Tennis Kata,並能於日常開發使用該技能。心得記錄於部落格:


http://bit.ly/blog-speed-up-your-visual-studio

Paragraph image 00 00@2x ebb59a6d9adb03673d06762584bb6a0cc401a7cc4bd081bb82ce6f841d95aa2b
Paragraph image 01 00@2x 1a3881c875a7a1fb1e859435ef9363b5ddf36f4e73d1ad63a1a0af69f2a9f745

重構與 TDD 實戰營 (2018.11)

因想學習TDD的開發方式與敏捷的工程實踐。主動要求培訓,參與91(Joey Chen)的重構與 TDD 實戰營課程。學習Specifcation By Example、拆解TDD Baby Step、重構技能。

單元測試實戰營 (2019.1) 

參與91(Joey Chen)的單元測試實戰營課程,課前已先透過實做和習得單元測試的技巧,透過上課更全面的了解盲點。學習3A原則、測試也該重構、Mock/Spy差異、正確評量Code Coverage指標的觀念等等。

Paragraph image 00 00@2x
Paragraph image 01 00@2x

Practice TDD skill in C# (2019.1~3)

自認為TDD沒有那麼容易上手,縱然上了培訓課,但尚未內化成自身的技能。故決定趁不在職的期間,練習用TDD開發C#程式。過程包含將極速開發的技能從Visual Studio遷移到Rider上、練習LINQ、上Emergent Design線上課、練習Kata、參與Coding Dojo等,已能將TDD運用於日常開發。心得記錄於部落格。

https://blog.opasschang.com/2019/03/12/a-journey-of-learning-tdd/

領域驅動設計與簡潔架構入門實作班(2021.4)

因為想要學習領域驅動設計,卻覺得參考書過於生硬。所以主動報名上課,想要加速理解DDD的核心觀念。除了解釋相關名詞之外,此課程影響我最大的是把Clean Architecture的分層概念理解清楚。日後在閱讀其他Domain-Driven Design的書籍,以及和同事討論設計架構,都有更清晰的理解。

Paragraph image 00 00@2x
Paragraph image 01 00@2x

超級數字力(2022.3)

因為想要學習財務思維,理解如何依據財務報表了解公司狀況,自行報名了MJ老師的超級數字力課程。這門課教你將三張財務報表以立體的觀點比較,判斷是不是一門好生意,公司有沒有賺錢的真本事,如何依據數字做決策。