Program Analysis Engineer | Software Research Engineer (Oxford, UK)

Are you fascinated by program analysis, especially of large and complex code bases? Do you know one or more programming languages inside out? Are you familiar with compiler internals, or the murky corners of the language specification? Would you like to help us secure the code that runs the world?

The main thing we look for in candidates is intelligence and the ability to learn. We are interested in talking to people at any point in their career: from Interns to Seniors and above. 
For this role, you should be able to demonstrate an interest in programming languages, a passion for coding and an appreciation of code quality and security. 

  Essential Requirements
  • Strong knowledge and experience of one or more of the following programming languages: C / C++, C#, Java, JavaScript, Python, Go  (this can be commercial, academic or personal experience)
  • A rigorous foundation in Computer Science (BSc, MSc, PhD or equivalent practical experience)

Desirable skills
  • Open-source software development and contributions to software repositories/communities (GitHub, StackOverflow, Bitbucket)
  • Program analysis or Programming language design
  • Compiler construction
  • Logic programming and Declarative Programming (e.g. Prolog, Datalog)
  • Functional Programming (e.g. Rust, Haskell, OCaml, Lisp, Elm etc.)
  • Abstract interpretation
  • Formal verification

As a Program Analysis Research Engineer, you would be part of a team of code analysis and compiler experts working to redefine what’s possible through static analysis & variant analysis. You’ll use Semmle QL to develop sophisticated analyses for security and code quality issues, and make sure the latest and greatest versions of a programming language are fully supported. You’ll collaborate with the Semmle Security Research team, and with Semmle’s customers, on creating the best analysis libraries possible. Much of your work would be out in the open, and would directly benefit tens of thousands of open-source projects via; the only variant analysis platform that combines deep semantic code search with data science insights to help developers ship secure code.

About Semmle
Semmle believes security is a shared responsibility. Our mission is to secure the code that runs the world by bringing the security and development communities together. Google, Microsoft, NASA, Uber, Palantir and many others rely on Semmle’s products to scale their security expertise and quickly explore any codebase to discover zero-days and all variants of vulnerabilities. We empower product security teams to deliver variant analysis results to development teams using LGTM to ship safe code and protect their customers. Semmle's platform enables the security community to collaborate and share their expertise in the field of variant code analysis and security research.

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 complete the following form to apply or feel free to get in touch with Zac Wallis at for more information. 

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.

Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field