Compiler engineer — logic programming

Do you want to evolve a programming language and make its implementation screamingly fast? Do you want to push forward the boundaries of logic programming and Datalog industry research?

Role

As a compiler engineer working on the QL logic programming language, you will help us develop and improve QL (and its evaluation engine), which underpins all our program analyses, and calculates all the results served on lgtm.

Requirements

The main thing we look for in candidates is intelligence and the ability to learn, and thus we are interested in talking to people at any point in their career with a background in mathematics or computer science. The following areas are highly relevant to our work, so experience with any of them is desirable, though not essential:

  • Java, C/C++ or Rust
  • Compiler construction
  • Programming language design
  • High-performance interpreter construction and JIT compilation
  • Database theory
  • Declarative/logic programming (particularly Datalog)
  • Formal logic, lattice theory, abstract interpretation
  • Program analysis
  • Code generation

About Semmle

Semmle is the leading innovator in the field of software engineering analytics. Some of the most highly regarded software development organizations in the world use Semmle to develop better software faster. Built on groundbreaking compiler and data analysis research, Semmle’s QL is a state-of-the-art logic programming language enabling program analysis far beyond what was previously considered possible. Semmle is privately held and backed by top-tier investors including Accel Partners.

We offer intellectually stimulating work, competitive salaries, and a relaxed work environment in the vibrant heart of central Oxford.

How do you apply?

Semmle aims to hire outstanding people who have a diversity of perspectives, ideas and cultures. We actively support diversity and inclusion in the workplace and are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, gender identity, age, citizenship, marital status or disability status.

Please send your CV, and a short motivation to Pavel Avgustinov at careers@semmle.com.

We encourage applicants to let us know of any accessibility requirements, so that we may provide the best possible support during the application process and your time at Semmle.

We do not accept unsolicited agency applications.