PhD Internships

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. If you are a PhD student in Computer Science, Mathematics or a similar area and are interested in the areas of programming languages, compilers, security research, program analysis, concurrency or declarative programming (like Datalog) then we may have some very exciting projects for you.

The main thing we look for in candidates is intelligence and the ability to learn. We seek interns with programming experience and a strong aptitude for solving problems in computer science and mathematics. We use a wide variety of technologies, including Datalog, Java, C++, C#, JavaScript, Python and GoLang. Familiarity with some of these is recommended, but intelligence, creativity and a good attitude are more important than experience, and we welcome applicants who are keen to pick up new skills on the job.

  Research areas of interest include:
  • Programming language design and implementation
  • Compiler construction; code generation and optimisation
  • Program Analysis; Abstract interpretation; Formal verification
  • Static analysis and dynamic analysis; data flow and information flow; security analysis
  • Security research and vulnerability/bug hunting
  • Logic programming and Declarative Programming (e.g. Prolog, Datalog)
  • C, C++, Java, JavaScript/TypeScript, C#, Python, GoLang 

As an intern at Semmle, you will choose from a wide range of projects in areas including static program analysis, compilers, Datalog query optimization, machine learning, data analysis and programming language design. You will then work on your selected project under the guidance of a Semmle engineer as your mentor.

You will be treated as a valued member of the team and given the freedom to pursue the best solutions to interesting problems. Interns are usually free from customer-facing obligations, allowing you to focus on designing and implementing a creative solution to your chosen problem while gaining valuable experience in software development and computer science research. In addition to guidance from your project mentor, you always have the opportunity to gain technical knowledge and professional advice from the rest of Semmle. The work we do here at Semmle has frequently been published at top-tier academic conferences and the research and work that you do also has the potential for academic publication.

Internships take place in our main development office in central Oxford, UK. This is a relaxed, quiet, and friendly working environment, with flexible working hours and no dress code. We pay competitive developer salaries, prorated for the duration of the internship. 
We are proud to have a close-knit and supportive team, which interns are very much a part of! Interns are welcome to join our informal Friday meetings to hear about the latest work from our teams across the US and Europe, get to know your colleagues over conversations, ping pong, pool or table football in our social area, and join us for evening events, summer barbecues and punting trips outside of work. 

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.

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