Profile 03 00@2x 0f8539d7f013fd11030f4f7a7b97caf8c2dc5732bc61cba71764f3365c568794

Johnny Chang

A devoted backend engineer who feeds on challenges with recent focus on API performance tuning. Likes to explore the everyday life, paying attention to the smallest details, in order to understand why and how stuff works. Developed multiple Django based websites, in both solo or cooperating fashion. Scored 985 on TOEIC and passed High-Intermediate level in GEPT as well. Avid basketball player and coffee lover.

Taipei,TW

0975392838
[email protected]

學經歷

National Dong Hwa University, Dep. of CSIE Sep. 2013 - Jun. 2017

  • Graduated with bachelor's degree.

Pi Mar. 2018 - May. 2019

  • Developed numerous websites using Django, Nginx, Redis, ELK and many others.
  • Ran and maintained distributed web scraping backend with Scrapy, Ansible, Apache Kafka and others.
  • Learned basic Linux operations, having used Arch Linux, Ubuntu in both production and development.
  • Learned how to use Docker, Docker-Compose to speed up development.

Unnotech Jun. 2019 - Present

  • Develop and maintain API backends using Django REST, with recent focus on optimizing slow endpoints.
  • Write codes that allow constant caching and flexible cache invalidation to reduce DB usage as much as possible by invalidating only the invalid parts of the cache instead of the whole endpoint response.
  • Created a microservice that's in charge of calculating info and storing them into DB for every user, every minute. The microservice now serves over 6000 active users flawlessly in production environment.

技能 


Django

Been using since 2018, familiar with ORM, Caching mechanism. Started using REST framework in 2019, understands ViewSets, Serializers, Filters, Permissions.


Scrapy

Used a lot in my first job. Deployed daemons on 10+ machines and ran distributed scraping with them. Scraped over a million web pages.


PostgreSQL

Have used both Google cloud SQL and a standalone installation on a Linux machine. Knows basic commands and queries. Used EXPLAIN a whole lot.



Kubernetes

Knows basic commands to check logs, run custom commands on a pod, see current resource usages...etc.