Elicitย is an AI research assistant that usesย language models to help researchers figure out whatโs true and make better decisions, starting with common research tasks like literature review.
What we're aiming for:
Elicit radically increases the amount of good reasoning in the world.
For experts, Elicit pushes the frontier forward.
For non-experts, Elicit makes good reasoning more affordable. People who don't have the tools, expertise, time, or mental energy to make well-reasoned decisions on their own can do so with Elicit.
Elicit is a scalable ML system based on human-understandable task decompositions, with supervision of process, not outcomes. This expands our collective understanding of safe AGI architectures.
Visit our Twitter to learn more about how Elicit is helping researchers and making progress on our mission.
AI engineering is a new category of technical work. Its emergence is linked to the increasing availability of powerful new artificial intelligence tools: notably generative machine learning systems like large language models.
The term was suggested by swyx on the Latent Space podcast and we've written about it on our blog before.
Elicit predicted the rise of powerful ML systems even before GPT-1 was trained, and has the deepest experience of building trustworthy, capable, and transparent applications using these tools.
If you're a software engineer who relishes the more difficult parts of backend codeโlike concurrency, fault-tolerance, and distributed systemsโyou could be a great AI engineer.
Since launching the newest version of Elicit last fall, response has been strong. We introduced Elicit Plus, our monthly subscription plan, and added thousands of paying users in a matter of months as well as hundreds of thousands of new sign-ups. This has been energizing for our team, but we want to ship more useful functionality to our users even faster.
We believe that building great AI-powered products requires excellence across multiple parts of the tech stack: from frontend UX to infrastructure. But one of the crux areas is certainly how we prompt, invoke, respond to, and manage the suite of different ML models required to make Elicit work. This is what an AI engineer will be responsible for at Elicit.
Backend: Node and Python (probably shifting more to Node over time).
Frontend: Next.js and TypeScript (we expect you to be 80+% focussed on backend work, however).
We like static type checking in Python and TypeScript
All infrastructure runs in Kubernetes across a couple of clouds
We use GitHub for code reviews and CI
Consider the questions:
What's the difference between anyio
, trio
, and asyncio
?
What does the await
keyword do in JavaScript?
What is a Kubernetes pod, and how is it different from a container?
How would you manage state when using an LLM to power a conversation?
If you have a solid answer for theseโwithout reference to documentationโthen we should chat!
We have a lovely office in Oakland, CA, but we don't all work from there all the time. It's important to us to spend time with our teammates, however, so we ask that all Elicians spend 1 week out of every 6 with teammates.
We have a quarterly team retreat, normally in and around the SF bay area.
We have quarterly co-working weeks (offset from the team retreats) in our Oakland office.
If you come to the retreats and co-working weeks, you'll meet our expectations for in-person time!
There is flexibility around the specifics here: if you're not sure you can make this work, get in touch.
Backend implementation of our "living document"
We believe that user interactions with language models should be much deeper than yet more chatbot interfaces.
We wrote about our living document approach which is one way in which users can have much richer LLM-powered product experiences.
You would work on, curate, extend, and improve the backend part of that technology. This is fascinating and challenging distributed systems work.
Building Elicit into a product researchers canโt live without
We ship useful, exciting features out to users on a weekly basis. Your focus will be on the code which exists between the BFF endpoints and the ML models we use.
You will work on a mix of known features / fixes, prototypes to validate ideas, and exploratory projects in between.
Our team is small, so we expect you to appreciate the user needs underlying everything you work on. You should be comfortable making decisions and trade-offs that help us fulfill usersโ needs best.
Keeping Elicitโs bar for quality high
Youโll balance shipping features in the short term with building extensible and maintainable systems.
You will be responsible for your features in production: they need to be scalable, resilient, and easy to operate.
Youโll contribute to discussions around system design, performance evaluation, and architecture.
You can view sample projects here.
Start building foundational context
Get to know your team, our stack, and the product roadmap.
Youโll get to know our company documentation and other supporting resources like Supporting Process, not Outcomes.
Make your first contribution to Elicit
By the end of your first week, youโll have completed your first Linear issue, have a PR merged into our monorepo, gained understanding of our CI/CD pipeline, and learned about our monitoring and logging tools.
Youโll complete your first multi-issue project
As you learn the ropes, youโre able to tackle more impactful projects, with input from domain experts where you need it.
Youโre actively improving the team
Youโll have gotten into the swing of contributing to regular team meetings and hack days, and youโve demoed something youโve worked on during a team sync.
Youโve added some documentation, how-to guides, diagrams, or other resources meant to help us and new hires in the future.
Youโve suggested an improvement to our development process.
Youโre flying solo
With the context youโve gained, youโre able to implement changes independently and youโre comfortable making big, impactful decisions in the course of your work.
Youโve developed an area of expertise
Our engineering team is just a few people, so each person quickly becomes a go-to resource in some area of the tech. Within your first quarter, we expect that thereโs a part of Elicit youโll become the domain expert for that others reach out to for support when working in this area.
You actively research and improve the product
By the end of your first quarter, youโll have gotten to know Elicit and our users well. We expect that youโll have thought about and scoped some user-facing improvements to the product as well as identified technical improvements to implement.
Strong technical aptitude that allows you to move comfortably around our back-end tech stack, with strong computer science fundamentals.
A genuine curiosity and enthusiasm for the capabilities of language models.
A defensive, fault-first mindset.
Above-average communication skills. Elicit is a small, highly-collaborative team, so youโll frequently be tapped to communicate complex engineering topics with stakeholders across the company.
A sense of joy in what you do. One thing we love about our team at Elicit is that everybodyโs a craftsperson who cares deeply about their field.
This role will report directly to James, our Head of Engineering, and work very closely with the rest of the engineering team:
You'll also spend a lot of time collaborating with Kevin (Head of Product), and co-founders Jungwon & Andreas.
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 can travel for in-person retreats and coworking events
Fully covered health, dental, vision, and life insurance for you, generous coverage for the rest of your family
Flexible vacation policy, with a minimum recommendation of 20 days/year + company holidays
401K with a 6% employer match
$2,000 device budget to start, with more accumulating for each month of work
$500 / year personal development budget
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!
For all roles at Elicit, we use a data-backed compensation framework to keep salaries market-competitive, equitable, and simple to understand.
This role starts between $195-230K + equity, depending on your level. We're optimizing for a hire who can contribute at a L4/senior-level or above.