Nitesh Shantha Kumar

ResumeSoftware EngineerSeattle, WA

Nitesh Shantha Kumar

Technical lead for Nordstrom’s clearance and promotions platform. I build event-driven systems on Kafka and PostgreSQL, measure before I change anything, and write down the alternative I didn’t pick.

Now
Software EngineerNordstrom · Pricing & Promotions · Aug 2021 – present
Owns
Tech leadClearance & promotions platform · REST + Kafka ingestion · 4 engineers
Proof
1,000 → 10msP99 redemption latency, now handling 10× the concurrency

Read this first

  • Technical lead for a clearance and promotions platform — REST + Kafka ingestion, four engineers building in parallel.
  • Measure before designing: production baselines, architecture decision records, shadow-mode parity checks before every cutover.
  • Fast, quantified incident work: PostgreSQL CPU 100% → <10% within 24 hours; a 20K-item backlog root-caused in 1h18m.
  • Agentic tooling: an incident-investigation plugin with 10 skills and 7 subagents, now extended by other engineers.
01

Impact at a glance

Production numbers, before and after. Click a row for the story behind it.

02

Experience

Each line is a short case study. Open one for the full detail, or pick a skill below to see where I used it.

Nordstrom

Seattle, WA Software Engineer — Pricing and Promotions PlatformAug 2021 – Present

Technical lead for a clearance & promotions platformTwo ingestion paths plus a business-user app, split so four engineers could build in parallel.4 engineers

Technical lead for a clearance and promotions platform with two ingestion paths — a synchronous REST API and an asynchronous Kafka consumer — plus a business-user application. I decomposed delivery into dependency-mapped worktracks so four engineers could build in parallel, and owned design review and integration across them.

REST API designKafka consumersDesign review
Legacy Oracle + Airflow → Kafka, with zero downstream changesTransactional outbox, shadow-mode parity check, split feature flags, tiered rollback.0 consumer changes

Migrated clearance and end-of-lifecycle event publishing off a legacy Oracle and Airflow pipeline onto Kafka using a transactional outbox with confirmed-flush acknowledgement. It published to the existing topics with identical schemas, so downstream consumers needed zero configuration changes.

Cutover was gated on a production shadow-mode parity check behind split feature flags, with tiered rollback covering named failure scenarios. See Fig B.

Transactional outboxOracleFeature flagsShadow mode
Replacing ~28,000 blocking calls a day with a compacted topicBaselined production first; three ADRs, each naming the rejected alternative.3 ADRs

Designed the replacement of ~28,000 blocking per-clearance product-service calls a day with a log-compacted Kafka topic consumed into a local read store, keeping the upstream service as a permanent fallback on a miss.

Before designing, I baselined production latency and error rate: 32ms average, p99 199ms, 0.05% errors across 197,579 calls. I wrote three architecture decision records, each naming the rejected alternative and the constraint behind it.

Log compactionRead storeADRs
Async batch over synchronous fan-out, rate-limited on purpose2K clearances/min against a 10-minute SLA, to protect upstream services.2.5× load tested

Chose asynchronous batch processing over synchronous downstream calls, then rate-limited to 2K clearances/min against a 10-minute SLA. That protects the upstream inventory, pricing and conflict services even with 5× headroom. Load tested to 2.5× the production limit.

Rate limitingJMeterCapacity planning
A ~20,000-clearance backlog, root-caused in 1h18mContainment first, then the structural fix, then an RCA with five causal chains.14 follow-ups

The job loaded the entire queue each cycle against an upstream service that resolved ~7 records/sec, with per-request batching unavailable — a hard ceiling of about 350 rows per 50-second cycle. Try the numbers in Fig C.

I shipped bounded batching as containment, then per-call timeouts and commit-and-continue resilience as the structural fix, and published an RCA with five causal chains and 14 prioritised follow-ups.

Root-cause analysisTimeoutsBatching
PostgreSQL CPU from 100% to under 10% in 24 hours5.6B sequential row reads, zero index scans — one COALESCE on a view’s join keys.82,460 → 13

Traced 5.6B sequential row reads with zero index scans to a COALESCE that blocked index use on a view’s join keys. Before proposing the fix, I proved the keys were never null and that row output was identical (EXPLAIN cost 82,460 → 13; rows scanned 7.5M → 3).

