Senior Engineer (Full Stack)
About Donorbox
Donorbox is a leading fundraising platform and donor management system for nonprofit organizations. Our mission is to accelerate positive impact worldwide by helping nonprofits become highly effective at raising funds and managing their supporter base. Since 2014, we have powered more than 100,000 global organizations to raise over $4 billion in donations. 🚀
Our fast-growing company is profitable and bootstrapped with a healthy run rate. We have a fully distributed and diverse 150-person team based in 16+ states and 23+ countries. In 2026, Donorbox was named by Built In as one of the Best Places to Work in Washington, DC.🏅 Donorbox is rated the #1 software for fundraising, donor management, and nonprofit payment on G2 based on hundreds of verified customer reviews — a reflection of the care our team puts into building products that nonprofits trust.
The Team
You will be joining the Developer Platform and Integrations Team. Nonprofits trust Donorbox with the data their work depends on: who their supporters are, what they gave, and when. That data only becomes useful when it reaches the tools each organization has actually chosen to work in. Our job is to move it there safely, automatically, and at scale.
In practice that means deep data integrations — Salesforce, HubSpot, Little Green Light, Blackbaud, Planning Center, QuickBooks Online, HMRC — where Donorbox is the source of truth feeding a customer's system. It means the data imports that bring an org's history across from a previous CRM. And it means standing Donorbox up as a platform for the cases we haven't anticipated: public APIs, webhooks, and the path toward an MCP server and headless capabilities. We operate with a flat hierarchy, a fully remote team, and a deliberate choice to keep our tech stack simple, reliable, and powerful.
The Role
At Donorbox, our engineers at this level are what we call "Problem Solvers." At the Senior Engineer level you are handed a problem rather than a task list, and you discover the work it takes to solve it — as we put it internally: "Given this problem, what needs to be done?" This is the level we hire toward and expect engineers to sustain. Integration work rewards it especially: the requirement is rarely the whole story, the third party's documentation is rarely accurate, and the failure modes are rarely visible until someone else's sync has been quietly dropping records for a week.
Responsibilities
-
Own integrations as products, not projects: Build and maintain deep CRM and mass-data-sync integrations, and keep maintaining them as both sides change. Upkeep is part of the job, not an interruption to it.
-
Protect data in transit: Get the right record to the right account, exactly once, in a form the receiving system won't mangle. Deduplication, partial failures, and resuming a run that died halfway are the daily substance of the work.
-
Make integration health visible: Build the monitoring, error reporting, and unglamorous logging that turns a mysterious sync failure into a diagnosable one — so we find out before a customer does.
-
Design public surfaces carefully: Model the data and design the APIs and webhooks that third parties depend on. Once someone builds against a payload shape, you live with it, so naming, pagination, and error semantics are close to permanent.
-
Champion Product Sense: Analyze requirements through a "Jobs-to-be-Done" lens, ask whether the customer can already do this with an existing integration, and push back when a requirement doesn't match a real user job. Bring feasibility and engineering cost into prioritization so we build the integrations that demonstrably win and retain customers.
-
Collaborate and Ship: Balance shipping quickly with shipping quality. Review peers' pull requests as a teaching tool rather than a gate, help support agents with technical questions during shifts, and treat escalations as signals about the product.
-
Steward our Knowledge: Keep developer-facing documentation accurate and add, edit, and delete internal docs as part of the work. In a codebase over ten years old, the reason an integration behaves oddly is often a decision someone made against a third-party constraint years ago.
What We Are Looking For
-
API Design Judgment: Strong proficiency building and consuming REST APIs, with real opinions about versioning, pagination, and error semantics formed by having lived with your own decisions.
-
Third-Party Resilience: Experience integrating with systems you don't control — rate limits, partial failures, retries, idempotency, and webhook delivery — and the patience to read documentation and issue descriptions thoroughly rather than jumping through keywords.
-
Data Movement at Scale: Experience moving data between systems with mismatched models: deduplication, mapping records that don't fit cleanly, and reconciling two systems that disagree about the same person.
-
Rails & PostgreSQL Proficiency: Ability to design the data model and Rails objects for medium-sized features and get feedback on that design right, including SQL for non-trivial operational and bulk queries and the ability to read a Postgres
EXPLAIN. -
Quality & Testing: A habit of writing tests that survive refactors because they test behavior, not implementation — including tests that hold up against services you don't control. We use Minitest.
-
Independent Problem Solving: A track record of taking an ambiguous problem, finding the work it contains, and driving it to completion without detailed specifications. Honest about trade-offs, and does not promise dates that depend on heroics.
-
Team-First Instincts: Willingness to pause your own work to unblock a peer, and to optimize for team throughput over personal output.
Our Tech Stack
-
Backend: Ruby, Ruby on Rails
-
Frontend: Vanilla JavaScript, Hotwire (Turbo/Stimulus), Semantic HTML, CSS (Design Tokens)
-
Database: PostgreSQL, Relational Databases, SQL
-
Integration: REST APIs, Webhooks, OAuth
-
Testing: Minitest, Fixtures
-
Mindset: "Omakase" Rails, MVC, Object-Oriented Programming
Details
- Fully remote based in India or Pakistan
- Salary: $52,200 - $58,000 USD, depending on experience and location
Benefits & Perks
- Fully remote work from the comfort of your home
- Eligibility for employee equity plan (stock options)
- Reimbursement package for home office expenses and professional development, up to $1.5k
- Generous time off policy of 21 days (birthday included 🎉), 8 holidays of your choice, and 2 paid volunteer days
- Wellness program with fitness and mindfulness classes
- Love your work and our mission of serving nonprofits!
The Application Process
We have 6 stages:
- Apply here and fill out our questions to tell us about you!
- Prescreen Call with the Talent Team
- Interview with Hiring Manager
- Assignment
- Panel/Final Interview
- Background & Reference Checks
If this sounds like the right role for you, please apply today and let us know why. We look forward to hearing from you!
Apply for this job
*
indicates a required field
