C++/Java Research Engineer - DiffBlue

Location: Oxford, UK
Closing date: 05 Oct 2020
Posted: 1 month, 2 weeks ago

If you would like to apply for this job, click here

Description

Diffblue is changing the way software is developed. We build products that have the potential to improve the experience of every software developer in the world. By using Artificial Intelligence to write unit tests, we are helping teams do more and better testing, sooner in the DevOps pipeline. We were founded in 2016, and in 2017 raised a $22 million Series A, the largest AI round in Europe that year.

We are looking for a research engineer with experience in C++/Java and dynamic/static program analysis. Although we are geeks at heart we also have a razor sharp focus on our customers as we strive to deliver unparalleled value in a new and exciting space. We are developing cutting-edge testing and vulnerability-detection products based on a number of verification approaches including fuzz testing and concolic execution. You will work with a team of 5 researchers and contribute to the research, design, implementation, and evaluation of the engine from the very early stages of development.

We promote an environment in which we support and learn from each other. This is a great opportunity for a research engineer to learn new AI and program synthesis techniques. We strongly believe that diversity is important for a modern business, and that when different opinions, backgrounds and life views meet, better results are obtained.

Responsibilities

  • Improve existing research techniques for verification and testing in order to make them ready to cope with industrial-size software.
  • Contribute to the design, implementation, and evolution of our dynamic analysis infrastructure.
  • Identify bottlenecks and bugs, and devise solutions to these problems.
  • Engage in writing scientific papers or patents.

Requirements

We are looking for people who have:

  • PhD in computer science or a related discipline
  • Strong proficiency in writing verification tools in C++ or Java
  • Proven experience with developing for verification/compiler architectures
  • Excellent communication skills
  • Familiarity with at least one of the techniques mentioned above
  • Proven track record of publications/patents in one or more of the techniques enumerated above

Optional but desirable skills

  • In-depth knowledge of the language specifications of the JVM or C.
  • Proficient understanding of the version control system GIT.
  • Familiarity with language tools, such as GDB, Gprof, and Valgrind.
  • Proven experience in contributing to large private or open-source projects.

Benefits

You’ll get to work in one of the hottest tech startups in the world of AI for code, applying state-of-the-art program analysis and synthesis technology to tough problems faced by development teams at the world’s leading companies.

  • Competitive salary
  • Private health and dental insurance plan
  • 8% non-contributory pension
  • Life insurance and Income protection
  • 25 days annual leave plus Bank Holidays
  • Free yoga and Gym membership.

If you would like to apply for this job, click here.

SIGN UP FOR OUR NEWSLETTER

Subscribe to our mailing list and get updates!

Do you want to become a member, a mentor or just want to support us?

Find out more >