Ray Chang  (張毅瑞)

Golang Software Engineer

A Golang Backend Engineer
Enjoy open-source culture.It's better when it's shared.

  [email protected]

  Taiwan ,Taipei

 github.com/karta0898098

Work experience

Apr 2021 - Jun 2023

Golang Cloud Engineer  Tracmo Inc

1. Build an IoT backend system for the Amazon Smart Sticky Note Printer using serverless architecture

  • 20000 active device
  • Build high performance system (response<=400ms) using AWS Lambda, DynamoDB , IoT core, Memcached, S3
  • Build realtime metrics monitor by Influxdb and Grafana

2. Refactor the existing service with a new architecture, implementing the following changes:

  • Integrate clean architecture principles to enhance maintainability and scalability.
  • Integrate CodeBuild CI/CD into our development flow, such as deploy tools.
  • Optimize database queries by using Memcached  as a cache layer, reducing 30% RCU.
  • Import structured logging (zerolog , AWS X-Ray) , to enhance service observability.
  • Re-design lambda middleware and framework

3. Write unit testing and integrated testing

4. Design a highly concurrency IoT service and ETL (Extract-Transform-Load) system

  • 1000+ device online (per device IOPS : 0.17 KB/Sec)
  • Handle million data in 30 sec
  • Reduce data size and upload time by using Go channel 

5. Write Infrastructure as Code (IaC) to facilitate the management of cloud resources.

Nov 2020 - Mar 2021

Golang Backend Engineer   美商時豪科技股份有限公司

1. Planning microservice architecture on Kubernetes.

2. Design RESTful API using the golang echo framework.

3. Write unit testing and Integration testing

  • table driven, testify, ginkgo

4. Design infrastructure code with the following features

  • Design gRPC interceptor in Go
  • Import structured log library (zerolog)
  • Develop HTTP middleware in Go

5. Familiar with code review flow on gitlab

Jun 2020 - Oct 2020

Golang Software Engineer  Silkrode Technologies Co,Ltd.

1. Maintain and design gRPC service base on Kubernetes

  • using rancher , helm

2. Design a Code Generation Tool to automatically create domain entity CRUD (Create, Read, Update, Delete) and testing code

3. Design Restful API and using golang echo framework

4. Possess experience with GraphQL

5. Possess experience with MySQL / PostgreSQL databases.

6. Maintain the existing payment system

Apr 2019 - Jun 2020

Golang Software Engineer (Full-time)  法亞科技整合行銷

1. Develop a Restful API server using Go and C#.

2. Design an IoT system with WebSocket for device control.

3. Manage MySQL/MSSQL database

4. Design a code generation tool to improve development efficiency by automatically creating entity classes, unit testing, and basic CRUD implementation code.

5. Assist in redesigning the architecture with a modern web approach:

  • Introduce containerization (Docker) to reduce cloud resource usage.
  • Separate the front-end and back-end components.

Sep 2018 - Apr 2019

Unity Engineer (Part-Time)   法亞科技整合行銷

1. Develop an AR/VR application such as HTC Vive, HTC Focus, Facebook Oculus, and Apple AR Kit.

2. Create interactive applications using Unity.


Programming

Familiar with

 Go/C#/ C++ / Rust / JavaScript / Python




Skills

  • Microservice design
  • Cloud Native (AWS/GCP)
  • NoSQL (Redis/Memcached/Dynamodb)
  • MySQL / MSSQL
  • Domain Driven Design
  • Git & Git Flow
  • Distributed logging system (EFK/CloudWatch Logs)
  • InfluxDB
  • Familiar with unit testing & integration testing

Education

 Shih Hin University

Department of Digital Multimedia Arts

2015 - 2019

Project

Amazon Smart Sticky Note Printer 

Link: https://www.amazon.com/Smart-Sticky-Note-Printer-Works-with-Alexa/dp/B08SZ26WF9


In this project, I primarily developed the IoT backend system and real-time metrics.

Tracmo Care

Link: https://hitori-omamori.jp/


In this project, my responsibilities include designing the cloud system and implementing the ETL system.