Hi, my name is Ray

I will make a self-introduction here, and after this section, it's all about skills.

I am enamoured with learning, not coding specific, but it seems that coding is the wellspring of knowledge and skills that I could learn and use day by day without worrying using them up.

I don't write side projects every day. However, I run my own blog, and I believe sharing makes me learn deeper.

https://raycodingjourney.medium.com/


I use Anki every day.

https://reurl.cc/6go0eb


I make schedules daily. I'm good at self-management.

https://tn710617.github.io/schedule/


My English level may not be as good as an interpreter, but it's enough for conversation. 

https://photos.app.goo.gl/kFsJi1JGgX3J5qrq5


Backend Developer
Country, TW
[email protected]

Skills

Laravel: 
I'm quite familiar with Laravel with several years of experience of developing.
  • I know the structure and type that Laravel provides, such as collection, model, query builder, etc. And format and get needed data by those methods those structures provide.
  • How to avoid N plus 1 efficiency issue
  • How to prevent race condition.
MySQL: 

I know the basics of indexes, such as: 

- Use compound index instead of multiple indexes
- Understand how binlog, redo log, undo log, and MVCC work, also the difference between different Isolation levels
GCP: 
I have experience of several GCP services, such as Compute Engine, Load Balancer, Cloud DNS, etc.

I have experience on managing multiple Compute Engine servers, also built a Load Balancer

Also, I was certificated by QwikLab. Please refer to Certificate Section

AWS: 
I have experience on several AWS services, such as EC2, SES, SQS, RDS, and Route 53
CI/CD: 
I have experience on building auto CI/CD deployment on several projects with GitLab CI/CD Runner.

Also, use Envoyer to deploy Laravel project

LNMP: 
I have experience of building environment and deployment with Linux, Nginx, MySQL, and PHP. I know how to make nodes more secure. For example, set a specific group for specific project, and only related services would have accesses to that project.
Docker: 
I have experience of containers. I know how to write a Docker image, and how containers communicate with each other, also with host.
I have experience of deployment with Laradock

I have experience of Kubernetes

Payment gateway: 
I have experience of Paypal and Allpay on my side project
Language ability: 
Native of Chinese, and fluent in English

Experiences

Senior Backend Engineer

ESTIGINTO  •  Mar 2021 - Present

  • I use raw query & CTE to replace MySQL ST_DISTANCE function to reduce response time from 1s to 30~50 ms.
  • I use proper lock to prevent race condition.
  • I use Queue to implement time-consuming feature, like email sending.
  • I manually modify Laradock php-worker image to make it support MSSQL.
  • I save sensitive photos on private store only allowed to be accessed via server side rending guarded by authentication.
  • Optimise the project deployment to reduce 100% CPU usage to 40%.
  • Add index to some high response time query from 2s to 200ms.

Technical consultant

SEIC  •  Nov 2020 - Present

  • Provide APIs supporting inserting multiple rows at once, and update on duplicated rows.
  • Provide APIs to asynchronously export DB's data to CSV file, and make sure OOM won't occur due to large data.
  • Build a zero-down time deployment and emergent rollback feature with Envoyer.

Backend Developer

QINFRA  •  Apr 2019 - Nov 2019

  • Optimise API, the bill was decreased by 70%, and the cycle time was reduced from 30 minutes to 10 seconds.
  • Build up logs managing mechanism to periodically compress and delete.
  • Build up node health check mechanism, and report the situation via email & Slack.
  • Use Load Balancer on the existing product to increase availability.
  • Build different servers, such as SFTP, FTP, WebDAV, NFS server, per requirement.



Backend Developer

Good Ideas Studio  •  Jul 2018 - 2020 Nov

  • Good Ideas Studio is the biggest IT community in southern Taiwan. There are so many remote developers there, including frontend, backend, iOS, Android, and also designers. 

Side Projects


Facebook Live Stream Selling System

A side project made with friends among different ends, turning typical trend of +1+1 in the Facebook live stream to orders in database and pay with Payment gateway afterwards

https://github.com/tn710617/FacebookOptimizedLiveStreamSellingSystem


Echoss VIP

A service integrated with LINE bot.
There are three kinds of user. An admin could manage many brands, and a brand could manage many users. Each brand has its own user scope.


Bilingual Blog

I run my own bilingual blog, and record my learning every day

https://tn710617.github.io/



Directory Cleaner

Delete items in a specific directory, supporting fuzzy search, extension search. https://github.com/tn710617/cleanDirectory/blob/master/README.md



Community Activities

GDG Taichung


In two days, we need to think and complete a service using the GCP.

IThome


It requires to write an IT related article each day for 30 days. My subject is Git.

Good Ideas Hackathon


In three days, we have to complete an application per specific requirements.

Powered by CakeResumePowered by CakeResume