Yunchen Li

Backend developer with product designing mindset

Backend Engineer
[email protected]

+886-970023385

Summary

I’m a backend developer with more then 5 years of experience, mostly responsible for backend development using Node.js and DevOps operation such as designing CI / CD, deploying using docker and Kubernetes to AWS or GCP.

PROFESSIONAL SKILL


Language

- Javascript / Typescript

- Golang

- Python

- C++


Front-end

- Vue/Angular



Back-end

- Node.js

- Express.js / Nest.js

- MySQL / PostgreSQL

- MongoDB/ElasticSearch/Aerospike

- Redis/Memcached

- RESTful API

- Swagger

- Message Queue (RabbitMQ / Kafka)

- Unit Test / Integration Test


DevOps

- CI / CD (TravisCI/circleCI)

- Docker / Kubernetes

- AWS / GCP

- SCRUM

Work Experience



BeeInventor Cloud Lead                                                                                      April 2021 - Now

1. Developed and maintained a microservices-based architecture with NodeJS, NestJs, k8s, helm, Postgres, Elasticsearch for IOT microservices.
2. Maintain automate integration and deployment processes from using Github Action.
3. Collaborate with cross-functional teams including frontend engineers, designers, firmware engineer, to define technical requirements, prioritize tasks, and deliver high-quality software solutions.

Environment: Typescript, NestJs, Postgresql, Postgis, Redis, Elasticsearch, AWS, Nsdq, k8s

Molteo Software Engineer                                                                         April 2021 - Mar 2023

1. Developed Molteo/Crafthunt Backend using NodeJS, NestJs and FeatherJs for data retrieval, validation, and manipulation from scratch.
2. Created automated testing framework using in Jest for unit tests and E2E UI tests from scratch.
3. Setup automate integration and deployment processes from scratch using Circle Pipelines and Docker which reduced deployment time from hours to minutes.
4. Collaborated closely with CTO to choose the most suitable tech stack base on capacity planning, cost and business requirements.
5. Optimizing cost & load performance and review sql explain to adjust query, improving query performance with maximum 5000% faster than before.
6. Mentor team member pair programming, design review and code review for maintaining to enhance project and code quality.
7. Collaborated closely with other developers on cross-functional and cross-timezone teams including frontend engineers, mobile engineers, designers etc., through weekly sprint planning meetings and standup.

Environment: Typescript, FeatherJs, NestJs, Postgresql, Postgis, Redis, Docker, AWS, Cloudwatch, Kafka, CircleCI

High5 Backend Engineer                                                                            May 2020 - April 2021

1. Developed and maintained a microservices-based architecture with NodeJS, NestJs, Kubernetes, Docker, Elasticsearch for ChatBot Microservices.
2. Redesign backend architecture shifting services communication from sync to async by using Kakfa.
    Increasing around 30% of efficiency, and decoupling business logic.
3. Integrating with Facebook & Line & Google API for our ChatBot Services.
4. Created automated testing framework using in Mocha + Chai + Sinon for unit tests and E2E UI tests from scratch.
5. Supporting Internal Tools development, such as ML Models SDK and makefile for integrating with cli commands. 

 Environment: Typescript, ExpressJs, NestJs, Python, Elasticsearch, Aerospike, Redis, Memcached, Docker,  AWS, GCP

ISAP Backend Engineer                                                                              April 2020 - May 2020

1. Design and Maintaining Visual Recognition Backend using Typescript-Express.
2. Optimizing cost & load performance by adjusting algorithm by adjusting algorithm increasing around 20% of cost.
3. Supporting Internal Tools development.

Environment: Typescript, ExpressJs, Rxjs, MongodB

EDOM Firmware Engineer                                                                           Mar 2018 - July 2019 

1. Responsible for BLDC products firmware support, using C++ to maintain and design features.
2. Analyze and feedback on acoustic report to customer's. 
3. Supporting current sensor hardware and firmware design.

CHINPOON Product Design Engineer                                                      Mar 2017 - Mar 2018

1. Generating more than 30 products including Normal & HDI prototype in both sample and M/P. 

2. Improve process capability and production volume while maintaining and improving quality standards.

Work Experience



Molteo Software Engineer                                                                         April 2021 - Mar 2023

1. Developed Molteo/Crafthunt Backend using NodeJS, NestJs and FeatherJs for data retrieval, validation, and manipulation from scratch.
2. Created automated testing framework using in Jest for unit tests and E2E UI tests from scratch.
3. Setup automate integration and deployment processes from scratch using Circle Pipelines and Docker which reduced deployment time from hours to minutes.
4. Collaborated closely with CTO to choose the most suitable tech stack base on capacity planning, cost and business requirements.
5. Optimizing cost & load performance and review sql explain to adjust query, improving query performance with maximum 5000% faster than before.
6. Mentor team member pair programming, design review and code review for maintaining to enhance project and code quality.
7. Collaborated closely with other developers on cross-functional and cross-timezone teams including frontend engineers, mobile engineers, designers etc., through weekly sprint planning meetings and standup.

Environment: Typescript, FeatherJs, NestJs, Postgresql, Postgis, Redis, Docker, AWS, Cloudwatch, Kafka, CircleCI

High5 Backend Engineer                                                                            May 2020 - April 2021

1. Developed and maintained a microservices-based architecture with NodeJS, NestJs, Kubernetes, Docker, Elasticsearch for ChatBot Microservices.
2. Redesign backend architecture shifting services communication from sync to async by using Kakfa.
    Increasing around 30% of efficiency, and decoupling business logic.
