Skip to main content

Staff Software Engineer, Infrastructure

Numero
US / Remote (US)
RemoteFull Time
Compensation
$200,000–$240,000/year

Job Description

Overview

At Numero, we build software for political campaigns and nonprofits. Since our founding in 2019, we’ve scaled our platform to serve thousands of campaigns ranging from city council seats to US Senate races, and have helped them collectively raise over $10B in contributions.

Our platform is an all-in-one system comprised of a donor CRM, broadcast email + texting tools, and payment processing pages that our clients rely on for their work every day. As our product is the platform that our users operate out of every day, this also means that when we build and launch new products, we do so to all of our users, at scale 🚀.

We’ve experienced tremendous growth over the past several years and are hiring experienced engineers to help us scale and harden the data infrastructure that everything else at Numero runs on. In joining our team of 6, you will help shape our team’s culture and have a substantial impact on the success of our company 📈 – come join us!

Who we’re looking for

This is a staff-level role for someone who wants to own our data infrastructure end to end. Numero runs on databases that take millions of requests a day and hold billions of records – keeping them fast, reliable, and ready to scale is one of the most consequential problems at the company, and we're looking for the person to lead it. You'll own the direction for how we shard, query, observe, and automate our data systems, with the autonomy of a staff engineer to do it.

  • Deep experience operating data infrastructure at scale. Preferred 8+ years, with a meaningful chunk spent as the person directly responsible for the performance and reliability of large production databases.
  • Expert-level relational databases at scale. You've operated large, high-traffic SQL databases (e.g. Postgres, MySQL) and can and reason fluently about query plans, indexing, locking, replication, connection pooling, and the failure modes that only show up under significant load. Experience with partitioning, sharding, or other horizontal-scaling approaches is a strong plus.
  • Breadth across data stores. You've operated systems like OpenSearch (or Elasticsearch) and document databases like MongoDB at scale, and you have strong instincts for which workload belongs where.
  • A query-optimization obsession. You live in tools like pganalyze and Sentry, you can spot the query quietly degrading p99s, and you fix it before it becomes an incident – then put guardrails in place so it doesn't recur.
  • An automation-first, DevOps mindset. You'd rather automate toil than do it twice – reaching for scripting and, increasingly, AI agents to handle migrations, monitoring, and operational work so our infra scales without scaling headcount.
  • The judgment and influence of a staff engineer. You set technical direction, raise the bar for the whole team, and drive cross-cutting infrastructure work without needing to be told how.
  • A pragmatic, incremental approach to change. You pursue ambitious long-term architectural goals but get there through steady, well-sequenced steps – not a rip-and-replace rewrite. You've led migrations and transitions to better architecture without disrupting how the team works day to day, and you're confident enough to understand a system on its own terms and improve it within the context it exists – rather than defaulting to "this is how I've always done it".
  • Excellent written and verbal communication and high EQ. On a team this small, how you reason out loud and collaborate matters as much as what you ship.
  • You are located in the continental USA (ET, CT, MT, PT) and are willing to travel 1-2x a year for company retreats and/or team offsites (usually held in California).

Infrastructure is the foundation everything else at Numero is built on, so the impact of this role is enormous – the systems you design and the bottlenecks you remove are felt by every client, on every campaign, during the highest-traffic moments of an election cycle.

What you’ll work on

