Software Engineer
Read straight from Practice by Numbers's careers page, verified 2d ago.Seekless can tailor your résumé to it.
Seekless can write your résumé for this posting first.
Before you apply
LocationGurugram, Haryana, India, Gurugram, India
Work modeon-site
Typefull-time
SeniorityMid
Experience3–5 yrs
DepartmentTech
Company size51–200 people
PostedMar 19, 2026 · 7mo ago
Verified live2d ago
May no longer be actively hiring
Posted by the company on Mar 19, 2026
At a glanceSummarised by Seekless from the posting.
3–5 years building backend software professionally
solid Python experience
Comfortable with SQL and relational databases
Write a join, read a query plan, reason about what an index is doing
Experience building or consuming REST APIs
Familiarity with Git-based workflows - branching, code review, CI
Care about correctness. In payments, 'mostly working' is a bug. Someone who tests their own work and thinks about what happens when things fail
Clear written communication
Django specifically is a strong plus
Any exposure to payments, fintech, billing or subscription systems
Redis, Celery, or background job processing
Docker
Experience working with an external API that was unreliable, and having to design around it
Skills
Python
Django
REST APIs
PostgreSQL
Git
CI
Redis
Celery
Docker
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: new payment methods, new products built on the payments platform, and a lot of work 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 software engineer for our Payments team in Gurugram. You’ll report to our Payments engineering lead and work alongside senior engineers who’ve built this platform.
This is a good role for someone a few years into their career who wants to go deep rather than wide. Payments is an unusually good domain to grow in — correctness matters, edge cases are real, and the habits you build here (thinking about failure modes, retries, reconciliation, data integrity) transfer everywhere. It’s hard to pick that up on a CRUD product, and it compounds fast once you have it.
You’ll start with well-scoped work and a lot of review, and take on larger and more ambiguous pieces as you get your footing. We’d expect you to be owning a meaningful surface of the product within your first year.
What you’ll work on
•
Backend features and APIs in Python/Django — shipping real functionality that practices use the same week.
•
Payment flows. Card transactions through in-office terminals, hosted payment pages, and patient-facing payment links. You’ll learn how each one fails, which is most of the education.
•
Recurring billing. Scheduled charges, retry behaviour, and the handling around payments that don’t go through the first time.
•
Integrations. Working against our payment processor’s APIs and syncing data into third-party practice management systems.
•
Queries and data. Writing and tuning PostgreSQL queries, designing tables, writing migrations that are safe to run against production data.
•
Bugs and production issues. A real share of them, because debugging someone else’s payment edge case is how you learn a payments system properly.
•
Tests and tooling. Contributing to our test coverage and CI pipelines rather than treating them as someone else’s job.
What we’re looking for
•
3–5 years building backend software professionally, with solid Python experience. Django specifically is a strong plus, but we’ll take a good engineer from another framework who wants to learn it.
•
Comfortable with SQL and relational databases — you can write a join, read a query plan, and reason about what an index is doing.
•
Experience building or consuming REST APIs.
•
Familiarity with Git-based workflows — branching, code review, CI.
•
Care about correctness. In payments, “mostly working” is a bug. We’re looking for someone who tests their own work and thinks about what happens when things fail, not just when they succeed.
•
Clear written communication. Our team spans the US, India and Bangladesh, so a lot of thinking happens in writing.
We care more about how you think than about your exact checklist of technologies. If you’re strong on fundamentals and missing a couple of items above, apply anyway and tell us what you’d need to pick up.
Bonus, not required
•
Any exposure to payments, fintech, billing or subscription systems.
•
Redis, Celery, or background job processing.
•
Docker.
•
Experience working with an external API that was unreliable, and having to design around it.