Senior Software Engineer, Data & AI
Holly is the HR platform built for city and county government. We help local governments modernize how they hire, classify, and manage their workforce — work that directly shapes public services for millions of people. Our platform is live across 12 states with 60+ jurisdictions representing over 10% of the US population, including major counties like Santa Clara and Contra Costa in the Bay Area, Orange County in LA, and Snohomish County in Washington State.
About the Role
We're hiring a Senior Software Engineer, Data & AI to build Holly's Data Platform. Local governments publish enormous amounts of public information—salary schedules, job classifications, MOUs (Labor Union Agreements), budgets—but it's scattered across thousands of websites and buried in messy formats: scanned PDFs, inconsistent HTML, spreadsheets, and everything in between. Turning that chaos into clean, searchable, trustworthy data is one of our biggest product challenges and deepest moats.
You'll design and build the Data Platform: ingestion and processing pipelines, canonical datasets, semantic search and retrieval, and inference APIs that product engineers can build on. AI is part of the infrastructure, not a layer added later. You'll use models where they improve extraction, classification, normalization, matching, and search, then evaluate and operate those systems in production. This is a hands-on, high-ownership engineering role. You'll own major data systems, make architecture calls, and raise the standards for how Holly collects, models, and trusts its data. You'll work directly with the founders and partner closely with product engineers to make sure they have clean, reliable data to build on.
Responsibilities
- Own and Build the Data Platform
- Own the data platform end-to-end from raw public sources to clean, canonical datasets the product consumes
- Design the architecture, schemas, and standards for how Holly ingests, models, and trusts its data
- Partner with the founders to scope work, make tradeoffs, and drive delivery on our highest-leverage data initiatives
- Help set the long-term direction for our data foundation
- Build Ingestion & Normalization Pipelines
- Build systems that collect large volumes of public government data from thousands of local-government sources across the web
- Turn messy, heterogeneous inputs—scanned PDFs, inconsistent HTML, spreadsheets—into structured, normalized data (parsing, extraction, OCR, dedupe, entity resolution, schema mapping)
- Where it adds leverage, incorporate LLM-assisted extraction and embeddings into the pipeline
- Build for freshness, reliability, and scale so data stays current and trustworthy
- Model & Serve Data for the Product
- Design canonical data models and domain schemas that product engineers build on
- Expose clean, versioned, well-documented datasets the main app can reliably consume
- Own data quality, validation, lineage, and observability so downstream teams can trust what they're building on
- Build Search & AI Infrastructure
- Build semantic search and retrieval over large, changing government datasets
- Design inference APIs for extraction, classification, matching, and other AI-powered data processing
- Build evals, tracing, and fallbacks so model behavior is measurable and dependable
- Give product engineers clear interfaces for using data and AI capabilities
- Make It Automated & Intelligent
- Evolve pipelines from manual/one-off toward automated, self-healing, monitored systems
- Establish data-quality checks, alerting, and standards that keep the platform reliable as it grows
- Raise the bar on how we collect, validate, and serve data across the company
How We Work
Six principles drive how we build:
- Work on What Matters: Default to No—every yes has a cost, so we save them for what moves the business and spend time on what matters.
- Question Everything, Be Opinionated: Titles don't settle arguments, the better case wins. Feel empowered to push back to everyone from the Head of Engineering to one of the founders.
- Obsess Over Craft: Quality first, and we don't trade it for a date. If you wouldn't put your name on it, it shouldn't end up in the codebase.
- Own It End to End: If you build it, you own it—to production, in tests, and when it breaks. With great power comes great responsibility, with autonomy comes responsibility to make sure you own your work.
- Ship Small, Ship Often: The smallest thing that stands on its own, kept reversible. Small ships compound, are easier to review and easier to fix if there are issues.
- Automate the Hurt, Not the Itch: Automate the recurring pain, the Toil (aka things you do repeatedly that waste time), not the one-off annoyances or what seems "fun" to automate.
Requirements
- Have 5+ years building and shipping production software (or equivalent experience)
- Have a strong track record building and operating production data systems
- Have worked with large-scale, high-volume data—ideally where lots of sources, users, or records make volume and reliability matter
- Are strong at data modeling and SQL, with experience designing schemas that others build on (Postgres a plus)
- Have built and owned ETL/ELT pipelines that handle messy, heterogeneous, real-world inputs (scraped data, PDFs, HTML, spreadsheets)
- Have built production search, retrieval, inference, or AI-assisted data-processing systems
- Know how to evaluate model quality and operate model-backed systems when outputs are probabilistic
- Bring a strong data-quality mindset—validation, testing, monitoring, lineage, and reliability are core to how you work
- Take ownership and move fast—you work independently, ship often, and thrive in early-stage ambiguity
- Have a growth mindset—you learn quickly, and raise the bar through collaboration and clear standards
- Are pragmatic about tooling and comfortable working in (or ramping quickly into) a modern TypeScript/Postgres codebase
Nice to Have
- Open source contributions to or maintainer of a widely used tool
- Experience with large-scale web scraping / crawling, document extraction (OCR), or LLM-assisted parsing
- Experience with embeddings / vector search or supporting ML/AI data workflows
- Experience with analytical/columnar or warehouse stacks (ClickHouse, BigQuery, Snowflake) and/or streaming pipelines
- Experience in government, public sector, or civic tech
- Prior early-stage startup experience
Don't meet every bullet? Apply anyway. If you're strong on most of this and excited about the work, we want to hear from you—we'll help you ramp on the rest.
Benefits
- End-to-end ownership: Architect and build data systems that define how the product works
- Technical influence: Make the high-leverage calls on data architecture, standards, and how we scale
- Commitment to Open Source: Monthly Open Source day to work on your favorite tool, plus internal hackathons
- Direct access: Work directly with the founders, with autonomy to drive major initiatives end-to-end
- High-impact scope: Build the data foundation the entire product depends on, and see its power features customers rely on quickly
- Public-service impact: Your work improves how local governments operate, helping millions of Americans access public-service careers
- Comprehensive health benefits: Platinum plan with vision and dental
- 401(k) and paid parental leave
- Professional development stipend
Pay
$170k–$216k base, 0.15–0.40% equity (L3).
Schedule
This is an onsite role based out of our New York City HQ, four days a week (typically Mondays–Thursdays), with some flexibility depending on the role and the candidate. Candidates must reside in New York or be able to commute to our NYC office. Occasional off-hours work may be required around launches or critical issues (rare and typically planned).