Backend Engineer — Payments & Distributed Systems
I build the systems that tell you your money moved.
4+ years building event-driven, fault-tolerant backend systems for fintech and payments at scale. Sole owner of Paytm's Payment Gateway Notification Service — real-time SMS, WhatsApp, email, push, and merchant webhook delivery across payment, refund, settlement, and subscription lifecycles for merchants including Flipkart, Ola, DMRC, Jio, DLF, BPCL, Shopify, and Wix. Previously built payment orchestration and an ISO 8583 bridge for national payment rails across 14+ African markets.
merchant webhook times out once, retries, succeeds — this is the part of the job nobody sees.
- 4+
- years in payments infra
- 300+
- TPS across 14+ African markets
- 70+
- merchant integrations owned
- 5M+
- daily transactions, zero data loss
Work
Two companies, one continent-spanning obsession with making sure payments don't silently fail.
Senior Software Engineer
Aug 2025 — PresentPaytm Payments Services · One97 Communications
Noida, India
Sole backend owner of the Payment Gateway Notification Service — the system standing between every payment event and the merchant, bank, or customer who needs to know about it.
- Own Communication Gateway, Notification Queue Handler, Template Engine, and Scheduler end-to-end — no handoff, no second on-call.
- Unified two parallel notification codebases (OCL & PPSL) into one deployable stack with fallback-on-retry-exhaustion and explicit loop prevention.
- Migrated bank-form availability checks from Redis polling to Redis Pub/Sub, cutting latency in the live payment callback path.
- Onboarded 70+ merchants — Yes Bank, IDFC, DMRC, BPCL, Jio, Shopify, Wix — each with its own signing scheme, retry ladder, and failure mode.
- Remediated SAST-flagged SSRF, weak-hashing, and hardcoded-secret findings; moved credentials into HashiCorp Vault.
Software Engineer
Jan 2022 — Aug 2025Airtel International LLP · Airtel Africa Digital Labs
Gurugram, India
Built payment orchestration and API gateway services processing Bill Pay, P2P, and voucher transactions across 14+ African markets — including a bridge into a national financial switch that still speaks a protocol from 1987.
- Scaled core payment microservices to 300+ TPS across 14+ African markets using Spring State Machine for transaction lifecycle orchestration.
- Shipped payment flows into the Rwanda National Digital Payment System, contributing to 27% user growth on the platform.
- Built a jPOS-based bridge translating REST to ISO 8583 for Zambia's National Financial Switch — commended by the Bankers Association of Zambia for reducing transaction failure rates.
- Added per-partner mutual-TLS support to the gateway's HTTP client layer after finding a multi-tenant keystore bug that could silently present the wrong merchant's certificate.
- Reworked retry and correction logic on Kafka + Redis (Rqueue) to process 5M+ daily transactions with zero data loss during downstream outages.
Case studies
Five real incidents, written up like postmortems, not resume bullets.
Pulled from actual commit history and production systems — a multi-tenant TLS bug, a bridge into a 1987 financial protocol, and the failure modes you only find once something is running at scale.
Playground
Three toys, all grounded in things I've actually shipped.
Not demos of frameworks — small working implementations of the exact primitives payments infrastructure runs on.
About
I didn't plan on payments. I stayed because of the failure modes.
I landed in backend engineering the way most people do — it was where the first offer was — and landed in payments the same way. What kept me here wasn't the domain, it was the category of problem: systems where "it usually works" isn't good enough, because the thing on the other end of a failed retry is someone's money.
I'm currently the sole backend owner of Paytm's Payment Gateway Notification Service — every SMS, WhatsApp message, email, push notification, and merchant webhook for payment, refund, settlement, and subscription events flows through something I built or maintain. That's honestly more high-pressure than it sounds on a resume: there's no second engineer to page, no committee to spread an incident across. If it breaks at 3am, I'm the one who finds out why.
Outside of production dashboards, I lift. It's the other place I've learned that progress is mostly about consistency under load and not skipping the boring reps — which, it turns out, is also just good advice for running a payments system.
click the card to flip it — back has the CVV & expiry
Contact
Send an event, not just an email.
This form publishes a real contact.message.created event straight to my inbox — no form-builder middleman.
event preview
{
"type": "contact.message.created",
"topic": "portfolio.contact",
"from": "…",
"replyTo": "…",
"body": "…"
}POST /api/contact → Resend → adsingh.net@gmail.com