Ivan Yeung
Email: *********@*****.***
Phone: 650-***-****
Address: **** ******** ****, **********, ** 94608
LinkedIn: linkedin.com/in/hon-ming-yeung-413bb9161 Nationality: United States
Objective
Seasoned Senior Software Engineer with extensive experience in software analysis, design, and development. Specializing in Java, Go, Spring Boot, microservices, and cloud technologies. Seeking a challenging role to utilize my expertise in Java, Spring boot, Spring Kafka, Spring JDBC, Spring MVC, Spring JPA, MySQL, Hive, Singlestore, Oracle, Elastic Search, Redis, AWS EC2, AWS S3, Apache Airflow, Temporal, Meltano, Python, Intellij, JMeters, Jenkins, Bazel, Json, Junit, JPMS, Apache Maven, JIRA, Go, Grpc, ProtoBuf to drive innovation and efficiency in software solutions.
Professional Experience
Principal Software Engineer 6sense/Fortella(San Francisco) July 2019 – Present
● Led the backend development of 6QA Analytics/Funnel Analytics/Segment Performance Report, designing and implementing core components including Spring Controllers, Spring Repositories, and dynamic query generation for seamless data retrieval and processing.
● Managed all Java projects using Apache Maven, ensuring efficient build management, dependency resolution, and integration with CI/CD pipelines for seamless deployment and updates. Implemented Java Platform Module System (JPMS) to modularize the codebase, improving encapsulation, reducing runtime dependencies, and enhancing maintainability across multiple services.
● Led the development of migrating data pipeline to Temporal/Meltano in Go.
● Led the migration of Python-based microservices to Go, gRPC, and Protocol Buffers
(ProtoBuf), modernizing the service architecture to improve performance, scalability, and maintainability. Implemented binary serialization using Protocol Buffers to efficiently serialize data for gRPC communication, significantly reducing data size and improving transmission speed between services.
● Designed and implemented a Pipeline Microservice utilizing the Java Concurrency Framework to enhance the parallel execution of independent analytics queries and batch updates, achieving significant performance improvements in data processing. Leveraged ExecutorService to manage a thread pool, allowing for efficient task scheduling and execution of multiple queries in parallel, improving overall throughput and reducing latency for analytics workloads.
● Led the development of ETL processes for 6QA Analytics, Funnel Analytics, and Segment Performance Reports, automating the extraction of Salesforce data from Hive, MySQL, and S2 tables. Utilized PySpark for complex data transformations, including pre-computed columns like activities momentum, and funnel stage advancement. Streamlined the workflow and scheduling with Apache Airflow to ensure efficient data processing and automation.
● Led the effort of writing and tuning complex SQL queries in MySQL, Trino, and SingleStore to enhance performance and expedite results. - Designed and managed relational and NoSQL databases, ensuring optimal data structures and efficient access patterns.
● Led the development of an asynchronous pre-computation process to regularly update complex calculations and store results in a distributed Redis cache, significantly improving the performance of live queries.
● Led Data Optimization Initiative - the implementation of a checksum column and incremental data tracking, significantly enhancing the deduplication process. Reduced the total number of rows processed by optimizing data retrieval, saving substantial time and resources and allowing for more efficient data management.
● Led the design and implementation of a dynamic feature authorization layer using AspectJ and Togglz, enabling flexible and granular control over feature access and toggling.
● Led Test-Driven Development (TDD) initiatives by writing comprehensive JUnit tests and Spring integration tests, ensuring high code quality and reliability.
● Created detailed REST API documentation using Swagger, ensuring clear communication between the backend and frontend teams. - Defined API endpoints, request/response schemas, and authentication methods for RESTful services, using Swagger to auto-generate interactive documentation.
● Developed caching strategies in Redis to minimize database load, resulting in increased throughput during peak traffic. - Utilized Redis Pub/Sub for efficient communication between distributed nodes, enabling real-time data synchronization and event-driven architectures.
● Integrated with Spring Kafka to trigger data refresh events, ensuring timely updates to the cached computations in response to changes in the underlying data.
● Developed a time series strategy to identify and eliminate duplicate entries in data sets, resulting in a more efficient and streamlined data storage solution. - Achieved a reduction in Amazon S3 storage space utilization by over 95% through effective deduplication techniques and optimized data management practices.
● Founding Backend Engineer at Fortella: Spearheaded the development of key backend systems, including ingestion and rationalization of all marketing data, and building marketing data pipelines, revenue stage monitoring system using Java, Spring Boot, Elasticsearch, MongoDB, Spring JDBC, and Spring MVC. Senior Software Engineer Intercontinental Exchange (San Mateo) May 2014 – July 2019
● Re-engineered MERS System to Microservices in Java and Spring Boot: Led the modernization of the Mortgage Electronic Registration System (MERS), migrating the legacy Monolithic system to Microservices in Java, Spring Boot, Spring JDBC, and Spring MVC. The new system enhances loan tracking, servicing rights, and ownership transfers. Enabled seamless public access to mortgage information, supporting MERS's mission of streamlining mortgage-related processes by migrating the data to Elastic Search.
● Implemented Data Migration to Elasticsearch: Transferred all relevant data to Elasticsearch, enabling efficient fuzzy search capabilities and pagination. Optimized data indexing and retrieval processes to improve search performance and scalability.
● Developed Loan Auction Trading System: Designed and implemented a loan auction platform where banks and investment companies can bid on batches of loans in real-time. Integrated the system with internal banking payment networks to enable seamless cash transfers between selling and buying parties. Utilized Java, Spring Boot, Spring JDBC, and Spring MVC to build the platform, ensuring up-to-the-second bid price tracking and robust transaction handling.
Senior Software Engineer QuinStreet (San Mateo)
March 2011 – May 2014
● Led the development of QuinStreet’s Content Engine from draft, delivering content to thousands of Quinstreet’s websites. Designed and implemented search logic using Lucene, allowing for optimized content delivery based on website-specific keywords. The project utilized Java, Lucene, and Oracle 11 to build a high-performance content management system. Collaborated with cross-functional teams to ensure seamless integration of content across diverse platforms, improving user engagement and website performance.
● Responsible for performance tuning, query profiling, and optimizing the overall architecture to ensure system scalability and high performance. Senior Software Engineer Dorado (San Mateo)
March 2006 – March 2011
● Directed the design and development of the Dorado Loan Origination System for major banks, utilizing Java and Oracle 12.
● Integrated the Dorado Loan Origination System with several third-party services, including document processing APIs, credit card APIs, and credit bureaus, solving complex distributed systems challenges.
● Developed a Workflow Control System within ServiceMix, streamlining process management and enhancing overall operational efficiency. Senior Software Engineer eBay (Campbell, CA)
February 2005 – March 2006
● Developed eBay’s proprietary ORM framework, improving data persistence and retrieval, and streamlining database interactions across the platform. Senior Software Engineer GT Nexus (Alameda, CA)
May 2002 – February 2005
● Architected the GT Nexus Logistics Framework, enhancing logistics operations with Java and Oracle-based solutions.
Senior Software Engineer Infor (Emeryville, CA)
October 1999 – May 2002
● Led the development of an optimized Expense Management System using Java and Oracle, significantly improving expense tracking and resource management. Senior Software Engineer Sybase (Emeryville, CA) August 1994 – October 1999
● Developed an on-demand deadlock detection algorithm in C, enhancing system reliability by identifying and resolving concurrency issues.
● Contributed to SQL query parsing and Sybase Monitoring Server features in C, optimizing critical system components.
Education
Master of Science in Computer Science
University of Wisconsin-Madison, Madison, WI
Bachelor of Science in Electrical Engineering, Mathematics, and Computer Science University of Wisconsin-Madison, Madison, WI