This role sits at the center of a data platform that's growing fast – in raw volume, in the kinds of data we ingest, and in what we let clients do with it. Numero already serves millions of requests a day and filters billions of records in realtime, and the work below is about pushing that footprint further while keeping it fast. A sampling of what's on your plate:

  • Improving our data ingestion + matching pipelines. We load external datasets – email, phone, and address validation among them – and run them against each client's data to enrich it for them, doing entity resolution across hundreds of millions of records. The work here is diagnosing, optimizing, and hardening those pipelines so matching stays fast and accurate as our data grows.
  • Scaling our Postgres (on PlanetScale). Keeping our database fast and reliable as we grow into billions of records – starting with the highest-leverage, lowest-effort levers first: partitioning large, fast-growing tables, tuning indexes, and relieving hotspots before they bite. Looking further out, you'll lead our sharding strategy – where the genuinely interesting problem is data modeling: most of our data partitions cleanly along tenant lines, but some of it doesn't, and designing how those models evolve is the hard part. You'll sequence this work so performance keeps climbing rather than degrading as we scale.
  • Operating Postgres at scale. Owning the day-to-day health and performance of the database: connection pooling and management (PgBouncer, sensible timeouts, keeping us stable as requests spike), the routine health work like reindexing, bloat removal, and rebuilds (guided by PlanetScale's and pganalyze's recommendations), and implementing automated date-based archival for the Postgres tables that merit it.
  • Managing our environments + provider migrations. Owning how our services are deployed and run, and leading migrations across hosting providers – we're on Heroku today and moving more of our stack toward Render and AWS – with minimal disruption to the team or our clients.
  • Optimizing and automating with AI. Using pganalyze and Sentry to find the queries quietly degrading performance and fixing them at the source – and building agentic tooling that takes on the migrations, monitoring, incident triage, and routine maintenance above, so we operate like a much larger infrastructure team than we are.

You won't just execute this list – you'll own and prioritize it, working closely with the CTO to decide where the biggest risks and wins are as we scale. Just as important, we'll count on you to see around corners: proactively triaging and diagnosing our systems to surface the biggest problems on the horizon – often before anyone else has noticed them – and bringing a plan to tackle them.

How we work with AI

AI is core to how we build at Numero – not a bolt-on. It runs through every coding project we take on, and we've invested heavily in the tooling and workflows around it. We expect everyone here to be a sophisticated operator of these tools, and to help make them better. In practice, that looks like:

  • Planning and estimation. We map out projects using Plan Mode with Claude and Codex before writing code – surfacing edge cases, data-modeling decisions, and architectural tradeoffs early. We'll sometimes have an agent one-shot a feature and open a throwaway PR; we don't ship that code, but it's a fast way to expose the real dependencies and gotchas that shape how long the work will actually take.
  • Pair programming with AI. We work alongside tools like Claude and Codex throughout development – to move quickly and make fewer mistakes, propagate a pattern, write tests, and answer questions or debug as we go. Keeping their output consistent with how we build is where our Skill files come in.
  • Skill files as institutional memory. Our conventions and hard-won lessons live in Skill files in version control – reviewed through PRs like any other code, and scoped by domain (NumeroQL, background jobs, payments, and more). When an agent produces something off-pattern, we don't just fix it; we encode the lesson back into a Skill file so it never recurs.
  • Review and debugging. Every PR runs through automated review with Greptile and Cursor Bugbot, with deeper passes from Claude and Codex – so authors catch and fix bugs before requesting review, and human reviewers can get up to speed on a change without combing through every line and file before they approve and merge. For bugs, where the real work is finding the root cause, we lean on Sentry Seer and repo-aware Claude/Codex to investigate, which has sharply cut our debugging time.
  • Maintenance and migrations. Package upgrades and large, codebase-wide migrations are some of our highest-leverage AI work – agents often hold more context on the migration path than we do.
  • Agentic projects. Alongside their core work, every engineer runs an agentic project: completing a real feature – e.g. a new export format, a third-party integration – entirely end-to-end using agents (planning, building, testing, and breaking the work into small, incremental PRs that match how we ship production code). These are real, shippable features we want built but deliberately hold to a looser timeline – so the work happens in normal hours, with room to do it agent-first – the point being to sharpen how we work with agents and push their output toward our preferred patterns, codifying a new skill-file rule whenever they miss one.

We also debrief our AI wins and misses in every sprint retro, so the whole team compounds what each of us learns. For day-to-day AI coding, we each work with a mix of tools – Claude Code, Cursor, and Conductor among them – and engineers are free to reach for whatever fits them best. If you've been pushing the edge of how AI fits into real engineering work – with opinions on where it shines, where it doesn't, and where it's headed – you'll fit right in.

What we value

