Ankur GangwarOpen to SDE-2 backend roles

Ankur Gangwar

Java Backend Engineer · Project Engineer at C-DAC · Noida, India

I build backend systems where being wrong is expensive: wallets and ledgers, payment flows, log pipelines and AI services that fail safely.

4+ years building and owning production backend services, currently a Project Engineer at C-DAC Noida. Java and Spring Boot are my home ground, with PostgreSQL, Redis, MongoDB, Elasticsearch and message queues underneath.

What I work on

Money paths
Wallets, append-only ledgers, idempotent credits, payouts and reconciliation.
Pipelines
Queues with backpressure and dead letters, log ingestion, search and aggregation.
Applied AI
Grounded retrieval, streaming answers, providers behind swappable ports.
Quality
Tests against real databases, negative controls, retries that never hide bugs.

Selected work

Case studies

Systems I designed or built at C-DAC, each with a note on how I'd build it in Spring Boot. Client and product names are withheld; the engineering is not.

C-DAC Noida · 2026

Exactly-once rewards across three services

A watch-to-earn flow for a video platform: viewers earn coins for watching ads, coins land in a wallet, and wallets pay out to bank accounts. I own the design and the three backend services behind it.

  • One idempotent, bounded call is the only way money moves between services
  • Eight invariants, each enforced in exactly one place
  • Concurrency bugs reproduced against real Postgres and Redis before they were fixed
  • PostgreSQL
  • Redis
  • MongoDB
  • Job queues
  • Server-Sent Events
Read case study

C-DAC Noida · 2026

A grounded AI assistant with swappable providers

A streaming question-answering service for players on a gaming platform. It answers only from retrieved facts and says so when it cannot. I built the service end to end.

  • Session store, vector store and inference provider each changed vendor mid-project, without touching business logic
  • Refuses with a fixed sentence instead of guessing
  • Skips the query-rewrite model call on most turns with a zero-cost heuristic
  • Vector search
  • Llama 3.1
  • bge-m3 embeddings
  • Redis
  • Server-Sent Events
Read case study

C-DAC Noida · 2026

A platform backend with queue-backed workers

The backend for a web3 gaming platform: wallet sign-in, player profiles, social content, a marketplace, leaderboards and referrals, in one modular service.

  • Sign-In with Ethereum using one-time, server-issued nonces
  • Third-party and on-chain work moved off the request path onto queue workers
  • Referral abuse checks without storing raw IP addresses
  • MongoDB
  • Redis-compatible queues
  • EVM signatures
  • JWT
  • OpenAPI
Read case study

C-DAC Noida · Ongoing

A config-driven end-to-end test framework

A Java framework that runs UI journeys for more than one product and environment from configuration, seeds its data through APIs, and retries only failures that cannot be real bugs.

  • Application-agnostic core, one package per product
  • Retries limited to transient browser faults; assertions are never retried
  • Failures reported as plain sentences with a screenshot
  • Java 21
  • Selenium
  • TestNG
  • WebDriverManager
  • ExtentReports
Read case study

Experience

Where I've worked

  1. Oct 2024 – Present

    Noida, India

    Project Engineer

    C-DAC (Centre for Development of Advanced Computing)

    • Designed and own a rewards wallet and ledger: an append-only Postgres ledger with a deterministic idempotency key per earning event, so retries, crashes and concurrent requests credit at most once, backed by a reconciliation sweep and a daily balance-drift check. Case study →
    • Built the ad campaign backend: campaign lifecycle, publishing gated by device-bound step-up authorization, presigned direct-to-storage uploads with queued transcoding, signed playback URLs and timezone-bucketed analytics.
    • Built the payments and payouts service: payment gateways behind one adapter interface, idempotent ledger entries, and a payout state machine that returns coins to the wallet when a payout fails.
    • Shipped a retrieval-augmented assistant on a ports-and-adapters design: answers grounded strictly in retrieved facts, swappable vector-store and inference providers, Redis session memory and streamed responses. Case study →
    • Delivered a modular platform backend covering wallet-signature sign-in, social content, marketplace orders, leaderboards and referrals, with third-party and on-chain work on queue-backed workers and referral abuse checks on hashed signup IPs. Case study →
    • Engineered a config-driven end-to-end test framework reused across products and environments, with thread-isolated browser sessions, API-seeded test data, and retries limited to transient faults so real defects are never masked. Case study →
  2. Jan 2023 – Oct 2024

    Mohali, India

    Project Engineer

    C-DAC (Centre for Development of Advanced Computing)

    • Implemented an S3 input source in Logstash for collecting client logs from object storage, with resumption that survives restarts without re-ingesting objects already processed.
    • Hardened Logstash grok and dissect parsers for multiple log formats: unparseable events go to a quarantine index instead of being dropped, and index templates declare field types at write time instead of letting the first source to arrive decide them.
    • Designed device-type partitions with time-based rollover for Elasticsearch log retention, so a device-scoped investigation searches one partition instead of every daily index in the retention window.
    • Designed an SQS-buffered aggregation layer for cross-center reports, so a report depends on one aggregated view instead of every center's cluster, with at-least-once delivery, consumer-driven backpressure and dead-letter isolation for poison batches.
  3. Jan 2022 – Jan 2023

    Bengaluru, India

    Software Development Engineer I

    Surya Fintech Pvt. Ltd.

    • Rebuilt a multi-file CSV correlation job to read each file once and look rows up through a hash index, instead of re-scanning a file for every row.
    • Wrote SQL joins across wide, many-column bank tables from the provided schemas to produce the required output datasets.
  4. 2017 – 2021

    B.Tech, Computer Science & Information Technology

    MJP Rohilkhand University, Bareilly

Products & open source

Things I build on my own

Released and maintained in my own time.

More on GitHub →

Java on GitHub

Writing

Notes on building things that have to be right

Skills

Tools I use in production

Languages
JavaSQL
Spring & APIs
Spring BootSpring Data JPASpring Data MongoDBSpring Cloud GatewaySpring KafkaRESTOpenAPIServer-Sent Events
Data & search
PostgreSQLMySQLMongoDBRedisElasticsearchVector search
Messaging & pipelines
Apache KafkaAWS SQSLogstashDead-letter queues
Cloud & build
AWS S3S3-compatible object storageDockerDocker ComposeMavenLinux
Testing & automation
SeleniumTestNGWebDriverManagerExtentReports

Contact

Hiring for a backend role?

I'm looking for SDE-2 backend roles at product companies. Email is the fastest way to reach me.