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?
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.com
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
Semmle secures the software that runs the world. Google, Microsoft, NASA, NASDAQ, Credit Suisse, Capital One and many others rely on Semmle’s products to produce more trustworthy and reliable code. Our technology treats code as data: complex inter-procedural analyses can be expressed as concise queries in a declarative query language. This is particularly useful for variant analysis: finding all instances of a logical mistake that led to a known vulnerability.
We offer intellectually stimulating work, competitive salaries, and a relaxed work environment in Oxford, Valencia, Copenhagen, New York, San Francisco or Seattle.
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, colour, ancestry, religion, sex, national origin, sexual orientation, gender identity, age, citizenship, marital status or disability status.
Please get in touch via firstname.lastname@example.org