Ethan (Po Han) Lin                                                            Backend Developer

Self-driven and enthusiastic with learning new technologies, I thrive in cooperating with people and growing with my team. 


  https://github.com/ethan510010    [email protected]   +886 933312718

Techniques

Backend


  • Golang / Gin
  • Microservice
  • Node.js / Express
  • Reverse Proxy: Nginx
  • SSL
  • DNS
  • Design Pattern: MVC, DAO

Front-End


  • HTML
  • CSS
  • Javascript
  • AJAX

Certificate


  • Redis Labs: RU 101
  • MongoDB University: M001
  • MongoDB University: M103
  • MongoDB University: M121

Database & Cloud Service


  • PostgreSQL
  • MySQL
  • MongoDB
  • Redis
  • AWS EC2 / S3 / CloudFront / RDS / ElastiCache / ELB / Route 53 

CI / CD


  • Jenkins
  • Docker
  • Fastlane (iOS)

Tools


  • GORM
  • gRPC, protocol buffers
  • MQ system
  • DB Migration / Seeding: Knex
  • Unit Test: Jest, Testify
  • Loading Test: Artillery, Vegeta 
  • Version Control: Git / GitHub / Bitbucket / GitLab
  • PM2
  • Automation: Python / Selenium

Experience

17 Live, Backend Engineer

2020/12 ~ now

  • Establish an internal web tool with Golang and MongoDB
  • Help to separate logs related api for an independent microservice

Elive Media and Streaming Entertainment (Lang Live), Backend Engineer

2020/08 ~ 2020/12

  • Delivered product features with Golang
  • Implemented Microservices with gRPC and protocol buffers
  • Using Redis pub/sub feature to manage socket connection

AppWorks School, Web Class Trainee

2019/11 ~ 2020/04

  • Completed personal project Chatvas, an instant translation messaging platform with collaborative draw canvas and screen sharing video call feature within 5 weeks
  • Completed assigned e-commerce project STYLiSH with complete business features within 3 weeks

91APP, iOS Developer

2018/08 ~ 2019/10

  • Delivered a B2B project InStorePortal - A customer management system with 1,000+ business users
  • Established a solid understanding of MVVM-based design pattern


Portfolio


Chatvas

A project for users speaking different languages to communicate with each other by auto-translation, collaborative drawing canvas and screen sharing feature

https://github.com/ethan510010/Chatvas

  • Used Socket.IO and Canvas for instant messaging and drawing features
  • Implemented WebRTC for screen sharing feature with peer.js and peerServer
  • Accessed Google Translation API for message translations
  • Uploaded images to AWS S3 with AWS-SDK
  • Saved history messages in MySQL and optimized performance using Indexes
  • Used Transactions to ensure data consistency 
  • Cached messages with Redis to enhance the loading performance of pages
  • Established a paging system with MySQL and Redis
  • Implemented Facebook Login feature
  • Verified user accounts by sending emails through nodemailer
  • Performed loading tests with Artillery
  • Used Unit test / integration test with Jest and supertest
  • Implemented CI / CD with Jenkins, GitHub Webhooks and Docker 
  • Used AWS CloudFront to enhance the loading performance of images


STYLiSH

An e-commerce website for purchasing clothes and accessories


https://github.com/ethan510010/STYLiSH

  • Built RESTful APIs for front-end integration
  • Increased server throughput with AWS ELB and tested response rate with Artillery
  • Integrated TapPay SDK for payment flow to implement checkout feature
  • Applied Route 53 as DNS solution to bind domain and server ip
  • Uploaded commodity images to AWS S3 with multer-s3
  • Constructed a web server with AWS EC2
  • Optimized database schema to 3NF to decrease data repeatability