Open to backend and platform roles

Rajat
Sharma

I build the systems behind the screen: multi-tenant SaaS on Kubernetes at IBM, and event-driven services on Kafka and Cassandra.

📍 Toronto, OntarioGitHub ↗LinkedIn ↗
guest@rajatjc: ~
❯
500K+Kafka events a day under watch by a monitor I built
65%lower lookup latency after a Cassandra schema redesign
10+production Kubernetes clusters shipped to with GitOps
3 µsper write in lsm-kv, my storage engine (JMH)

01 · about

Reliable systems, measured results.

Rajat Sharma
Toronto, ON

I'm a software developer at IBM in Markham, on Maximo Small SaaS: a multi-tenant platform that runs Maximo Manage for many customers on Kubernetes and OpenShift. Day to day I write Go and Python services, Helm charts, Terraform and GitOps pipelines, and the tools our SREs use to see the health of every tenant.

Before that I spent a year and a half on IBM Envizi, building Java and Spring Boot microservices on Kafka and Cassandra for ESG reporting.

I care about systems that fail safely, APIs that are hard to misuse, and numbers that prove a change worked. Outside work I build things to understand them, like a storage engine and a toy bank, and I solve problems on LeetCode and CodeChef.

At work

Tenant lifecycle, identity (OIDC) and SRE tooling for Maximo SaaS at IBM.

Building

lsm-kv, an LSM-tree key-value store in Java 21 with a live web UI.

Shipping

Loonie Ledger, a demo neobank, one service at a time on GitHub.

2022 – 2024 · MontrealMaster of Applied Computer Science

Concordia University · GPA 3.6 / 4.3 · Golden Key Scholar

2017 – 2021 · New DelhiB.Tech, Information Technology

Guru Gobind Singh Indraprastha University · GPA 3.9 / 4.3

02 · projects

Things I've built to understand them.

Two projects you can play with right here, plus a game that's live on its own domain. Each demo is a small model of the real system, running in your browser.

lsm-kv

A log-structured merge-tree key-value store, built from scratch in Java 21. It's the storage design behind Cassandra, RocksDB and LevelDB.

3 µsper write (JMH)
17×cheaper lookups for missing keys, thanks to Bloom filters
  • CRC-checked write-ahead log with crash recovery. Replay stops cleanly at a torn tail.
  • Memory-mapped SSTables with sparse indexes and Bloom filters, plus size-tiered compaction through a streaming k-way merge.
  • Dependency-free HTTP API on virtual threads, with a live UI that shows flushes, compactions and pods being replaced in Kubernetes.
  • Java 21
  • Gradle
  • JUnit
  • JMH
  • Docker
  • Kubernetes
try it: a tiny lsm-kvruns in your browser
write-ahead log1 record
PUT grape=2
memtable (sorted, in memory)1/4
grape=2···
sstables on disk, newest firstcompacts at 4
SST-2 · 4 keys
apple=4date=1olive=8plum=9
SST-1 · 4 keys
apple=3fig=5kiwi=7mango=12
Try PUT, GET or DELETE. Four writes fill the memtable.

Loonie LedgerPublishing now

A demo Canadian neobank: three services in three languages that never call each other. Every transfer is checked for fraud and compliance before any money moves.

  • Java and Spring Boot payments service with a double-entry ledger and a transactional outbox, so no event is ever lost.
  • Python fraud scoring and Node.js compliance consume Redis Streams consumer groups: at-least-once delivery, idempotent handlers.
  • SHA-256 hash-chained audit log, and a browser ops console that runs kubectl, redis-cli and psql against the live system.
  • Java 21
  • Spring Boot
  • Python
  • FastAPI
  • TypeScript
  • Redis Streams
  • PostgreSQL
  • Kubernetes
try it: send moneysame rules as the real services
paymentsJava · holds funds
streamRedis · outbox event
fraudPython · scores 0–100
complianceNode · FINTRAC-style

Pick a scenario. Each transfer is held, checked by two independent services, then settled or sent for review.

Happy Peeler

A free browser game. A blade sweeps across the board, and you tap to shave strips off fruit, vegetables, gadgets and planets. Clear every bit of skin in five peels or fewer.

  • Fruit, gadgets, stickers and planets, all drawn on a 2D canvas with Path2D, at five motion levels from still to wild. No framework or game engine.
  • Each run is scored by counting the skin pixels left on the canvas, so the result matches exactly what the player sees.
  • Worldwide rankings on Cloudflare Pages Functions and D1. Finish times are stored only as counts per 100 ms bucket, so every run is ranked without keeping anything about the player.
  • JavaScript
  • Canvas 2D
  • Web Audio
  • Cloudflare Pages
  • Cloudflare D1
  • SQL
happypeeler.comTap a screen to play that item

Earlier work

03 · experience

Six years of backend work.

From telecom network management to ESG reporting to multi-tenant SaaS. Pick a role to see what I did there.

Software Developer @ IBM

Maximo Small SaaS · Apr 2026 – Present · Markham, ON

  • Build and run a multi-tenant Maximo Manage-as-a-Service platform on Kubernetes and OpenShift, across 19 container images and 11 Helm charts, with every change gated by Helm tests and Tekton pipelines.
  • Re-keyed tenant identifiers so tenants can migrate between tenant groups, and automated Db2 setup on Amazon RDS with stored procedures, removing hand-run steps from provisioning.
  • Built a Go tenant-health API and a Next.js SRE dashboard linked to Instana, Loki and Grafana, so SREs can see provisioning, deletion and stuck tenants in one place.
  • Closed SQL-injection paths in a Python helper, added secret scanning, patched Go dependency CVEs, and wrote Terraform for AWS accounts with PR-driven Atlantis plans.
  • Go
  • Python
  • Kubernetes
  • OpenShift
  • Helm
  • Tekton
  • Argo CD
  • Terraform
  • AWS
  • Db2
  • Next.js

04 · skills

What I work with.

Tools I've used in production or in the projects above.

Languages

  • Java
  • Go
  • Python
  • TypeScript
  • SQL
  • Scala
  • C++
  • Bash

Backend

  • Spring Boot
  • FastAPI
  • Flask
  • Node.js
  • REST
  • Kafka
  • Redis Streams

Data

  • Cassandra
  • PostgreSQL
  • Db2
  • MySQL
  • MongoDB
  • Redis
  • DynamoDB

Platform

  • Kubernetes
  • OpenShift
  • Docker
  • Helm
  • Argo CD
  • Tekton
  • Terraform
  • AWS
  • GitHub Actions

Observability

  • OpenTelemetry
  • Instana
  • Grafana
  • Loki
  • OIDC / OAuth

Testing

  • JUnit
  • JMH
  • Testcontainers
  • Pytest
  • Jest
  • Cypress

Competitive programming & awards

05 · contact

Let's build something reliable.

I'm open to backend and platform roles in Toronto or remote. Email is the fastest way to reach me, and LinkedIn works too.

Say hello ↗