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. I believe that effort and attitude will broaden our horizon.


Techniques


Backend

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


Front-End

  • HTML
  • CSS
  • Javascript
  • AJAX


iOS

  • Swift & Objective-C
  • Design Pattern: MVC, MVVM
  • UIKit
  • GCD
  • Networking
  • Core Data


Database & Cloud Service

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


CI / CD

  • Jenkins
  • Docker
  • Fastlane (iOS)


Tools

  • DB ORM: GORM
  • Unit Test: Jest
  • Loading Test: Artillery
  • Version Control: Git / GitHub / Bitbucket
  • PM2
  • Lint Tool: ESLint
  • Automation: Python / Selenium 

Experience


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
  • 5 months solid backend developer training with basic front-end skill
  • Cooperated with Front-End, iOS and Android developers to develop new features based on STYLiSH project

91APP, iOS Engineer                                                                                                           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
  • Accessed Data for app from BFF with GraphQL
  • Established a auto apple developer portal sign in tool with Python / Selenium
  • Conducted CI / CD with Jenkins and Fastlane
  • Renew about 50% of the old project from Objective-C into Swift independently

Goodideas-Studio, iOS Camp Trainee                                                                            2017/11 ~  2018/07

  • Self-learning iOS developer with ability to complete iOS project independently

Formosa Petrochemical Corporation, Process Engineer                                            2016/07  ~ 2017/10

Master of Chemical Engineering, National Tsing Hua University (GPA 4.22)           2013/09 ~ 2015/06

Bachelor of Chemical Engineering, National Cheng Kung University                       2009/09 ~ 2013/06

                       2009/09 ~ 2013/06

Portfolio


Chatvas

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

  • 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 correctness 
  • 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 load tests with Artillery
  • Used Unit test / integration test with Jest and supertest
  • Implemented CI / CD with Jenkins, GitHub Webhook and Docker 
  • Used AWS CDN to enhance the loading performance of images

Paragraph image 00 00@2x

STYLiSH

An e-commerce website for purchasing clothes and accessories
  • Built RESTful APIs for front-end
  • Increased server throughput with AWS ELB and tested response rate by 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

Paragraph image 00 00@2x

InStorePortal

An iOS B2B app during my tenure as 91APP iOS engineer
  • A B2B customer management iPad app for salespeople to analyze customer shopping history and implement marketing and CRM campaigns accordingly
  • Used by 1,000+ retail business clients
  • Used third-party library Texture to layout complicated UI structure
  • Implemented MVVM and POP as the main design pattern for the project
  • Established CI / CD tools with Jenkins, Fastlane and other Ruby library
Paragraph image 00 00@2x
Powered by CakeResumePowered by CakeResume