Research Engineer | Software Engineer (Valencia)

Combining expertise in the fields of databases, programming languages, data science and security, Semmle is making software truly searchable, allowing deep meaningful questions to be answered, and insights to be shared.

We are hiring for Research Software Engineers to work in any of the following areas of product development:
  • Optimise our query language & analysis at the compiler, parser and extractor level.
  • Develop and optimise queries to analyze code and perform variant analysis.
  • Build & scale our code analysis platform, LGTM.
  • Improve our understanding of programming languages through program analysis techniques.
  • Implement novel machine learning techniques and deep neural networks into our products.
  • Create and improve developer tooling to help automate code analysis.
  • Work with customers to understand and analyze the world’s largest code bases.
  • Help to improve the most commonly used open source software by finding bugs and vulnerabilities and patching them.

As a research engineer at Semmle, you will be given the freedom to pursue the best solutions to interesting problems. If you are passionate about programming, join Semmle and help us in securing software, together.

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 at least one of the following programming languages: C, C++, C#, Java, JavaScript/TypeScript, Python, Go, Haskell, OCaml, Datalog  (this can be commercial, academic or personal experience).
  • A strong foundation in Computer Science (BSc, MSc, PhD or equivalent practical experience).

  • Desirable skills (Experience or academic study in at least one of the following is essential)
  • An interest in interesting technology e.g. Rust, Lua, Scala, Haskell, OCaml, Lisp, Elm, Prolog, Datalog, Clojure, Scheme.
  • Program analysis techniques; preferably static analysis (control flow; data flow; information flow; taint tracking); dynamic analysis; abstract interpretation.
  • Formal Verification and Formal Methods.
  • Programming language design and implementation.
  • Git; Cloud Computing; Continuous Deployment; DevOps; Kubernetes; Docker; Scalability; Containerisation.
  • Compilers; interpreters; parsers; formatters; extractors; tooling.
  • Open-source software development and personal contributions to software repositories/communities.

About Semmle
We believe security is a shared responsibility. Our mission is to secure all software by bringing the security and development communities together.

Our technology scales any organization's security expertise using QL to quickly explore any codebase to discover new vulnerabilities and all their variants. We empower product security teams to deliver variant analysis results to development teams using LGTM to ship safe code and protect their customers. Together, Semmle's platform enables the security community to collaborate and share their expertise in the field of variant analysis and security research. Our technology is free to use on open source projects using platform. At the time of writing, analysis results for over 135,000 projects are publicly available on

Security and software engineering teams at Google, Microsoft, NASA, Nasdaq and Uber depend on Semmle to secure their code. Headquartered in San Francisco, Semmle is a privately held company funded by Accel, with additional offices in Oxford, Copenhagen, New York City, Seattle, and Valencia.

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.  | 

Want to apply later?

Type your email address below to receive a reminder

Apply to Job

ErrorRequired field
ErrorRequired field
ErrorRequired field