Senior Software Engineer, Payroll Engine
Job Description
Senior Software Engineer, Payroll Engine
\n
de Anda portfolio company
\n
\n
Team: Payroll
\n
Level: Senior (IC)
\n
Location: Remote (U.S.)
\n
Start: early November 2026
\n
Compensation: $100,000–$105,000
\n
\n
THE ROLE
\n
You own the heart of the product: the payroll domain model, the append-only ledger, and the pay-run engine that takes a run from draft to committed check. Your code decides what people get paid. The exit criterion for your first four months is that the engine reproduces a corpus of real pay runs from the incumbent system to the cent.
\n
\n
WHAT YOU WILL DO
\n
• Design and build the domain model: pay groups and calendars, earning and deduction codes with limits and ordering, employee tax profiles, year-to-date and quarter-to-date accumulators per EIN.
\n
• Build the ledger as an append-only record of every committed check and adjustment, the single source for registers, general ledger, year-end and audit.
\n
• Build the pay-run state machine: draft, preview, calculate, approve, commit; regular and off-cycle runs; manual checks; voids and reversals; retroactive pay.
\n
• Implement gross-to-net orchestration around the tax adapter: pre-tax and post-tax deductions, imputed income, supplemental wages, garnishment calculation with withholding limits.
\n
• Build the generic hours-and-earnings import, then the bridge from the portfolio company's time-and-attendance product that turns locked, approved timecards into earnings lines with rate, pay code, work location and job-cost dimensions.
\n
• Build and maintain the regression harness: replay the corpus on every change, report variances to the cent, and run every variance to ground.
\n
• Write Technical Documents from the product manager's PRDs, direct coding agents against them, and review every agent-authored PR line by line before merge.
\n
• Keep money as integer cents and committed runs immutable; make every calculation re-runnable from stored inputs and engine version.
\n
\n
MUST HAVE
\n
• 5+ years building transactional backend systems in Python; Django and PostgreSQL in production.
\n
• Has shipped a system where money is the output: payroll, billing, banking, insurance claims, accounting. You can explain how you kept a ledger correct under concurrency and corrections.
\n
• Fluent in integer-cents arithmetic, rounding rules, and the difference between a correction and a reversal.
\n
• Designs state machines and event-sourced or append-only data models; knows why committed records are never edited.
\n
• PostgreSQL depth: migrations against live data, constraints, transactions, advisory locks or equivalent.
\n
• Writes tests as part of the change; has built or maintained a replay or golden-file regression suite.
\n
• Has worked with AI coding agents on real deliverables: writes specs an agent can execute and reviews agent output critically.
\n
• Comfortable in a monorepo with CI, Docker Compose and GitHub Actions.
\n
\n
NICE TO HAVE
\n
• U.S. payroll domain: pay codes, pre/post-tax ordering, YTD limits, FLSA overtime, garnishment priority rules, multi-EIN employers.
\n
• GraphQL schema design (Graphene) and React/Apollo for the pay-run UI.
\n
• Celery or equivalent for long-running calculation jobs.
\n
• Time and attendance or scheduling domain; job costing and labor allocation.
\n
• Experience maintaining AGENTS.md-style conventions for a team.
\n
\n
NOT A FIT
\n
• CRUD-app backgrounds with no financial or transactional system experience.
\n
• Engineers who treat floating-point money as fine until it isn't.
\n
• Someone who treats agent output as done once it compiles.
\n
• Someone who wants a green-field stack; this lives inside the portfolio company's existing time-and-attendance codebase.
