CHENNAI · FULLTIME
Senior Backend Engineer
GoCharting
Chennai · onsite · Posted 65d ago
Sourced from
Not disclosed6–10 yrsfulltimeChennai
About a minute. You'll make an account on the way through.
agent · working
- Read this posting0.8s
- Found the form on Instahyre · 5 questions to answer1.6s
- Decided the answers for all of them2.8s
- Tailor your résumé to this role
- Waiting for you
Section · 01
About this role
Responsibilities:
- Build the canonical billing and entitlement ledger design and implement an append-only, journals-as-truth Postgres schema (orders, signed payments ledger, dated entitlement grants, gap-free per-entity invoice numbering) where all state is a derived view and every entitlement traces to a paid order line.
- Own the full subscription lifecycle in code: purchase, renewal, resubscription, upgrade/downgrade/switch, proration, trials, cancellation, and lapse across both Stripe and Razorpay, ending the renewal/resubscription bugs that lose money and entitlements today.
- Build the gateway ingest pipeline: idempotent, replay-safe webhook handling for Stripe, Razorpay, and Apple notifications, normalized into the ledger with dead-letter handling and reconciliation that proves the gateway and our books agree every day.
- Handle the hard money paths: refunds, chargebacks/disputes, credits, and partial/zero-amount settlements, with signed lines that allocate the gateway-charged amount correctly and never double-count.
- Produce clean financial and entitlement data and the views that feed accounting close (revenue recognition, multi-entity GST/IGST and US tax, deferred revenue), exchange reporting (CME and Indian exchanges), and conversion/retention analytics.
- Own the user billing surface end-to-end: the user cabinet and checkout (TypeScript/Astro/React) where customers buy, upgrade, manage, and cancel so the experience and the ledger never disagree.
- Migrate the live business safely, backfill historical payments with documented confidence tiers, run the new system in parallel against the legacy CouchDB account model, prove reconciliation is clean, and then cut over read and write paths region by region.
Requirements:
- 6-10 years of backend engineering, with deep Go and strong relational data modeling and SQL; you design schemas that stay correct under concurrency and scale.
- You have built or rebuilt payments, subscriptions, and ledgers end-to-end: payment-gateway integration, idempotent webhooks, the subscription lifecycle (renewals, proration, upgrades, cancellation, and dunning), and refunds and disputes. This is the core of the job, not an adjacent skill.
- The full money-systems depth that surrounds a ledger is required, not optional: reconciliation (gateway books), revenue recognition and tax (e. g., GST/IGST, ASC 606 or equivalent), financial/exchange reporting, and event-sourced/append-only ledger design (journals-as-truth, derived state, signed entries).
- Experience building or owning a B2B product where billing and entitlement complexity is real (metering, plans/add-ons, multi-tenant or partner billing). GoCharting also runs a /b2b and white-label surface.
- SQL fluency to interrogate money data yourself; you can find the row that explains the discrepancy, not just file a ticket.
- Comfortable in a TypeScript/React frontend to own the user cabinet and checkout end-to-end (you don't need to be a frontend specialist, but you ship the surface that touches your ledger).
- In-person in our Chennai office; this role works too closely with Finance, the CTO, and the live money flow to be remote.
Nice-to-Haves:
- Prior fintech or trading domain is genuinely good to have, but not required: billing correctness is domain-agnostic, and the market's context is learnable on the job
- EU VAT/OSS, multi-entity, or multi-currency billing experience.
- AWS Cognito / identity at scale, or prior work untangling a legacy data model during a live migration.
- Experience standing up reconciliation, finance-close, or revenue-reporting pipelines that accountants actually trusted.
- Top-tier Indian institution (IIT/NIT/IIM) nice-to-have, not a gate.
Sourced from instahyre
Section · 02
Skills
Data modellingGolangTypescriptReact.JsJavascriptPostgresqlSubscriptionsSQLPaymentsLedger