Software Engineer · McGill 2028

Hamza
Khalfi

Currently at Citi · Toronto

Three consecutive internships building distributed systems in fintech at Citi, RBC, and Leap. I gravitate toward the parts of the stack where correctness and latency actually matter.

Hamza Khalfi

School

McGill SWE · 2028

Track record

Citi · RBC · Leap

Location

Montréal → Toronto

Always builder.

About

McGill Software Engineering (CO-OP). I build distributed systems and internal database tools.

I gravitate toward the parts of the stack most engineers skip over: how data moves, where latency hides, why things break under load. I care more about infrastructure correctness and clean data pipelines than shipping flashy features.

Off the clock: I lift weights five days a week, dragon boat competitively, and I'm in an ongoing grudge match with a 45-minute 10k (current PR: 48:00).

Hamza's dual-monitor engineering setup

Engineer

Stack

Java · Elixir · TypeScript

Domain

Distributed systems

Data pipelines · APIs

Obsession

Latency. Failure modes.

FoundationDB docs at 1am.

Hamza competing in dragon boat racing

Athlete

10k Running

GoalSub 45:00
Current PR48:00

Lifting

Per week4x

Running

Per week3x
Hamza building a robotics project

Builder

Currently

Distributed rate limiter

Go · no packages · sliding windows

Projects shipped5+
Languages used6+

Ethos

“Build it without the library first. You'll learn what the library actually does.”

Tools

LanguagesJava · Python · TypeScript · Elixir · C# · Bash
FrameworksSpring Boot · Node.js · .NET 8 · Phoenix · GraphQL
DataPostgreSQL · MongoDB · ClickHouse · SQL Server
InfraDocker · Kubernetes · OpenTelemetry · Spring Batch

Experience

Citi logo

Citi

● now

Toronto, ON · May Aug 2026

Spring Batch pipelines for critical financial dataset migration across legacy banking infrastructure.

3

legacy banking systems migrated

details
  • Built Spring Batch pipelines migrating critical datasets across legacy banking systems with zero data loss.
  • Developed RESTful APIs in JavaScript for secure data integration between internal microservices.
  • Optimized MongoDB and SQL queries, reducing API latency and improving load distribution.
Spring BatchSpring BootMongoDBSQL
RBC Capital Markets logo

RBC Capital Markets

Montreal, QC · Sept Dec 2025

Diagnosed and fixed a race condition in a state machine workflow used by 7,000+ employees.

30%

duplicate requests · 7 000+ employees

details
  • Built high-throughput Elixir/Phoenix endpoints integrating ClickHouse for real-time reconciliation.
  • Fixed a race condition in a Java 8 state machine used by 7,000+ employees, cut duplicate requests 30%.
  • Deployed a fault-tolerant SQL Server sync engine guaranteeing consistency across distributed clusters.
ElixirPhoenixClickHouseSQL Server
Leap Event Technology logo

Leap Event Technology

Montreal, QC · Jan Aug 2025

Rebuilt auth infrastructure for 20,000 daily users; cut dashboard query latency 10×.

10×

query speedup to 10x

details
  • Modernized SSO auth with Node.js and OIDC, scaling the gateway to 20K+ daily active users.
  • Optimized MongoDB aggregation pipelines, cutting dashboard query latency 90% (1.2s to 120ms).
  • Integrated OpenTelemetry distributed tracing across microservices, drastically improving MTTR.
Node.jsOIDCMongoDBOpenTelemetry

Projects

/01

OptiFund

Python · Pandas · SciPy · Matplotlib

Portfolio optimizer implementing Markowitz mean-variance analysis with algorithmic backtesting against real market data.

The hard part: making Sharpe ratio comparisons statistically sound across different time windows.

/02

ChatApp

Elixir · Phoenix · NATS · ClickHouse

Distributed real-time chat with NATS pub/sub fan-out and ClickHouse message persistence.

Built to understand how BEAM handles concurrency at the process level, not the library, the process.

/03

Applicate

Java · Spring Boot · PostgreSQL · GraphQL

Developer activity aggregator pulling from GitHub and LeetCode into a unified streak tracker.

Handled data normalization across two incompatible APIs and streak consistency logic spanning 365+ days.

/04

FFT vs DFT

Python · NumPy · SciPy

Empirical runtime comparison of Fast Fourier Transform versus naive DFT across input sizes.

The asymptotic gap becomes concrete around n = 1024.

/05

YelpyCamper

Node.js · Express · MongoDB

Full-stack campground platform with authentication, geocoded maps, image uploads, and role-based access control.

The project where you learn why input validation exists.

Right now

Current rabbit hole

Trading Strategies

Exploring quantitative finance, market microstructure, and systematic strategies. Most ideas don't survive historical data—which is exactly the point.

Reading

Designing Data-Intensive Applications

Kleppmann's chapter on replication lag landed differently after building the distributed SQL Server sync engine at RBC. Recommended.

Running — 10k goal

GoalSub 45:00
Current PR48:00
Gap3 minutes

Currently building

Goxy — Layer-4 TCP Proxy

Go. Standard `net` library only. Piping raw TCP sockets with concurrent goroutines and managing mutex-locked server pools, proving out OSI Layer 4 constraints without the abstractions.

Toronto local time──:──:──
Summit of Mt. Fuji

I love hiking

Mt. Fuji Summit · Japan