2025 — 2026
Tech Lead · Walmart Global Tech
LLM agents in production
Two agents shipped on top of the platform: a triage agent that reads on-call tickets, retrieves similar resolutions and runbooks, and safely closes the ~30% that never needed an engineer, and a sprint-report agent leadership reads every week. Before either touched real data I built the RBAC layer that made pointing a model at production safe. The model drafts, the code decides.
PythonRAGMilvusEvaluation harnessesMCP
2024 — 2025
Tech Lead · Walmart Global Tech
The identifier migration
Led the deprecation of a legacy customer identifier across petabyte-scale datasets and three partner teams over four quarters, with zero data-quality regressions. Risk-scored sequencing, shadow-mode parity validation at every stage, four engineers on independent tracks, two of them mentored to promotion.
Technical leadershipSparkScalaData contracts
2023 — 2024
Senior Software Engineer · Walmart Global Tech
Hive to Iceberg, without a big bang
Architected the petabyte-scale table format migration: parallel tables with dual-write, hidden partitioning, consumer-by-consumer cutover with rollback until the last team moved. 64% runtime reduction, and schema evolution unblocked downstream. Alongside it, $100K a month of cloud compute removed, then another 15% with serverless Spark.
Apache IcebergSparkHiveGCP Dataproc
2021 — 2023
Senior Software Engineer · Walmart Global Tech
A petabyte-scale signals platform
Owned the Scala and Spark pipeline that turns billions of search, cart and purchase signals into the datasets three consumer teams run ad targeting, audience segmentation and ML measurement on. Re-architected the critical batch jobs for a 90% runtime cut and moved three high-traffic Ads APIs to async flows for 67% lower p95.
ScalaSparkKafkaAirflowBigQuery
2020 — 2021
Software Development Engineer · AWS
Billing you cannot get wrong
Event-driven Java services on Lambda, Step Functions and DynamoDB processing enterprise billing data, plus a validation library other teams adopted to stop invalid account relationships reaching invoices. Idempotent consumers everywhere: you cannot process money one and a half times.
JavaLambdaStep FunctionsDynamoDBSQS/SNS