Ooopdhgxmh0fof21jcyp

HsiangHao Kang   

Senior Backend Developer
城市,TW
[email protected]

+886 9300-18522

Education


Taiwan University of Science and Technology(MS)Information management & Computer Vision Lab, Sep 2012 ~ July 2014


National Kaohsiung University of Applied Sciences(BS)Electronic Engineering, Sep 2008 ~ Jul 2012

Skill


Web Application:

Java/J2EE, Spring Boot, Spring5

SQL: MySQL, PostgreSQL, MongoDB
MessageQueue: RabbitMQ


Others: Docker, Jenkins, JUnit5, Spring Batch, Microservices, JMeter

TOEIC Listening & Reading Test ( Sept. 2019) 

 740 , Listening: 415 , Reading: 325   

Experience

Rakuten Group, Inc, Senior Backend Developer                                                                    July 2021 ~Present

Develop and maintain Item and shipment APIs (Item/Product/Inventory/Category/ImageResources/Shipping/FamilyMart/..)  and handle DevOps for Rakuten Taiwan projects, collaborating with team members from Japan, China, and India.  

FileManagement API object storage and DB migration
  • Refactor and migrate the file management api from File storage and NAS to object storage.
  • Develop the file migration tool with a thread pool to simultaneously migrate over 3 terabytes of files for all of
    Rakuten TW's shops.
  • Initiate and conduct a discussion with the System Engineer and Backend leader to formulate a comprehensive plan for the database/files migration process, ensuring minimal downtime and zero data loss.
  • Implement and plan the stress test with JMeter.
FamilyMart B2C project
  • FamilyMartB2C as a new shipment option on the Rakuten e-commerce platform that empowers merchants to ship batches of products to distribution centers, ensuring faster delivery process for top merchants to ship their products.
  • Design and implement a new Batch service for the new shipping method FamilyMart B2C in the Rakuten EC platform. 
    • Download files from FamilyMart's FTP server to update the shipping and order status on the Rakuten platform.
  • Implement the deployment script for the Jenkins pipeline.
  • Implement integration and unit tests to achieve a coverage rate of over 80% for quality assurance. 
Resolve the database deadlock issue related to delete and re-insert operations
  • Utilized SHOW ENGINE INNODB STATUS to analyze the database lock status for the READ COMMITTED transaction isolation level.
Shopping cart-revamp project
  • Developed the new version Cart-API (Java and MySQL) to replace the legacy API (Ruby on Rails and NoSQL).
  • Developed the Point handler business logic to calculate the Rakuten Super Point and shopper's Point Campaign.  
Search Engine Feed project
  • Develop the new version Search Engine Feed API (Java) to replace the legacy API (Ruby on Rails)
    • Transform the data format from the relational database to search engine when the client updates shop/product/campaign information.
    • Implement a full-shop feed to query all items within shops on the Rakuten platform in order to rebuild the search engine index.
    • Implement a local cache for categories using a doubly tree data structure and read/write locks to retrieve tree paths instead of making repeated calls to the category API.
    • Conduct a code review for colleagues and develop unit tests to achieve a test coverage rate of over 80% to ensure software quality.
Global Open-API data migration from MongoDB to MySQL
  • Developed data migration tool with spring-batch-partitioner
    • Migrated 4 million records using multi-threading to reduce the processing time to approximately one-tenth of the original time (from 70 minutes to 7 minutes).
  • Replaced the database from MongoDB with MySQL to speed up the API response time to reach 400 QPS.

InSynerger Technology Co., Ltd., Senior Backend Developer.,                        July 2018 ~ March 2021

Designed and implemented the SHARP Thailand IoT platform
  • System Analysis and Design for SHARP Thailand's IoT application. 
  • Designed and implemented work order dispatch system and web-based production line dashboard application. 
Designed and implemented a more light way Rule Engine System to replace the legacy system and Drools APIs
  • Designed and implemented a Rule Engine using the Interpreter Pattern with postfix expressions and the Easy Rules library. 
  • Resolved a hierarchical and/or logic expression using stack data structure.
    • Example: [(deviceA’s power > 100) and (deviceB’s current > 10)] or (deviceC’s voltage > 10).
Developed and maintained the streetlight IoT platform for Kaohsiung and Taoyuan city with 40000+ IoT devices
Developed a new Backend API to replace the legacy system from MVC Frameworks to pure APIs
  • Reduced the number of database queries by over 50% compared to the legacy system.

PChome & Skype, Linktel Inc., Backend Developer,                                       Aug 2016 ~ Nov 2017

  • Developed and maintained the Skype official site purchase system.
  • Refactored ten microservices of the Skype official site purchase system from Struts2 to Spring Boot.

ARPlanet Digital Technology Co.,Ltd., Backend Developer,                          Oct 2015 ~ Aug 2016

  • Developed an image retrieval API for a mobile Augmented Reality app.