Changkwon Jeong
What drives me is achieving many accomplishments. I feel a great sense of achievement, when I solve a problem whether, it be big or small, especially when it is my idea that can solve the problem.
I am constantly self-motivated and I am not afraid to speak up about my ideas on problem solving and it is with this mindset with which, I approach my co-workers and present to them, my ideas and solve problems.
I enjoy tapping into my analytical skills. I am good at thinking of solutions under pressure which is helpful when working with others in a team, as I am flexible to work with.
I work well with others and always find a way to incorporate everyone’s ideas into a plan when looking for solutions as I believe, that having a happy harmony amongst a team s the key to achieving success in a company.
As a backend engineer for 7 years, I developed and operated advertising systems in the marketing domain team of an e-commerce company. Recently, I processed over 200 million catalog data for external display advertising and price comparison services.
I also have experience in automating human-managed keyword ads in keyword advertising systems and scaling to 6 million keywords. I have developed and operated systems in the marketing domain with a focus on business growth.
- Contact: +8210-4303-4979
- Email: spearkkp@gmail.com
- Github: https://github.com/spearkkk
Work Experience
Coupang(Display Advertising Platform)
Senior Backend Engineer (2020.01. ~ Present)
Skills: Spring Framework(Springboot), Flink, Spark, MySQL, Cassandra
Improvement of Display Advertising System
The Display Advertising System is the system that is in charge of our off-site advertising and external price comparison sites. It is responsible for integrating our internal data, including our internal catalog, performance, and audience, with external vendors. From the initial MVP system to more recently, I've designed, expanded, and improved the system as the business has grown.
- Processed all of the company's internal catalogs, integrating up to 200 million catalogs with 10+ external vendors
- Introduced near-real-time catalog data processing to improve ad quality by leveraging internal and external data from Coupang
- Expanded the system built with Spring Batch with MySQL to Spark Application to improve performance
- Developed and operated back-office to set up flexible reusability for various external company requirements
- Core Project: Improving Display Advertising System
The existing system was storing catalog data in MySQL storage. The system was storing relatively large catalog data as denormalized JSON values, and the system performed many update and delete operations in near-real-time processing.
However, due to the size of each row of data and frequent update and delete operations, the system was generating a lot of fragments, which was adversely affecting storage performance.
To solve this problem, I collaborated with the database engineer and then applied the MyRocks engine, which significantly improved performance.
After learning about the MyRocks engine, I sought to understand its core principles, and then proceeded to change the storage to Cassandra, which has a similar internal structure to the MyRocks engine. The system has been running stably since the storage change.
Marketing Catalog System Reorganization
This is a migration system that makes catalogs managed by other domains available to the advertising domain. As the business grew, we reorganized the system accordingly. We built the marketing catalog system from MySQL initially to Elasticsearch and recently to Cassandra.
- Utilized Flink application to receive Kafka events to store the catalog in real time, processing about 700K/min data.
- Over 3 billion catalog data stored in a system reorganization from MySQL to Elasticsearch and Elasticsearch to Cassandra
- Core Project: Rebuilding the Marketing Catalog System
After changing the storage of the marketing catalog from MySQL to Elasticsearch, System gained the flexibility to store unstructured data and faster read performance. However, as the business grew, the data increased, and this created secondary problems.
As the data grew, we needed to adjust the number of shards we initially set up, which required reindexing the entire data each time. In particular, during disaster recovery testing, when certain nodes in Elasticsearch died and came back to be alive, data shard redistribution was not automatic.
Also, key-based read operations were not performing at the desired level.
To solve these issues, I rebuilt our marketing catalog system with Cassandra. With addressing issues such as the inability to use secondary indexes and the inability to perform range lookups, I changed storage from Elasticsearch to Cassandra.
Coupang(Advertising Channel)
Software Engineer (2017.01. ~ 2019.12.)
Skills: Spring Framework, MySQL
Keyword Search Ad System
The Keyword Search Ad System is a system that generates, validates, and bids on keywords for off-site advertising and interfaces with external advertising companies. Participated in the initial MVP system design, development and operation.
- Extract and generate meaningful keywords from catalog or internal search keywords
- Repriced bids and validated landing pages based on keyword performance on a daily basis
- Scaled to 6 million external search ad keywords through automated system
ETC
CAREER
- 2020.01. ~ Present: Senior Back-end Engineer, Display Advertising Platform Dept. in Coupang: What is Coupang?
- 2017.01. ~ 2019.12.: Back-end Engineer, Advertising Channel Dept. in Coupang
Education
- 2011.03. ~ 2017.02.: Bachelor of Science in Computer Science and Engineering, Kyung-Hee Univ.