Elicit - AI Engineer
Upload My Resume
Drop here or click to browse · PDF, DOCX, DOC, RTF, TXT
Requirements
• 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. • sense of joy • Your first week • 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. • Your first month • 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. • Your first quarter • You’re flying solo • 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. • Location and travel • 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 we have a quarterly team retreat, normally in and around the SF bay area.
Responsibilities
• Building and maintaining the backend systems using Node.js and Python with an emphasis on concurrency, fault tolerance, and distributed computing aspects. • Implementing static type checking in TypeScript for frontend development to ensure code reliability and quality assurance. • Managing state when utilizing large language models (LLMs) within conversations or interactions that require maintaining context over multiple exchanges with users or other systems. • Operating infrastructure using Kubernetes across cloud platforms, which includes deployments, scaling, and managing pods as well as understanding the differences between a pod and container for efficient resource utilization in production environments. • Engaging actively in code reviews on GitHub to maintain high standards of coding practices within the team while also contributing constructive feedback during CI processes using tools like anyio or trio, if applicable based on project needs (though this specific task is not explicitly stated).
Benefits
• 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. • 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 • Am I a good fit? • 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! • What you'll own • 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. • Projects you'll contribute to • You can view sample projects here. • 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 • 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! • 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): $195-285k + equity • Expert (L5): $220-320k + equity • Principal (L6): >$265 + significant equity • We're optimizing for a hire who can contribute at a L4/senior-level or above. • We offer above-market equity for all roles at Elicit, as well as employee-friendly equity terms.
No credit card. Takes 10 seconds.