Senior Software Enginer, Data and Integrations
About Elicit
Elicit is an AI research agent that helps scientists and decision-makers find, synthesise, and understand research. Pharma and biotech teams rely on it for systematic reviews and other work where the evidence has to hold up. We're a public benefit corporation, founded to radically improve reasoning for high-stakes decisions, and our engineering team is small and works in an AI-native way.
Why this role exists
Elicit is only as useful as the evidence underneath it. That takes far more than a large corpus of academic papers. We bring together scholarly literature, clinical trials, specialised scientific databases, licensed publisher content, and our customers' private data, then make all of it usable in cited, agentic research workflows.
You'll own a big part of that. You'll improve the distributed systems that build and update our search corpus, make adding a new source repeatable, and turn publisher and enterprise requirements into secure, dependable product features. This is product engineering with a strong data-systems core. It isn't an analytics or BI role.
It's also a full-stack role. A new source only matters once researchers can see and use it, so part of your time goes to the product on top: our Next.js and React frontend, the TypeScript and Python services behind it, and the APIs that connect them to the data layer.
What you'll do
Own Elicit's scholarly search and data platform: its coverage, freshness, quality, reliability, and cost as the product and its sources change. Turn what customers and the business need into a technical plan for the area, working closely with product, sales, and partners.
Bring new kinds of evidence into Elicit and make them useful to LLM-based features, keeping structure, citations, and provenance intact.
Build secure, rights-aware integrations for enterprise customers and content partners. You'll turn requirements around access, privacy, isolation, and auditability into product behaviour, often working directly with their technical teams.
Take features from a loose brief to production across frontend, backend, and data, with clear interfaces between the layers that you can change safely.
Ship in small slices with staged rollouts, monitoring, and a way to roll back. Operate what you build, watch how people use it, and keep each new integration from adding more complexity than it's worth.
Work on product features beyond integrations alongside the rest of engineering, and make the data platform easy for other engineers to build on.
Use coding agents every day, review their output as carefully as you'd review a colleague's, and stay hands-on where the stakes are high.
What we're looking for
5+ years of software engineering, including production systems you owned and architecture decisions you made yourself.
Strong Python. You'll use it every day, and our interviews include live coding. Working knowledge of TypeScript too; React is a plus.
Experience designing, debugging, and tuning distributed data pipelines. Spark is especially useful, and comparable distributed-systems experience counts.
Solid SQL, plus a practical feel for partitioning, joins, columnar formats, and how data layout affects performance and cost.
Experience integrating messy external data: APIs, bulk exports, file drops, changing schemas, rate limits, partial failures, and overlapping records.
Care for data quality, entity resolution, provenance, and observability, and a plan for when things fail.
User-facing features you've shipped end to end, not only the systems behind them.
Product judgment. You connect infrastructure work to what researchers can do, and you'll work across layers to finish a feature.
At least a year at an early or growth-stage company, somewhere small enough that you shaped the work rather than only executing a plan.
Clear communication with engineers and non-engineers alike. You share proposals early, explain trade-offs plainly, and stay with a hard question.
Pragmatic use of coding agents: noticeably faster because of them, with no drop in quality.
Location and travel
We have a great office in Oakland, CA, and we'd love to see you there if you're local. That said, we're just as happy for you to work remotely. We do get the whole team together for a quarterly retreat somewhere fun, because in-person time matters to us.
Benefits and perks
In addition to working on important problems as part of a productive and positive team, we also offer great benefits (with some variation based on location):
Flexible work environment: work from our office in Oakland or remotely with time zone overlap (between GMT and GMT-8), as long as you’re comfortable traveling for quarterly in-person offsites
Fully covered health, dental, vision, and life insurance for you, generous coverage for the rest of your family (FSA/HSA, too)
Flexible vacation policy, with a minimum recommendation of 20 days / year and plenty of company holidays
Every Elician receives a $200 monthly wellbeing stipend to spend on whatever supports your health and wellbeing.
401K with a 6% employer match
A new Mac + $1,000 budget to set up your workstation or home office in your first year, then $500 every year thereafter
$1,000 quarterly AI Experimentation & Learning budget, so you can freely experiment with new AI tools to incorporate into your workflow, take courses, purchase educational resources, or attend AI-focused conferences and events
A team administrative assistant who can help you with personal and work tasks
You can find more reasons to work with us in this thread!
Compensation
For all roles at Elicit, we use a data-backed compensation framework to keep salaries market-competitive, equitable, and simple to understand. For this role, we target starting ranges of:
Senior (L4): $185-270k + equity
Expert (L5): $215-305k + equity
Principal (L6): >$260 + significant equity
We're optimizing for a hire who can contribute at a L4/senior-level or above.
We also offer above-market equity for all roles at Elicit, as well as employee-friendly equity terms (10-year exercise periods).
Required Skills
Required Languages
🇬🇧 English