Apollo Research

Software Engineer

London, England, GB

6 days ago
Save Job

Summary

Applications deadline: The final date for submissions is 25 April 2025. However, we review applications on a rolling basis and encourage early submissions.


About Apollo Research

The capabilities of current AI systems are evolving at a rapid pace. While these advancements offer tremendous opportunities, they also present significant risks, such as the potential for deliberate misuse or the deployment of sophisticated yet misaligned models. At Apollo Research, our primary concern lies with deceptive alignment, a phenomenon where a model appears to be aligned but is, in fact, misaligned and capable of evading human oversight.


Our approach focuses on behavioral model evaluations, which we then use to audit real-world models. We also combine black-box approaches with applied interpretability. In our evaluations, we focus on LM agents, i.e. LLMs with agentic scaffolding similar to AIDE or SWE agent. We also study model organisms in controlled environments (see our security policies), e.g. to better understand capabilities related to scheming.


At Apollo, we aim for a culture that emphasizes truth-seeking, being goal-oriented, giving and receiving constructive feedback, and being friendly and helpful. If you’re interested in more details about what it’s like working at Apollo, you can find more information here.


About the Team

The current evals team consists of Mikita Balesni, Jérémy Scheurer, Alex Meinke, Rusheb Shah, Bronson Schoen, Andrei Matveiakin, Felix Hofstätter, and Axel Højmark. MariusHobbhahn manages and advises the team, though team members lead individual projects. You would work closely with Rusheb and Andrei, who are the full-time software engineers on the evals team, but you would also interact a lot with everyone else. You can find our full team here.


Responsibilities

  • Maintain and extend our internal library for building and running language model evaluations.
  • Work closely with researchers to understand what challenges they face. Rapidly prototype, iterate on and ship useful features to increase their productivity.
  • Collaboratively iterate on the vision and priorities for the internal software stack.
  • Advocate for good software design practices and the general health of the codebase.
  • Implement LLM agents to automate software engineering tasks.
  • Keep up-to-date with the latest approaches to implementing evals frameworks and LLM scaffolding (e.g. open-source projects and research papers).
  • If interested, you can also run well-scoped research projects yourself, e.g. build an evaluation or do capability elicitation for an existing evaluation.


Required Skills

  • At least 2 years of FTE-equivalent experience in software development with Python


Strong candidates may also have:

Note that we welcome and value applications with different backgrounds. We encourage you to apply even if none of the following apply to you.

  • Experience in rapidly iterating on software products in close collaboration with users. For example, you have built software tools for internal or external users for 1+ years.
  • Strong communication skills and user/researcher empathy to understand and address their needs.
  • You enjoy close in-person collaboration and pair programming.
  • Experience building organization-internal tools. For example, you have led the efforts of an organization-internal tool for at least one 6-month project.


Representative projects:

  • Implement an internal job orchestration tool which allows researchers to run evals on remote machines.
  • Build out an eval runs database which stores all historical results in a queryable format.
  • Implement LLM agents to automate internal software engineering and research tasks.
  • Design and implement research tools for loading, viewing and interacting with transcripts from eval runs.
  • Establish internal patterns and conventions for building new types of evaluations within the Inspect framework.
  • Optimize the CI pipeline to reduce execution time and eliminate flaky tests.


We want to emphasize that people who feel they don’t fulfill all of these characteristics but think they would be a good fit for the position nonetheless are strongly encouraged to apply. We believe that excellent candidates can come from a variety of backgrounds and are excited to give you opportunities to shine.


Evals Team Work

The evals team focuses on the following efforts:

  • As a software engineer, you work closely with all of our research scientists by building a high-quality software stack to support all of the following efforts.
  • We have recently switched to Inspect as our primary evals framework. If you want to prepare for the SWE role, we recommend playing around with Inspect.
  • Conceptual work on safety cases for scheming, for example, our work on evaluation-based safety cases for scheming
  • Building evaluations for scheming-related properties, such as situational awareness or deceptive reasoning.
  • Conducting evaluations on frontier models and publishing the results either to the general public or a target audience such as AI developers or governments, for example, our work in OpenAI’s o1-preview system card.
  • Creating model organisms and demonstrations of behavior related to deceptive alignment, e.g. exploring the influence of goal-directedness on scheming.
  • Designing and evaluating AI control protocols. We have not started these efforts yet but intend to work on them starting Q2 2025.


Company Benefits

We offer a competitive UK-based salary with flexible work hours. Enjoy unlimited vacation and sick leave. We also provide lunch, dinner, and snacks on workdays. You'll have the opportunity to join paid work trips such as staff retreats, business trips, and conferences. Additionally, a yearly $1,000 (USD) professional development budget is available.


Interview Process

Our multi-stage process includes a screening interview, a take-home test (approx. 2 hours), 3 technical interviews, and a final interview with Marius (CEO). The technical interviews will be closely related to tasks the candidate would do on the job. There are no leetcode-style general coding interviews. If you want to prepare for the interviews, we suggest working on hands-on LLM evals projects (e.g. as suggested in our starter guide), such as building LM agent evaluations in Inspect.

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job

People also searched: