Summary
Overview
Work History
Education
Skills
Open Source and community Experience
Timeline
Generic

Daniel Lin

Senior Backend Engineer
Taipei,TPE

Summary

I am a passionate software engineer. My strength is the backend of the web application. I believe the ability to solve a problem is more important than the technology itself. Nevertheless, technology represents a way to think about issues, and I love to learn the mindset from this cutting-edge technology. On the other hand, I actively participate in SRE and frontend closely coworking, designing, and programming. Therefore, I know how to design a good backend in different aspects.

Overview

4
4
years of professional experience
4
4
years of post-secondary education

Work History

Senior Engineer

KKStream
Taipei, Taiwan
08.2021 - Current

- 2021/8 KKStream - Senior Backend Engineer
I focus on solving problems rapidly and integrating services in multiple product teams.
- Platform Service: Inducting the microservice framework and the software architecture. By leveraging the solution to the integration between application and infrastructure from the community, we could build robust microservice rapidly.
- Loom:
- Developing the backend of encoding CMS API
- Golang, AKS, and KEDA
- Moment: Building credit, payment, invoice function.
- Golang, ECS / Lambda / SQS
- Kaleido:
- Microservice redesign:
- mitigate unnecessary development costs by reducing communication overhead
- Golang, EKS, Git Ops using ArgoCD

Senior Engineer

KKTIX
Taipei City, Taiwan
04.2021 - 08.2022

Backend Engineer

KKBOX
Taipei, Taiwan
11.2018 - 04.2021

The product is in the stage of moving from monolithic architecture to microservice architecture. The best concurrency number in actual ticket selling events grew up to 300 thousand users online when I was there.
- Optimizing Performance
- Using Prometheus / ELK Finding performance issue.
- Using PGHero monitoring slow query and database performance
- Using flame graph to find the bottleneck, reducing 50% latency of verifying tickets process in the significant event.
- Reducing failure payment by migrating to the asynchronous transaction.
- Stress Testing
- Scaling a large number of robots, an internal tool using Terraform on GCP and Selenium and Redis distributed stress testing platform, on VMs to simulate real traffic from Taiwan to Tokyo.
- Backend Ruby on Rails / Golang
- Payment integration: Adyen, Newebpay, Apple Pay, Google Pay
- Credit system integration in a tremendous amount of traffic requirement
- Random captcha to block robots
- SMS verification
- Upgrade Ruby on Rails 4.2 to 5.2
- SRE / Dev Ops:
- Building Jenkins CI/CD pipeline
- Building logging pipeline
- Bumping version of Elastic Search from 1.7 to 5.X. Redesign index config and search query generation logic.
- Training Process:
- Using pair programming and TDD to speed up engineer onboarding.
- Sharing technique actively in team weekly.

Education

Bachelor of Science - Power Mechanical Engineering

National Tsinghua University
Taiwan
09.2013 - 01.2018

Skills

Golang: Gin / go-buffalo / go-kit / gorilla

undefined

Open Source and community Experience

  • AWS Community Builders. It's an AWS program to build community with the provided resource. I focus on sharing technical knowledge by writing articles and acquiring professional certification to enforce the impact.
  • Contribute PR to 5.9k stars open-source project: machinery is a Golang workflow framework to build asynchronous workers. https://github.com/RichardKnop/machinery/pull/712
  • The first place of HITCON malware playground: Using bash and Makefile to build an automatic scoring robot with different strategies avoids the process from being terminated by opponents. https://github.com/danie1Lin/Automation-Script-Malware-Playground-HITCON-2021
  • My side project: 80+ stars Online Game Server: I use Golang to build the backend, Unity to build the UI, and GRPC in communication between server and server, server and client, and deploying on self-managed K8S on AWS EC2. https://github.com/danie1Lin/Distributed-Golang-Game-Server
  • Test Corner Talk #29: How do we test in a small scrum team but with large-scaled traffic. Talking Internally only due to COVID-19

Timeline

Senior Engineer

KKStream
08.2021 - Current

Senior Engineer

KKTIX
04.2021 - 08.2022

Backend Engineer

KKBOX
11.2018 - 04.2021

Bachelor of Science - Power Mechanical Engineering

National Tsinghua University
09.2013 - 01.2018
Daniel LinSenior Backend Engineer