The fix removed the need for a proposed user-facing restriction.

EXPLAINIndexingSQL
Promotion redemption limits as one atomic operationValidation and counter increment together, so race conditions can’t exceed a limit.P99 1,000 → 10ms

Redesigned promotion redemption limit enforcement as a single atomic database operation that combines validation and counter increment, eliminating limit violations caused by race conditions. P99 redemption latency dropped from 1,000ms to 10ms, with support for 10× concurrency.

ConcurrencyAtomicity
An agentic incident-investigation toolkitAn installable plugin that runs triage across Slack, New Relic, GitHub, Confluence, ServiceNow and Jira.10 skills · 7 agents

Built and published an installable plugin with 10 skills and 7 subagents that automates incident triage across Slack, New Relic, GitHub, Confluence, ServiceNow and Jira, backed by 36 structured root-cause documents. Another engineer has since extended it in a 1,557-line pull request.

AgentsSkillsDeveloper tooling
An alerting programme that can actually fireStarted after two incidents where monitoring looked healthy but couldn’t alert.7 of 9 live

Built the platform alerting programme after two incidents where monitoring looked healthy but could not fire: 11 category pages that pair every alert condition with concrete triage steps. 7 of the 9 proposed alerts are now live in production.

New RelicSplunkOn-call
Fig B · Event publishing, before → afterAll steps
Transactional outbox migration The legacy Oracle and Airflow pipeline is replaced. The service writes business state and an outbox row in one transaction; a relay publishes to the existing Kafka topics with confirmed-flush acknowledgement; downstream consumers are unchanged. A shadow-mode parity check gates cutover. Oracle Airflow legacy path — retired Pricing svc DB transactionstate + outbox row Relayconfirmed flush Kafkasame topics Consumers0 changes Shadow-mode parity check · split feature flags tiered rollback for named failure scenarios
FIG B — Transactional outbox migration. Step through it to see the order the pieces went in.
Fig C · Why the backlog grewBack-of-envelope
Ceiling per cycle350 rows
Share of queue per cycle1.8%
Time to drain at ceiling48 min
FIG C — Loading the whole queue each cycle can’t beat rate × cycle length. Defaults match the incident: ~7 records/s × 50s ≈ 350 rows.

Ak Aerotek

Bengaluru, India Software EngineerMay 2016 – May 2019
  • Verification and validation of safety-critical avionics software to DO-178B/C, writing Ada test harnesses and running them against target hardware.
  • Led a team of 6 through code and audit reviews, cutting the delivery defect rate by 90%.
03

How I work

Habits that show up in the work above.

  1. Baseline before designing.Production latency, error rate and volume come first — 197,579 calls measured before touching the product-service path.
  2. Write down the road not taken.Every ADR names the rejected alternative and the constraint that ruled it out.
  3. Prove parity before cutover.Shadow mode in production, split feature flags, and rollback tiers mapped to named failures.
  4. Contain first, then fix the structure.Bounded batching stopped the bleeding; timeouts and commit-and-continue stopped it recurring.
  5. Prove a fix is safe, not just fast.The keys were shown to be never null and the output identical before the index fix shipped.
  6. Alerts ship with triage steps.An alert nobody knows how to act on is only half an alert.
04

Skills

Skills marked jump to the experience where I used them.

Languages

JavaPythonSQLC++

Distributed systems

AvroLog compactionConfluent Cloud RESTful APIsService-oriented architecture

Data

OracleDynamoDBNeo4jRedis / Valkey (ElastiCache)

Cloud & operations

AWS (EKS, S3, RDS, Aurora)KubernetesDockerNew RelicSplunkJMeterFlyway

AI & tooling

MCPLangGraph
05

Projects

Open-source work on GitHub, from agentic developer tools to robotics.

All repositories on GitHub ↗

06

Education

M.S., Engineering Sciences (Robotics) — University at Buffalo, NY

2019 – 2021

Graduate Research Assistant in the LANDR Lab, working on autonomous-vehicle perception and sensor fusion.

B.E., Electronics & Communication — Visvesvaraya Technological University, India

2011 – 2015

Let’s talk systems, agents, and the engineering between them.

Email is the best way to reach me.

© 2026 Nitesh Shantha Kumar · Static page on GitHub Pages, no build step.