Ray Chang
| Email: wtflink515@gmail.com | GitHub |
Professional Experience
Senior Backend Developer @ Appier
Mar 2022 - Mar 2024
- Handle business feature requests, task scheduling, requirement clarification, design, implement.
- Co-operate with teams on a monolithic repo to micro services re-architect.
- Bootstrap short url and server side tracking system.
- Connect 3rd party sms messaging system.
- Executed several POC project, including LLM feature, redis benchmark, 3rd party messaging vender.
Technical Team Lead @ YOCTOL.AI
May 2021 – Dec 2021
- Manage a flat tech team with around 5 developers which work partially remote, major duties are: task assignment, recruitment, interview and training.
- Operate the distributed system built upon Kubernetes, including: developing, versioning, debugging, deploying, monitoring the services.
- Independently migrated the system between Azure Kubernetes Service clusters, which contains 120 running pods and host services that serve 500 rpm in average, leveraging Kubernetes system and Velero to achieve a smooth migration.
- Document writing and organizing.
Software Developer @ YOCTOL.AI
May 2018 – May 2021
- Monitor PostgreSQL database operating performance, analyze and refine queries when bottleneck is located.
- Implement backend features using GraphQL, connecting databases, event brokers, and third party services.
- Be a maintainer of a distributed system, dig out errors and make things right.
- Implement integration and end-to-end tests, keep up the coverage.
- Connect both LINE and Facebook messenger chatbot based on project experience for our platform.
- Adopt new features from LINE and Facebook, and constantly improve user experience.
Chatbot Developer @ YOCTOL.AI
Nov 2017 – Dec 2019
- Built chatbot based on the Bottender framework, contribute to the framework on leisure time.
- Update and Maintain Yoctol Official customer servicing chatbot.
- Built a campaign chatbot which serves 60k requests during a 5 min period, the campaign is hosted by a Taiwanese leading telecom company.
- Built a customer servicing chatbot, serving both Line and Facebook platform for a Taiwanese leading telecom company.
- Built a NLU based customer servicing chatbot for Taiwanese major banking/insurance company.
- Built a dental customized chatbot content management system from scratch.
- Apply the above system on Kubernetes and made proper design of the mechanism.
Technical Experience
Side Projects
- usb-lab is a simple USB driver, which is mainly for my monitor built-in KVM feature, which can toggle through input source groups, allowing me switch through different device by simply submit a USB command. I found that there is no macOS version of the driver for the monitor. So I try to reverse engineer the monitor and get to know what is going on between the USB signals and the KVM feature. After all the work, I managed to develop a simple USB driver in Node.js, which is based on the libusb library.
Open Source
- Bottender aim to build a flexible framework, meanwhile provide elegant APIs supporting multiple messaging platforms. Initially, I joined this project as a framework user. As time went by, I grew along with the project and contributed in various ways, including: digging out business opportunities, refining developer experience, document writing, debugging, implementing new features. Learning different points of view by thinking differently is one of the most precious experiences contributing to this project.
Education
Bachelor’s degree, Computer Science and Information Engineering @ National Cheng Kung University (Tainan, Taiwan)
2011 – 2016
During my pursuit of the degree, I kept variety wide open. I took courses more than science and engineering, including religion, philosophy, psychology, social practice, social intervention. Putting theories and practice at equity, makes me a balanced all-rounder in most teams, and I do not fear any challenge.
Skills
- Proficient
- Node.js
- GraphQL
- PostgreSQL
- MongoDB
- Git & GitHub
- Debugging
- Familiar with
- Python
- Golang
- MySQL
- Redis
- RabbitMQ
- Kubernetes
- Prometheus & Grafana
- Testing
- AWS
- Azure
- Remote Collaboration
- SCRUM methodology
- Agile methodology
- Basic understanding
- React
- Apache Kafka