I care about performance, but also about the people who have to read the code.

I’m a software engineer with a background in low-latency trading systems, backend infrastructure, and data-intensive platforms.

At IMC Trading, I worked on the Exchange Connectivity team, keeping ultra-low-latency market-data systems running across all the exchanges IMC trades on. Most of my day-to-day involved modern C++ and Java, tight SLAs, and making changes to systems that can’t really afford to go down.

Before that, I studied Software Engineering at Western University and worked with the Royal Bank of Canada on a capstone project, building a platform to analyze community profiles and forecast merchant transaction volume using real banking data. That pulled me into large-scale data processing, Spark, and machine learning workflows.

On the side, I’ve spent a few years building tools for events and communities—like a mobile app for a science outreach festival—because I enjoy taking abstract systems skills and putting them in front of real users.

These days, I’m most interested in work that sits at the intersection of systems, performance, and clean abstractions: low-latency infrastructure, market connectivity, high-throughput services, and backend systems where design choices actually matter.

What I’ve been working on.

Software Engineer · IMC Trading

Exchange Connectivity · Chicago, IL

Aug 2022 → Mar 2024

I worked on the Exchange Connectivity team, building and maintaining low-latency, high-throughput market-data systems in C++ and Java that supported all exchanges IMC trades on.

  • Upgraded the NASDAQ PHLX market-data feed from TOPO (BBO-only) to Depth (full-depth order book), implementing new C++ feed handlers and Java processing stages directly from protocol specifications. The new pipeline reduced message-processing latency and improved throughput across downstream consumers.
  • Collaborated with a researcher to add a research-critical signal to IMC’s internal market-data protocol. Designed a backward-compatible, extensible schema and implemented C++ and Java components to encode, transport, and consume the new field across multiple latency-sensitive services.
  • Led design reviews and coordinated a staged rollout that allowed existing consumers to migrate at their own pace, without breaking production.
  • Integrated a new exchange into IMC’s latest connectivity infrastructure using modern C++ template abstractions to factor out shared FIX session-management logic, keeping venue-specific code small, expressive, and zero-overhead at runtime.

Software Engineer · Royal Bank of Canada

Capstone Project

Sept 2020 → Apr 2021

For my capstone, I worked with RBC on a system to forecast merchant transaction volume and analyze community profiles using real RBC banking data.

  • Built a web-based analytics platform with a Flask backend, processing 1.5+ TB/day of transaction data using Apache Spark, Python, and SQL on Linux-based infrastructure.
  • Designed and trained regression models (Decision Tree Regressors) that combined demographics, business metadata, and financial activity to forecast demand for merchants.
  • Used agglomerative clustering to group dissemination areas (DAs), enabling more accurate predictions and more interpretable segments for stakeholders.

Software Engineer & Technology Committee Lead · Science Rendezvous @ Western University

National Science Outreach Festival

May 2018 → May 2022

Science Rendezvous is a national science outreach festival. At Western, I helped build the first dedicated mobile app for the event and later led the technology side of the program.

  • Co-developed the first mobile app for a Science Rendezvous event in Canada using the MERN stack (MongoDB, Express.js, React.js, Node.js).
  • Shipped features like venue maps, stand discovery, scheduling, and push notifications for 2,000+ attendees, with 300–500 downloads on event day.
  • Volunteered over four years, progressing to Program Committee Lead and founding the Technology Committee to formalize and grow the tech side of the event.

Selected work.

Market-Data Protocol Extension · IMC Trading

Extending an internal market-data protocol to carry a new research-critical signal.

I designed a backward-compatible, extensible protocol change and implemented C++ and Java components to encode, decode, and propagate the new field across multiple latency-sensitive services. The rollout involved coordinating with several teams, running design reviews, and staging deployments so existing consumers could migrate without disruption.

Tech: C++17/20 · Java · low-latency services · internal market-data protocol

NASDAQ PHLX Depth Feed Upgrade

Upgrading from TOPO (BBO-only) to a full-depth order-book feed.

I implemented new C++ feed handlers and Java processing stages directly from protocol specifications, focusing on reducing per-message latency and ensuring high throughput. The integration was designed to be safe for downstream consumers that depended on strict SLAs.

Tech: C++17/20 · Java · exchange connectivity · market data feeds · performance tuning

Community Demand Forecasting Platform · RBC

Analytics and forecasting for merchant transaction volumes using real banking data.

I built the backend in Flask, designed Spark jobs to process 1.5+ TB/day of transaction data, and implemented models that combined demographics, business metadata, and financial activity. Clustering was used to group regions into interpretable, data-driven segments.

Tech: Python · Flask · Apache Spark · SQL · Decision Tree Regressors · Linux

Science Rendezvous Event App

A mobile-friendly web app to help visitors navigate a large science festival.

I worked on a MERN-based stack, implementing navigation and scheduling features and wiring up push notifications so attendees could find stands, plan their day, and get real-time updates during the event.

Tech: MongoDB · Express.js · React.js · Node.js · web app deployment

Things I’m good at.

Languages

C++17/20 Java Python SQL TypeScript JavaScript HTML5 CSS3

Systems & Infrastructure

Linux Git Bash Docker Kubernetes CI/CD CMake Bazel TCP/UDP

Backend & Data

Flask Node.js Express.js REST APIs Apache Spark

I’m most comfortable in modern C++ and Java for latency-sensitive systems, and Python/Spark for data-heavy workloads and tooling.

Where I studied.

B.Eng. in Software Engineering · Western University

Sept 2017 → Apr 2021 · GPA: 3.6 / 4.0

Relevant coursework: Algorithms & Data Structures · Operating Systems · Software Design · Software Testing · Cloud Computing · Machine Learning & Design · Database Management Systems · Web Technologies · Information Security

Let’s talk.

If you’re working on low-latency systems, market connectivity, backend infrastructure, or data-heavy platforms and think I could help, I’d be happy to chat.

I’m open to roles where performance, reliability, and system design are first-class concerns.