AVAILABLE JANUARY 2027 — FULL-TIME ROLES

Building infrastructurefor finance

CS Graduate student at Northeastern. Studying distributed systems and low-latency markets, working toward the front-office engineering that powers a trading desk.

Previously: SWE Co-op at Morgan Stanley, working on fixed income portfolio & trading infrastructure.

40.7513°N · 73.9786°W, NEW YORK, NY
[01]About

I build the unglamorous systems that move money around at scale.

Most of my work is the cloud and backend infrastructure behind the trade — order books, message buses, settlement pipelines. The parts where latency and correctness both matter, and a wrong number costs real money.

I'm most interested in the boundary between distributed systems and financial markets: how exchanges stay deterministic under chaos, how risk gets computed in real time, why event-sourced ledgers tend to win over time.

FocusDistributed systems · Low-latency markets
StackAWS · Kafka · C# · Java · React
Looking forFull-time SWE roles, starting January 2027

The stack behind
the things I build

C#
Java
JavaScript
Kotlin
Python
TypeScript
Apache Kafka
Apache Camel
HTML
CSS
Stripe
React.js
Spring Boot
Angular
Node.js
.NET
SonarQube
DynamoDB
MS SQL Server
Oracle
PostgreSQL
MongoDB
Redis
AWS
GCP
Docker
Terraform
Kubernetes
GitHub
GitHub Copilot
Claude
Postman
[03]Selected work

Four projects that taught me the most. Each one solved a specific technical problem — picked over many because the constraint was interesting, not the surface area.

01

Limit Order Book

Solo build · Trading infra
2026

A matching engine fronted by a FIX 4.4 gateway. Sustains ~40k orders per second and replays any session deterministically off its Kafka event log.

  • Java
  • Spring Boot
  • FIX 4.4
  • Kafka
02

Yield Curve Visualizer

Coursework · Quantitative finance
2025

Real-time treasury curve dashboard fed by Treasury Direct auction results. Bootstraps zero-coupon curves and animates the term structure as rates shift intraday.

  • TypeScript
  • D3
  • WebSockets
  • Treasury Direct
03

Payments Reconciler

Co-op project · Fintech
2025

Ledger reconciliation service that matched 14M daily transactions against three external providers. Camel routes normalize each provider's format before the match; state lands in DynamoDB. Cut manual reconciliation from 6h to 4 minutes.

  • Apache Camel
  • DynamoDB
  • PostgreSQL
  • AWS
04

Backtest Sandbox

Solo build · Personal infra
2024

Event-driven backtesting framework for equity strategies. Replays tick data through pluggable strategy modules; outputs PnL, drawdown, Sharpe. The whole replay cluster stands up from Terraform, so a run is one command.

  • C#
  • .NET 8
  • Terraform
  • S3
[04]Featured case study

A counterparty lookup that traders had given up on.

My co-op project at Morgan Stanley. Counterparty lookups were taking 40 to 60 seconds because five active accounts were monopolizing the DynamoDB partitions. Three changes to the live table dropped that to 130 milliseconds. The historical workload moved off Dynamo entirely.

MANIFEST
StackAWS DynamoDB · Lambda · EventBridge · S3 · Glue (PySpark ETL, Crawler, Catalog) · Athena · Apache Camel · Kafka · Parquet · FIX
My roleSole owner — partitioning redesign, normalization model, end-to-end analytics pipeline
Scale~365GB historical backfill · ~60K offers/day post-normalization
FIX engine feeding DynamoDB partitions, with the JPM partition running hot while the rest sit idle
01Problem
Counterparty lookups took a minute.
The table looked fine.
PMs waited 40 to 60 seconds per counterparty to pull tax-harvest swap candidates. Aggregate DynamoDB metrics
looked healthy, so nothing flagged the real cause. Counterparty was effectively the partition key,
and five active accounts saturated their partitions while the rest of the table sat idle.
FIX engine feeding DynamoDB partitions, with the JPM partition running hot while the rest sit idle
01Problem

Counterparty lookups took a minute. The table looked fine.

PMs waited 40 to 60 seconds per counterparty to pull tax-harvest swap candidates. Aggregate DynamoDB metrics looked healthy, so nothing flagged the real cause. Counterparty was effectively the partition key, and five active accounts saturated their partitions while the rest of the table sat idle.

