We're hiring a Software Engineer, Billing to evolve the systems that power how Cursor charges and reconciles revenue across millions of developers and enterprise teams
You will work across the billing stack — usage metering pipelines, subscription and entitlement systems, payment integrations, and the ledger layer — to make billing accurate, scalable, and transparent. This is a deeply technical IC role. It is not a finance ops role, and it is not a backend generalist role wearing a billing hat
Implement usage and billing systems changes end-to-end, from updates in the UI and raw usage events at the edge to invoiced amounts in Stripe, including the metering pipeline, aggregation logic, entitlement enforcement, and ledger
Evolve our ledger system that serves as the source of truth for customer balances, credits, overages, and adjustments — with the correctness guarantees that financial systems require
Integrate deeply with Stripe including subscriptions, usage records, invoices, webhooks, and edge cases like mid-cycle plan changes, prorations, and failed payment recovery
Build billing APIs and internal tooling that product, finance, and customer success teams depend on to query customer state, issue credits, and investigate billing anomalies
Improve observability across the billing pipeline — metering lag, reconciliation discrepancies, invoice accuracy — so the team can quickly detect and debug billing regressions
Partner with product, infrastructure, and finance teams to ship new pricing models with confidence and minimal operational risk
You will own usage & limits across the product family, payments (stripe + daily jobs), grants & promotions, ledger, and internal data insights. You will be a technical authority on billing correctness and scale
You will not own tax compliance, or general finance infrastructure unless it intersects directly with the billing system
You will not be a backend generalist who contributes to billing occasionally. This is the core of your scope
Revenue accuracy is part of the job, but the goal is to build systems with enough correctness and observability that billing is boring — not to manually reconcile every edge case