Chicago, IL | Software Engineering Intern | Sept 2019 – Dec 2019
• Explored using actor model with C++ to exhibit linear scalable threading model.
• Explored best practices to parallelize message consumption from Kafka. Able to linearly scale
the throughput with respect to the number of logic cores on a CPU.
• Improved stability and reliability of a real-time monitoring system.
Seattle, WA | Software Engineering Intern | May 2019 – August 2019
- Knative: https://cloud.google.com/knative/ , CloudRun: https://cloud.google.com/run/
- Contributed to the development of knative, an open-sourced Kubernetes-based platform to build, deploy, and manage modern serverless workloads, under Google Cloud Platform.
- Researched and experimented various open source SSL/TLS management such as cert-manager with knative to automatically acquire and issue SSL/TLS certificates to enable HTTPS access.
- Designed, implemented and tested in-house certificate manager that is compliant with RFC 8555 (Automatic Certificate Management Environment) to automate HTTPS access.
- Communicated between stakeholders to exchange ideas, status and conflicts. Helped to facilitate progress and advocate project features.
San Francisco, CA | Storage Engineering Intern | Sept 2018 – Dec 2018
- Implemented a database schema migration mechanism with Python, GitHub's Online Schema Transmogrifier (gh-ost) and Consul service discovery on a Vitess cluster.
- The new process allows complete control such as throttling, pausing and terminating while running the migration. It made possible to execute ALTER statements on large databases over thousands of shards without downtime or significant performance impact.
- Modified and deployed Chef Cookbooks for new provision requirements on production servers.
Toronto, ON | Infrastructure Engineering Intern | Jan 2018 – April 2018
- Designed and implemented a microservice architecture to migrate on-premise platform as a service to Kubernetes orchestration.
- Improved the server performance by doubling the requests handled per second with Nginx as the load balancer. Utilized Openresty to embed business logic that validates HTTP requests with Lua scripts in Nginx. Deployed Nginx as a Kubernetes Ingress.
- Designed a CI/CD pipeline architecture. Created scripts to automate packaging solutions with Helm Chart. Rolled out updates with blue-green deployment strategy and provisioned new Kubernetes namespaces for integration tests.
BDO Canada LLP
Toronto, ON | Software Engineering Intern | May 2017 – Aug 2017
- Designed and implemented performance-critical software with PaaS architecture using ASP.NET, C#, Azure, and Angular. Utilized over 130 SQL databases, Azure Service Bus and Azure Key Vault to ensure always-on encryption and data independence.
- Improved search efficiency through memory caching and indexing. Simplified search expression and optimized LINQ expression.
- Performed penetration testing with SQLMap and ZAP with reference to OWASP Top 10 Projects.
- Prepared a comprehensive report outlining security vulnerabilities and recommended solutions. Implemented CSRF attack prevention with an anti-forgery token.
Bluejay Networks Inc.
Toronto, ON | Software Engineering Intern | Sept 2016 – Dec 2016
- Implemented a cross-platform mobile application using Cordova, Ionic and AngularJS. Planned, prepared and executed agile sprints and scrums with colleagues.
- Developed a backwards compatible REST API using Java EE, Hibernate, Spring MVC, Maven and MySQL.
- Planned, prepared and executed agile sprints and scrums with colleagues.
University of British Columbia
Vancouver, BC | High school Coop | March 2014
- Collaborated and brainstormed an iOS application with an immunology professor for a community project. Drafted UI mock-ups and navigation transitions.
- Designed user interface, logics and models. Implemented with Objective-C in XCode. Applied multithreading to provide a smoother user experience.
University of Waterloo | Undergraduate
- Class of 2020
- 3.8 GPA | Honored | Digital Hardware Option
- Awards: President’s Scholarship of Distinction, Term Dean’s Honors List
- Related Class: Real-time Programming, Operating System, Networks, Distributed System, Data Structure and Algorithm
Microkernel | Real-time Train Controller
- Designed and implemented microkernel with a teammate using C 99 and ARM32 from scratch.
- The microkernel minimizes kernel time while providing core functionalities such as context switch, process scheduling, heap, IPC, interrupts, serial port I/O, kernel/userspace separation, stack allocation/reclaim, and system call interface.
- Executed and analyzed performance testing on IPC to ensure the worst 30-microsecond guarantee for all sensible payload size.
- Implemented user-level processes that control the Marklin Trains through a serial port with UART protocol. Programs can process sensor attribution with worst 10-millisecond latency guarantee.
- The processes are structured in notifier, server, worker and actuator architecture that exhibits anthropomorphic programming principle and holds deterministic latency.
- The controller calibrates proactively based on predicted and real positions and velocities to find the best path to avoid collisions.