Jack Cheng  

A frontend engineer with full passion of all new skills / tools / concepts of development. Got everything I have now from all resources, mostly internet, by myself. Looking forward to challenges and any possibilities leading myself to software developing master.

[email protected]
+886 988-345-202
Taipei, Taiwan

Skills


Basics

  • HTML5
  • Javascript ES5/ES6
  • Typescript
  • Elixir
  • AJAX/XHR
  • Unit test
  • CSS3
  • SASS/SCSS/CSS module
  • Flow type
  • WebSocket
  • XMPP
  • End to end test


Preprocessor

  • Grunt
  • Gulp
  • Webpack

Library

  • jQuery and plugins
  • Redux
  • Redux-Observable
  • D3.js experienced
  • Jasmine / Jest / Enzyme
  • Storybook
  • Testcafe / Puppeteer / Cypress
  • Formik
  • Styled Component


Framework

  • AngularJS 
  • AngularJS 2 
  • AngularJS 4 
  • ReactJS  
  • NextJS experienced
  • Phoenix experienced


Studying

  • GraphQL / Apollo


Other related

  • PHP / MySQL experienced 
  • NodeJS / Express/ Koa2 / MongoDB experienced 
  • Golang / Redis experienced 
  • Git / sourcetree 
  • Jenkins / CircleCI / Gitlab-CI 
  • Docker 
  • Jira / Trello 
  • Slack / Hipchat 
  • i18n 
  • Paypal integration 
  • Google Analytics 
  • Sentry / Rollbar

Language


Chinese: native 

English: native
Fukienese: fluent

 

Experience






Frontend Developer of Crypto.com, Mar 2022 - Present

A crypto currency exchange web app

Working on Crypto.com Exchange and focusing on fiat integration. Established a shared UI component library as well as foundations of unit tests. Hosted a unit test workshop sharing the theories and practices of unit test.

Major feature developed: Fiat integration

Key Stack : Vue / Vuex






Frontend Developer of Appier, Jan 2020 - Mar 2022

Platform for marketing automation: campaign managing. 

Working on AIQUA and our web SDK for in-web campaign delivering and data collecting. Refactor legacy code while developing new features such as intelligent campaign configuration UI and campaign experiment as known as AB testing. Owning cookie solution against browser restriction including ITP2.3. Introduced end to end testing and played the role of code quality keeper assisting team to write more valid test cases in shorter time. Test cases grew from 386 to 1865 ( 383% ) and test coverage went from 14% to 44%. 

Major feature developed: Theme system / AB testing for campaign experiment / campaign live preview / campaign creative template management  

Key Stack : React / Redux / Formik / Styled Component






Fullstack Developer of Grindr, April 2019 - Dec 2019

Platform for gay community. 

Built Grindr web client since early stage to beta. Dealt with webSocket and main component architecture. Have done refactors reducing main bundle size and loading time to 40%. Started learning Elixir/Phoenix and solved major connection issues of the socket server within 5 weeks. Did code reviews for the team and coached interns. Introduced unit tests and end to end tests.

Worked with international team in LA with both frontend and backend projects and their comments to me are listed on my . As well I worked closely with iOS and android teams, having working on web/mobile/backend log cross-check for debugging.

Key Stack : React / Redux / webSocket /Elixir / Phoenix






Frontend Developing Leader of Balvenie, May 2018 - March 2019

Platforms for lottery / sport lottery. 


Signed up for building and leading the frontend team in Taipei satellite office, working closely with PM, backend teams, and other frontend teams in Kuala Lumpur HQ. My team built lottery app from scratch and is going to take over and re-build the jQuery based home page in react/redux. 


I introduced frontend unit testing and strictly asked my team to reach certain coverage. As the major revision went live, only 3 among the 54 issues raised in the launch day are related to my project and only 1 of which was of our responsibility.


In addition to team leading I introduced CI/CD implemented with Gitlab-CI , Jira as issue tracking / repository managing, Sentry as progressive runtime error tracking, Google Analytics and lately TestCafe as e2e test tool.

I just finished the preparation of migrating from rest api to graphQL by setting up a middleware adapting both.


Key Stack : React / Redux / Redux-observable

Senior Frontend Engineer of Sarbeer, May 2016 - July 2017

A platform for sports betting associating Bet365 and Pinnacle


Built  a sports betting site from scratch as the only frontend engineer for the first half year and later assisted by another frontend team fellow. Starting with Angular1 and Gulp and replaced by Angular2/4 and webpack embedded in Angular-CLI. Supported by Rails backend API and Golang/Redis as backend workers which I am currently participating.

Dealt with real time websocket data refreshing, account/order validation, SPA render optimization and such.


Key Stack: Angular1 / Angular 2 / Golang / Redis 

Extra-Side Projects



A PWA collecting posts of used Nintendo Switch Game sales
Stacks involved:

  • puppeteer as crawler
  • node.js and koa2 as backend
  • mySQL as database
  • react with create-react-app2 as frontend with PWA