Download PDF

I am creative, responsible and good at thinking logically. I have physics background and has been a software programmer for years. I'd like to do something valuable and helpful for humanity.

Work History

Nov 2016Feb 2018

Software Engineer Lead

Academia Sinica, Taiwan

Lead a team to develop an open source project, CARTA for Astronomy Analysis and Visualization. It covers:

  1. Clients: Python and JavaScript. Servers: C++ and Node.js. Desktop version was using Qt embedded browser engine and is transitioning to Electron framework. 
  2. UI framework: React, Redux, material-ui.
  3. Algorithms: using C, C++11 and Qt.
  4. Capabilities: Server-side rendering Astro-data, HTML 5 canvas drawing analytics region, analytics D3.js based chart, collaborative sharing screen.  

I'm also responsible for:

  1. Programming and designing the share screen architecture.
  2. Project management. 
  3. DevOps: Constructing continuous delivery (auto build) system by Travis CI and Google Drive.
Dec 2015JUN 2016

Development Manager


I am responsible for the following projects (mainly coding part)

  1. Use Node.js + MongoDB (Back-end: Express + WebSocket) and AngularJS (Front-end) to write an IOT web application. It is deployed to AWS by using Convox which integrates Docker and AWS.
  2. Use ReactJS (Front-end framework, developed by Facebook) + Redux (state container framework) to write an IOT web application.

Also uses JavaScript ECMAScript 2015 (ES6), SCSS(Sassy CSS), Material-UI, Meteor (web framework) and Heroku (Cloud Application Platform).

May 2015Sep 2015


ThroughTek Co., Ltd.

Manage a team that includes software engineers, UI/UX engineers, PM, and QA engineers to develop applications for IOT, home security (IPCam related) and home automation. The target platform includes iOS, Android, Chrome app (Desktop) and server side development. My responsibility is

  1. to arrange the schedule and the roadmap 
  2. directly involved some projects/issues:

Involved projects:

  1. Two way audio/voice call application. (solve echo cancellation issue)
  2. Develop customized Push Notification for Android phones, using MQTT.
  3. A Chrome app to view IPCam's live streaming and listen to IPCam's recorded voice.
  4. Study Alljoyn ( IOT platform developed by Allseen alliance) and HomeKit try to integrate to the company's existing software component. 
  5. Use Node.js to develop a server using HTTP, MongoDB, C/C++ library and so on.
  6. Extend QA's testing coverage and use cloud service (e.g. AWS device Farm and to achieve it.  
Nov 2010Apr 2015


Oplink Communications

Develop softwares which apply on IOT (Internet of Things) domain. The involved projects:

  1. iOS application development. Features: watching images from IPCam, video call with people, fetching sensor data from servers, interactive with sensors, navigating data on Google map etc. 
  2. RIA/.Net/Silverlight application development. The same features as iOS.
  3. Windows store app and WP8 app development. 
  4. Server construction on AWS: Redmine/Apache, Wiki and Git.
  5. Android app debugging and java NIO(Netty) use on Android.
  6. P2P (peer to peer) programming. Use C language and PJSIP library to make communications between two peers which are behind their firewalls.

I was an engineer in the first year and became a software manager to lead a mobile app development team. I had applied Scrum on some projects and have used the following skills:

  1. Network (protocol/framework): XMPP, RTP/RTSP, OpenSSL, STUN and WebRTC.
  2. Different video and audio/speech codes, echo cancellation and AES encryption.
  3. SQLite & Realm (mobile ORM DB)
Mar 2009Jun 2010

Software Engineer

Quanta Computer Inc.

Design softwares and implement the code with optical touch module. Involved projects:

  1. Touch algorithm /gesture algorithm /API development.
  2. Linux Driver & Remaster Ubuntu installation ISO.
  3. Network Socket part (e.g. streaming screen images via WiFi/Lan) of a Touch friendly and Education purpose software on Windows.
  4. Touch Game development using WPF 3D technology.
Dec 2007Jun 2008

Research Assistant

Dept. of Physics, National Taiwan University
Develop Neutrino Telescope of High Energy Group.



Master of Physics

National Taiwan University

Optical System of Neutrino Telescope


Bachelor of Physics

National Taiwan University


Programming languages

  • C: 1+ year
  • C++: 1+ year
  • C#: 2+ year
  • Objective-C: 4 year
  • Python, Java : 1  year
  • Javascript (ES5, ES6): 2 year
  • Go 

Development Platform

  • iOS: 4 year
  • Windows Phone (WP8): 1+ year
  • Silverlight & WPF (running on Windows Desktop & Browser): 1 year
  • Front-End & Full Stack Web: 2 year

Domain know-how

  • Good socket and multi-thread programming.
  • Streaming technology.  
  • Server construction on Amazon cloud (AWS). 
  • Some experience on Android app and use Netty (Async-network) on Android.
  • Having experience to handle video codecs (H264) and audio codes. (e.g. G711, G726). Even for echo cancellation on iOS & Android.

Also know hOW TO USE

  • Solidworks (3D CAD)
  • Apple HomeKit
  • Mobile Chrome App
  • Arduino (open-source electronics prototyping platform)
  • Visual Basic for Applications (VBA)
  • Services for mobile: AdMob, CocoaPods (iOS dependency manager), Parse (backend), Pusher (WebSocket), HockeyApp (Crash reporter) etc. 
  • web/server: Algolia Search, Travis CI, jQuery
  • Kubernetes 
  • Message Queue 


app Publications


  1. Using GitHub Stargazers Distribution to Compare React, Angular and Vue: Medium Article, Source Code
  2. AlphaGo Zero TicTacToe JavaScript Game:, using TensorFlow.js
  3. show Taiwan house data in a line chart, using Vue.js + Plotly (built on top of d3.js and Amazon AWS's lambda + Google's Firebase as Back-end to auto update
  4. iOS, Android apps built by React Native to daily record pet's breath rate.

  5. iOS, Android apps built by React Native to browse Taiwan House Price. 
  6. An online programming language book - learning JavaScript., not it is Chinese version.
  7. a face finder Mac application. Function: Select a image having someone's face, and select your folder, then it will show all images having the same face, even in sub-folders. It includes Docker, Python WebSocket, Cross platform Desktop Javascript Electron app, and Machine learning Trained Face model. Download the needed docker image, then install the Mac app, and run it.  
  8. a 3D GIS map to show the average price of housing per city in Taiwan,,  which use JavaScript drawing library,: D3.js and three.js.

  9. Kramdown (used by GitHub Pages) version of Markdown Preview, an atom package using CoffeeScript and Ruby.
  10. A tool to do full text search your github starred repos. Use OAuth 2, React, Redux, Golang (server side), Elasticsearch, Redis and so on.
  11. A Line BOT to push the information of updated special product on Apple store site. , using Node.js/Go + Heroku + PostgreSQL + Twilio + Mocha. version repo), (Node version repo, and both including QR code for this Line Bot account)
  12. (AppleScriptObjC app)
  13. (iOS App) 
  14. (Mac app)