3. Integrating with Facebook & Line & Google API for our ChatBot Services.
4. Created automated testing framework using in Mocha + Chai + Sinon for unit tests and E2E UI tests from scratch.
5. Supporting Internal Tools development, such as ML Models SDK and makefile for integrating with cli commands. 

 Environment: Typescript, ExpressJs, NestJs, Python, Elasticsearch, Aerospike, Redis, Memcached, Docker,  AWS, GCP

ISAP Backend Engineer                                                                              April 2020 - May 2020

1. Design and Maintaining Visual Recognition Backend using Typescript-Express.
2. Optimizing cost & load performance by adjusting algorithm by adjusting algorithm increasing around 20% of cost.
3. Supporting Internal Tools development.

Environment: Typescript, ExpressJs, Rxjs, MongodB

EDOM Firmware Engineer                                                                           Mar 2018 - July 2019 

1. Responsible for BLDC products firmware support, using C++ to maintain and design features.
2. Analyze and feedback on acoustic report to customer's. 
3. Supporting current sensor hardware and firmware design.

CHINPOON Product Design Engineer                                                      Mar 2017 - Mar 2018

1. Generating more than 30 products including Normal & HDI prototype in both sample and M/P. 

2. Improve process capability and production volume while maintaining and improving quality standards.

Portfolio

AHoy! App


- Introduction: AHoy! App is designed to support those who needs communicating and keep social connection where they are offshore. The App will support route planning, offline map view, real time chat, trip sharing, and post sharing in the first MVP. 


 - Using Typescript / Golang for backend microservices. 

 - Using Flutter for IOS / Android / PWA. 

 - Using RabbitMQ / Kafka for microservices communication. 

 - Using PostgreSQL for RDBMS. (Each service has it's own SQL DB) 

 - Using Redis for Cache and Rate-limiting. (Each service has it's own Cache) 

 - Using CircleCI to build CI/CD pipelines.

 - Using Makefile for controlling multiple Docker containers. 

 - Data Collection from Data.world 

 - Using GPS for location tracking. 

 - Using Dijkstra and D* for route planning.

Paragraph image 00 00@2x

Favorite Movies 


- Introduction: If you are a movies lover, here is the right places to be, you will be able to real-time sharing your favorites movies with the other users. In this repo you can easily running an entire application with make script.


 - Using Typescript for backend microservices. 

 - Using Vue Typescript for frontend. 

 - Using Websocket for real time data. 

 - Using PostgreSQL for main database.

 - Using CircleCI to build CI/CD pipelines.

 - Using Makefile for controlling multiple Docker containers. 


Paragraph image 00 00@2x

TASK SYSTEM

Github


- Introduction: A Sample Task Manage Card Board System with user profile System, sensitive information is protected by JWT.


- Using Nest.js with Typescript

- Design Backend with low coupling

- Using DTO and Repository Design Pattern to handle data

- Using TypeORM and PostgresQL

Mirco-Services-Architecture-Booking-System

Github

- Introduction: A advance version of Task manage system, it extends task operation to booking and authoring operation which has been handle over by different service


- Using RabbitMQ Message Queue Model

- Using Nest.js and Typescript for Backend

- Using Docker and Docker-compose for deployment

- Makefile supported

- Using TypeORM and PostgresQL

E-Commerce Website


- Introduction: An E-commerce Website which allow users to shop online. And supporting administrator to manage website as well. 


- Using Vue/Vuex/Vuetify/V-chart for front-end development 

- Design Backend with TDD 

- Using TravisCI to build CI/CD pipelines, meanwhile using Docker for Artifacts Management 

- Using Swagger to auto generate API document and supporting test 

- Supporting third party cash flow 

- Using GCP Gmail API and nodemailer to implement mail operation 

- Using Redis for Cache design and store session data 

- Using Pm2 for process management 

- Using Docker-Swarm with AWS EC2 to build cluster

Paragraph image 00 00@2x

Crypto-Currency

Github

- Introduction: A decentralized crypto- currency network, which allows users to mine the transaction and showing the status of every blocks. 

- Design Front-end with React
- Design BlockChain system from scratch
- Using Redis Pub/Sub to implement p2p network
- Using POW to prevent 51% attack 
- Chain system with OOP 
- Using RESTful Api to allow communication in the network 
- Coding style follow eslint 
Paragraph image 02 00@2x

Stock Market Info

Github


- Introduction: The project is at the second sprint, expecting to implement transaction feature and transfer website to micro-service in sprint 3 which is naming into stockapi-micro


- Design Front-end with React 

- Restful Api structure 

- Using JWT to protect routes 

- Using Redis to implement Black List.

Paragraph image 02 00@2x

Open Source



- A SDK package which allows you to send POST request via Newebpay API to implement third party cash flow and it's Typescript supported.

Beautiful Logger

- Are you tired of seeing a the logs where only have white output on your terminal. Then Beautiful Logger is your another option where you can log with different kind of mode types supporting different kinds of colors output. Beautiful Logger also supports cloud storage with NoSQL where you can choose MongoDB or Redis so far, at the next version it might adding DynamoDB and ELK supporting.

EDUCATION

ALPHA Camp Full stack Bootcamp                                                                     Feb 2019 - Feb 2020

National Taiwan Ocean University Bachelor of Transportation Science       Sep 2012 - Jun 2015