LIVE TIERhot path · point lookupsbroker feeds2M writes/dayAmazon DynamoDB1 record / CUSIPPK → broker (primary) + CUSIPGSIs → other access patternsprice changes appended in a lifecycle arrayHISTORICAL TIERcold path · analytical SQL (full scans)daily incremental export→ Parquet · after market closeAmazon S3Parquet · by datecrawlAWS GlueData CatalogqueryAmazon AthenaSQL over history
02Approach

Two storage tiers. Live and historical stopped fighting.

Kept DynamoDB for the live intraday path: resharded on a synthetic partition key, normalized to one record per CUSIP — 2M writes a day collapsed to 60K — and added targeted GSIs for the queries the layout missed. Moved historical analytics off Dynamo entirely: Parquet on S3, partitioned by date, cataloged in Glue, read by Athena.

SERVICE LAYERbackward compatibleDATABASE LAYERforward compatiblewritesreadswritesreadsbackfillOffer Data Servicev1+v2endpointsOffersoriginal schemaOffers-Livenew schema
03Hard parts

Nothing downstream could switch on the same day.

Other teams read this through an API and re-point on their own release schedules, so the cutover could not be a single switch. Both tables took writes for 30 days while reads moved consumer by consumer, and the old endpoint stayed up behind them the whole time.

Migration Stateone item per date partition185 / 365 GB donependingin flightdonefaileddone / failednext pendingLambdadispatchtriggersraw · gzAWS GlueconsolidatesAmazon S3Parquet · by dateOffersoriginal schema
04Hard parts

The market doesn't close for a schema change.

Running 365GB as a single job means any failure restarts from zero. Glue handled the transform, Lambda dispatched one date partition at a time, and a control table tracked each partition — pending, in flight, done. Deterministic keys made a re-run overwrite rather than duplicate, so a failed partition cost one partition.

AWS architecture diagram
05Result

300× faster reads. 33× fewer writes. Throttling gone.

Counterparty fetch went from 40-60 seconds to 130 milliseconds — a 300× speedup. Daily write volume dropped from 2 million records to 60 thousand after normalization. Historical queries that used to take minutes now return in under 5 seconds cold, around 25 milliseconds hot, with zero load on the live trading path.

[05]Experience

A short trail. More signal in the work above than in titles, but here's the shape.

Jul 2025 — Jan 2026New York, NY
  1. Software Engineer Co-op

    Jul 2025 — Jan 2026

    Designed and maintained real-time fixed income market offers data service infrastructure for the buy-side desk, building FIX ingestion and Kafka streaming pipelines into DynamoDB alongside AWS archival ETL workflows.

Nov 2020 — Jun 2024
  1. Senior Software Engineer

    Feb 2023 — Jun 2024

    Led the engineering team for an enterprise-grade distributed computing platform, orchestrating heavy AI/ML and advanced workloads across heterogeneous cloud environments. Architected and shipped a foundational Function-as-a-Service (FaaS) capability, allowing data scientists to instantly deploy Python functions as live, auto-scaling microservice APIs.

  2. Software Engineer

    May 2021 — Jan 2023

    Led an on-premises engagement for a Houston, TX-based energy infrastructure solutions provider, driving efforts to scale and modernize their software platform. Built customizable, cross-platform, and responsive web applications optimized for mobile and desktop using ReactJS, Electron, NodeJS, and .NET Core, backed by SQL Server and SQLite databases.

  3. Associate Software Engineer

    Nov 2020 — Apr 2021

    Built REST APIs using MVC architecture and SQL Server databases while developing foundational web development skills across HTML5, CSS3, JavaScript, C#, and the .NET Framework.

[06]Education

The paper trail. Two degrees, one continent change, and a steady pull toward software.

2026
Expected Dec

Master of Science in Computer Software Engineering

Northeastern University · Boston, MA

Graduate coursework across systems, data, and the web — building the foundation under the work above.

  • Web Design
  • Database Management
  • Java — Object-Oriented Programming
  • Program Structures & Algorithms
  • Network Structures & Cloud Computing
2020
Sep 2016 — May 2020

Bachelor of Technology in Aerospace Engineering

Amrita University · Coimbatore, India

Where the pull toward aerodynamics and aviation started. Project work focused on optimizing F1 car's inverted front wing for turbulent wake flow and ground effect — tuning the geometry to generate downforce for increased traction.

[07]Contact

Let'stalk.

Looking for a full-time role starting January 2027. Open to chatting about trading infrastructure, exchanges, or anywhere systems meet markets.

SCROLL