Software Compiler Engineer: Logic Programming (Valencia, Spain)

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? Would you like to help us secure the code that runs the world?

Requirements
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 a deep interest in compiler construction and language design coupled with a strong mathematical or computer science background. 

  Essential Requirements
  • Experience of one or more of the following programming languages:  C, C++, Java, Rust, C#, Prolog, Assembly, Python
  • Strong experience of software compilers; compiler construction; language design; database theory
  • A rigorous foundation in Computer Science and/or Mathematics (PhD’s are preferred; BSc, MSc or equivalent practical experience considered) 

  Desirable skills

  • High-performance interpreter construction and JIT compilation
  • Solid understanding of modern compilers (e.g. Clang, LLVM, GCC); how they perform and how they process highly complicated source code
  • Logic programming and Declarative Programming (e.g. Prolog, Datalog)
  • Programming language design and program analysis
  • Compiler construction; code generation
  • Abstract interpretation; Formal verification

Role
As a Compiler Engineer you will be working on QL. QL is a variant analysis engine that allows product security teams to quickly explore code to find zero-days and all variants of vulnerabilities. QL combines a simple query language with a comprehensive set of libraries to quickly create powerful analyses. 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, our platform for community-driven security analysis.


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 zac@semmle.com for more information. www.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.

Want to apply later?

Type your email address below to receive a reminder

ErrorRequired field

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field
Error
Error
insert_drive_file
insert_drive_file