Senior Software Engineer
Practice by Numbers · practicenumbers.com
GurugramOn-siteSenior
The job in short
Senior software engineer.
PythonDjango
Details
- Found
- 22 d ago · posted 2026-03-20
- Location as listed
- Gurugram, India
- Role
- Software Engineer
- Source
- The company’s own careers site
Full description
Senior Software Engineer
Practice by Numbers · Gurugram, India · In-office (5 days) · Full-time
About us
Practice by Numbers builds the software dental practices run their day on — scheduling, patient communications, analytics, VOIP and payments, in one platform. Around 1,500 practices across the US and Canada use us to run their front desk.
Payments is one of our fastest-growing areas, and one of the few where the software is directly responsible for whether a practice gets paid. We're investing heavily in it over the next year: new payment methods, new products built on top of the payments platform, and a lot of work on making the core more reliable as volume grows.
We operate like a startup, because we are one. Scope is wide, decisions are fast, and there isn't a layer of people between you and the problem.
About the role
We're hiring a senior backend engineer for our Payments team in Gurugram. You'll report to our Payments engineering lead and work closely with the Payments product manager.
This is a deep individual-contributor role. You'll write code, make architectural calls, and own systems end to end.
What you'll work on
• Backend services and APIs in Python/Django. You'll own significant surfaces outright, with performance, reliability and maintainability as first-order concerns rather than afterthoughts.
• Money movement. Card-present transactions through in-office terminals, hosted payment pages, and patient-facing payment links. Each surface has its own failure modes and its own definition of "done correctly."
• Recurring billing. Scheduled charges, retries, and the logic that decides when a failed payment needs a human rather than another automated attempt.
• Reconciliation. Processor webhooks arrive late, out of order, or after someone has already recorded a payment by hand. Making the ledger tell the truth anyway is a real and ongoing part of this job.
• Integrations. Our payment processor, plus syncing payment data into third-party practice management systems — each with its own quirks and none of them forgiving.
• The data layer. Schema design, indexing, query tuning and migrations in PostgreSQL, on a database that's growing faster than it used to.
• How we ship. CI/CD pipelines, test automation, and releases that are safe to roll back.
What we're looking for
• 7–9 years building production backends, with deep Python and Django experience and genuine ownership of systems other people depended on.
• Strong PostgreSQL fundamentals — schema design, indexing, transactions, and the ability to find and fix a slow query without guessing at it.
• REST API design and third-party integration experience. You've worked against external APIs that were slow, flaky, or simply wrong, and built around that.
• Redis and Git-based CI/CD — you've built or meaningfully improved a deployment pipeline, not just used one.
• Judgement about correctness where mistakes cost money. Idempotency, retries and race conditions should be things you've had to reason about carefully, not terms you recognise.
• Clear written communication. Our team spans the US, India and Bangladesh, so a lot of thinking happens in writing.
You don't need every one of these to be perfect. Strong on most and curious about the rest is enough — tell us which is which.
Bonus, not required
• Payments or fintech background — Adyen, Stripe, Razorpay or similar.
• Card-present / POS terminal integration experience.
• PCI DSS exposure.
• Subscription or recurring-billing systems.
• Docker/Kubernetes, infrastructure-as-code, or observability tooling (metrics, logs, tracing).
Software Engineer jobs in Gurugram · Software Engineer jobs in India · All Practice by Numbers jobs