Here are some of the concepts that we value as a team and hope resonate with you:

  • Consistency and clarity. You've seen how much a consistent, legible codebase pays off on a small team – in shared understanding, developer happiness, and velocity. It's also what makes our AI tooling work: clear patterns that we can codify in skill files so that our agents produce code we're likely to approve.
  • A shipping-first instinct. You're driven to get real value into customers' hands quickly – often by getting a first or second draft out fast with agents, then refining it into a production-ready PR that doesn't sacrifice quality or resilience.
  • Follow-through and good hygiene. You finish what you start, and you leave the codebase cleaner than you found it – paying down tech debt as you go, often pointing agents at existing code to standardize on better patterns.
  • Eagerness to learn – and to share what you learn. You'll happily dive into unfamiliar parts of the system to build or debug, and pair with teammates to work through hard problems together. And you write it down – clear, detailed notes on the changes you make, so the whole team benefits from what you figured out.

Tech Stack

Our platform is a Ruby on Rails monolith that serves data to several TypeScript/React frontends via a GraphQL API. We run Postgres (hosted on PlanetScale) as our primary database, with MongoDB and OpenSearch handling specific high-scale needs. Some of the technologies you can expect to work with:

  • Backend: Ruby, Rails, Ruby GraphQL, Sidekiq, RSpec
  • Frontend: TypeScript, React, Next.js, Apollo GraphQL, Tailwind, Jest
  • Data: Postgres (hosted on PlanetScale), MongoDB (high-volume collections for email / text message data), OpenSearch / Atlas Search (matching, filtering, engagement scoring), Redis (caching and queueing)
  • Monitoring: Sentry, pganalyze

Prior experience with our specific stack is a nice-to-have, not a requirement – we care far more about deep engineering capability and a genuine desire to work with these tools. And as we've grown, we've reached for additional technologies to keep up with the demands of our scale; we'll keep adopting whatever helps us serve our clients and our codebase best.

Compensation + Benefits

For this role, we offer a base salary in the range of $200,000 - $240,000, plus equity. On top of that, we offer a merit-based annual bonus that scales with company performance – when Numero does well, you share in the upside. We also offer the following benefits to help you do the best work of your career:

  • Flexible PTO (including 12 company holidays and 2 weeks of required PTO each year)
  • 401K Plan with employer match
  • Medical, dental and vision coverage with HSA option; 50% coverage for dependents
  • Paid Parental Leave for primary and secondary caregivers
  • Your choice of premium tech setup – laptop, monitor, accessories, and headphones
  • $1,000 for your work-from-home setup
  • Annual company retreat and/or team offsites
  • Professional development support – we want you to grow with us and will invest in courses, certifications, or training that helps you develop your career

Our Story

Our founding team is comprised of Brian (CEO), Karan (CTO), and Susie (CFO). In past lives, we’ve founded startups, led engineering teams, and managed multibillion dollar budgets at Fortune 100 companies.

Most importantly, we all experienced the pain of slow and outdated campaign software firsthand while working on Brian’s 2018 congressional campaign. The existing software was so inadequate and error-prone that Susie stitched together compliance filings by hand and Karan built a fundraising platform from scratch that empowered Brian to become one of the top 10 fundraisers in the country for first-time candidates.

After our collective experience on the campaign, we applied to Y Combinator, launched Numero, and never looked back. We’ve been working in this space for a long time. We are here because we love it and know that this is some of the most important work we could put out into the world. We also know there is tremendous upside in it — that’s why we’re backed by investors like 776, Y Combinator, and Initialized Capital.


Interview Process

We aim to keep our interview process lightweight + efficient – we can move from an intro phone call to an offer within a week. It generally involves the following steps:

  • Intro Call: A ~45 minute call with our CTO to review your background + experience and learn more about the role. If there is a mutual fit, we’ll schedule a technical interview.
  • Technical Interview(s): A half day of interviews with engineers on the team. Generally it includes a database modeling exercise, a live coding exercise, giving a presentation on a technical project you’ve worked on, and a paired code review.
  • Final Interview with Cofounders: A quick ~30 minute chat with our other two cofounders to give you and our founders a chance to ask questions.

If all goes well, the next step is extending an offer 🎉!

Optimize Your Resume for This Job

Get a match score and see exactly which keywords you're missing

Optimize Resume

Job Details

Category
Software
Employment Type
Full Time
Location
US / Remote (US) (Remote)
Posted
Compensation
$200,000 - $240,000 per year

About Numero

Modern fundraising software for political campaigns and nonprofits.

Found this role interesting?

Staff Software Engineer, Infrastructure
Numero
Apply