The Role
Lead a team to design, build, and operate scalable backend services in Python/Django. Own data schema design and migrations (PostgreSQL, SQLAlchemy, Alembic), implement CI/CD and Git workflows, optimize performance with Redis and Nginx, and collaborate with product and ops to deliver reliable APIs and services.
Summary Generated by Built In
Software Engineer
About us
About the role
What you'll work on
What we're looking for
Bonus, not required
Practice by Numbers · Gurugram, India · In-office (5 days) · Full-time
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.
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.
- 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.
- 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 Required
- 3-5 years in software development with deep expertise in Python and Django
- Proven leadership experience guiding engineers, conducting design and code reviews
- Strong RDBMS knowledge: schema design, indexing, transactions, and performance tuning on PostgreSQL
- Hands-on experience with SQLAlchemy and Alembic for model definitions and schema migrations
- CI/CD and Git: pipeline design, gated testing, release automation, and branching workflows
- Practical experience with Redis caching strategies and eviction patterns
- Practical experience with Nginx reverse proxying for secure high-throughput traffic handling
- Working knowledge of NoSQL paradigms and when to apply them
- Exposure to payment gateway integrations (Adyen, Stripe, etc.)
- Cloud-native delivery experience (Docker, Kubernetes) and infra-as-code within CI/CD
- Observability practices: metrics, logs, and tracing for performance and reliability
- Bachelor's/Master's degree from top institutions or relevant certifications
Am I A Good Fit?
Get Personalized Job Insights.
Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.
Success! Refresh the page to see how your skills align with this role.
The Company
What We Do
Practice by Numbers is an all-in-one software solution designed to help dental practices, groups, and organizations consolidate, streamline, and improve their day-to-day operations. Its mission is to transform dental practice management through integrated software solutions that enhance patient experiences and optimize business performance, providing a comprehensive suite of analytics, patient communication, and reputation management tools in a single platform.






