We're always interested to hear from brilliant people, so if you think you could add value to our organisation, please send us your CV with a covering letter telling us why you think you'd be a good fit.
Current vacancies
Customer Success Engineer
About the role
Location: Guildford (United Kingdom) or Eindhoven (The Netherlands)
Contract type: Full-time
This is an exciting opportunity to join our growing team and work with cutting edge technology that is transforming how software is developed for some of the world’s most complex products. You will have the opportunity to work with global companies who are world leaders in their field. The successful adoption of our tools is achieved by building strong enduring relationships with our customers. We work closely with them to understand the challenges they face and to ensure that they maximise the value our tools can bring to the development of their products. This is a new role within our team and is a fantastic opportunity for the right person to bring their experience to the table and be integral in shaping this role.
You will be working closely with our customers at all stages, including from pre-sales to help them maximize the benefits of adopting our tools and supporting their growth. Responsibilities will include:
Supporting trials for new customers, which may include helping to identify suitable trial projects, and providing technical assistance.
Supporting customers on live projects.
Communicating new tool advances being developed to customers.
Developing and delivering training courses.
Developing online documentation and material to support the adoption of our tools. For example, online tutorials or videos covering specific features.
Understanding and resolving technical issues raised by our customers and providing feedback to our development team accordingly.
This role will involve a mixture of working in the office, remote working, and working at customer sites. As we have customers in different countries, this role will also involve some travel.
About you
We are looking for an experienced, motivated software engineer, who has excellent communication skills, loves working with the latest technologies, solving challenging problems and has a passion for learning. As we build tools prove the correctness of software, having a sharp attention to detail is also a must.
To be effective in this role requires a strong combination of hard and soft skills and requires a broad set of knowledge as this role will involve working in varied customer environments that are out of our control. Essential skills include:
Have an undergraduate or higher-level degree in a Computer Science related subject.
5+ years of experience in a developer role.
2+ years of experience in a developer role involving modern C++.
2+ years of experience working in a high-tech manufacturing industry, for example, semiconductor manufacturing, medical systems, automotive, or other industries that involve software controlling hardware systems.
Experience using Git or other version-control systems.
Experience of several different build systems.
Excellent communication skills.
Able to work collaboratively within a team and independently on your own.
Naturally proactive and self-motivated.
Beneficial skills:
Strong presentation skills.
Strong technical writing skills.
Experience in developing software in C and C#.
Experience in developing software using Coco and Popili.
Experience in supporting customers in the adoption of new technologies.
What we offer
We offer competitive benefits to all our employees, such as:
Competitive salary depending on experience.
Opt-in health insurance.
Discretionary bonus based on Cocotec's results and personal performance.
Generous pension contribution.
25 days annual leave (in addition to bank holidays).
Opportunities for partial remote working and flexible working hours.
Applications
To apply for this role, please send a covering letter and your CV to recruitment@cocotec.io. If you have any further questions about this role, then do get in touch with us, as we would be delighted to have a chat with you about it.
Junior C++ Developer
About the role
Location: Guildford, United Kingdom
Contract type: Full-time
This is an exciting opportunity to join our development team and work on cutting edge technology that is transforming how software is developed for some of the world’s most complex products.
This role will involve working on our implementation of the Coco language and on building the Popili tool. Popili is a tool that helps users build and ensure the correctness of event-driven software by using a combination of formal verification and testing techniques. Depending on your experience, working on Popili could involve:
Adding new features to the Coco programming language which would involve working on our compiler frontend, which includes components such as a parser and a typechecker.
Building high-quality code generators to convert Coco into C++ or other programming languages to enable users to run their Coco programs in production.
Writing user-facing tools that allow our users to work enjoyably with Coco, such as automatic formatters, code completion (we support the language server protocol), visualisers or even simulators to help users understand the code they’ve written before executing even a line of it in production.
Working on our advanced formal verification engine and considering how to efficiently and automatically verify properties that users are interested in, or how to provide the user with clear actionable feedback.
Writing tools that can automatically test complex event-driven software.
Working with our users (who are primarily software developers) and understanding the problems they are running into and suggesting how Popili or Coco could be improved to tackle them.
Responsibilities:
Develop high-quality software using industry best practices.
Help maintain the build and test environments.
Identify bugs and produce solutions to them.
About you
We are looking for intelligent, motivated software engineers, who love working with the latest technologies, solving challenging problems and have a genuine passion for learning. As we build tools prove the correctness of software, having a sharp attention to detail is a must.
Essential skills:
Have an undergraduate or higher-level degree in a Computer Science related subject.
Experience developing software using modern C++, either in a previous job or on personal projects.
Track record of contributing to large projects, reflective of experience. This may include projects undertaken in your own time.
Competence using Git or other version-control systems.
Experience following test-driven development using CI/CD setups.
Passion for working with new technologies and tools.
Beneficial skills:
Experience developing programming languages including abstract syntax trees and program transformation techniques.
Experience in building compilers.
Experience with one or more of: Bazel; gRPC; Language Server Protocol; LLVM.
Experience working in cross-platform projects.
What we offer
We offer competitive benefits to all our employees, such as:
Competitive salary depending on experience.
Opt-in health insurance.
Discretionary bonus based on Cocotec's results and personal performance.
Generous pension contribution.
25 days annual leave (in addition to bank holidays).
Opportunities for partial remote working and flexible working hours.
Applications
To apply for this role, please send a covering letter and your CV to recruitment@cocotec.io. If you have any further questions about this role, then do get in touch with us, as we would be delighted to have a chat with you about it.
Senior C++ Developer
About the role
Location: Guildford, United Kingdom
Contract type: Full-time
This is an exciting opportunity to join our development team and work on cutting edge technology that is transforming how software is developed for some of the world's most complex products.
This role will involve working on our implementation of the Coco language and on building the Popili tool. Popili is a tool that helps users build and ensure the correctness of event-driven software by using a combination of formal verification and testing techniques. Depending on your experience, working on Popili could involve:
Adding new features to the Coco programming language which would involve working on our compiler frontend, which includes components such as a parser and a typechecker.
Building high-quality code generators to convert Coco into C++ or other programming languages to enable users to run their Coco programs in production.
Writing user-facing tools that allow our users to work enjoyably with Coco, such as automatic formatters, code completion (we support the language server protocol), visualisers or even simulators to help users understand the code they've written before executing even a line of it in production.
Working on our advanced formal verification engine and considering how to efficiently and automatically verify properties that users are interested in, or how to provide the user with clear actionable feedback.
Writing tools that can automatically test complex event-driven software.
Working with our users (who are primarily software developers) and understanding the problems they are running into and suggesting how Popili or Coco could be improved to tackle them.
Responsibilities:
Develop high-quality software using industry best practices.
Help maintain the build and test environments.
Identify bugs and produce solutions to them.
Debug and fix issues that are raised by customers.
Architect complex parts of software and participate in the design process for the overall Popili tool.
About you
We are looking for intelligent, motivated software engineers, who love working with the latest technologies, solving challenging problems and have a genuine passion for learning. As we build tools prove the correctness of software, having a sharp attention to detail is a must.
Essential skills:
Have an undergraduate or higher-level degree in a Computer Science related subject.
5+ years of experience in a developer role with C++ being your primary language.
Experience in one of: developing compilers, programming language design, formal verification, fuzz testing, developing virtualisation software, low-level kernel development, asynchronous stateful event-driven software.
Track record of contributing to large projects.
Competence using Git or other version-control systems.
Experience working in cross-platform projects.
Experience following test-driven development using CI/CD setups.
Experience in both reviewing code and having code reviewed.
Passion for working with new technologies and tools.
Beneficial skills:
Experience developing programming languages including abstract syntax trees and program transformation techniques.
Experience with one or more of: Bazel; gRPC; Language Server Protocol; LLVM.
What we offer
We offer competitive benefits to all our employees, such as:
Competitive salary depending on experience.
Opt-in health insurance.
Discretionary bonus based on Cocotec's results and personal performance.
Generous pension contribution.
25 days annual leave (in addition to bank holidays).
Opportunities for partial remote working and flexible working hours.
Applications
To apply for this role, please send a covering letter and your CV to recruitment@cocotec.io. If you have any further questions about this role, then do get in touch with us, as we would be delighted to have a chat with you about it.
Summer Intern
About the role
Location: Guildford, United Kingdom
Contract type: Fixed term between 4 and 10 weeks
We’re looking for a smart, highly motivated computer science student to join us for an internship over the summer 2025. You will be working on challenging projects for the duration of your internship, providing meaningful and interesting work experience with high expectations of performance. You’ll collaborate with different members of the team, including our CTO, who is one of the founders and driving force behind our innovation and software.
The duration of this internship is flexible with a minimum of 4 weeks, and you must have the right to work in the UK. During this internship you will work on one or more projects that we will tailor according to your skills and what we are working on at the time. For example:
Create a demonstrator of how to use Popili and Coco by creating demonstrations that are controlled by software built in Coco. This might additionally involve creating Lego models, for example.
Experimenting with using AI to enhance specific aspects of our product.
Experimenting with ways of improving the performance of the formal verification engine.
Working on actual production issues alongside our existing development team.
About you
We are looking for intelligent, motivated students, who love working with the latest technologies, solving challenging problems and have a genuine passion for learning. As we build tools prove the correctness of software, having a sharp attention to detail is a must.
Essential skills:
Demonstrable experience of programming in any programming language, for example, as part of your degree, from previous work experience, coding competitions, or coding projects you have pursued in your own time.
Quick problem-solving capabilities.
Self-motivated, and able to work independently as well as part of a team.
A passion for exploring new technologies.
Basic familiarity with a version-control system such as Git.
What we offer
We offer a competitive salary, partial remote working, and flexible working hours.
Applications
To apply for this role, please send a covering letter and your CV to recruitment@cocotec.io. If you have any further questions about this role, then do get in touch with us, as we would be delighted to have a chat with you about it.
About Cocotec
Cocotec is a spinout company from the University of Oxford, having launched in 2019, and is headquartered in Guildford, UK. With a passion for software and an obsession with quality, we specialise in building tools for developers to help them dramatically improve software quality, accelerate delivery, and reduce costs. We work with global companies across sectors, such as semiconductor, medical and defence industries, and our tools are already being used to develop millions of lines of production code controlling some of the world's most advanced systems.
Our product, Popili, is a modern development tool that brings the power of automated formal verification to the user's existing software development environment. By using Popili, developers can eliminate entire categories of complex errors much earlier during the design and implementation phases of their system, which means the quality of their software entering test and integration phases is much higher. In turn, this significantly reduces the burden of testing at the later stages, allows a smarter testing strategy to be used, and results in higher quality products delivered on shorter, more predictable timeframes. One of core features of Popili is Coco, a modern programming language designed specifically for building event-driven software. Users write their software in Coco, automatically verify whether its correct using our bespoke formal verification tool, fix any errors found, and then generate code in C++, C or C#. Popili is designed to scale for industrial use, and for widespread general use across development teams, without the need for any expertise in formal verification.
We have an exciting technology stack, ranging from a frontend VSCode plugin written in Typescript, to the backend Coco-language technology and verification tool written in C++. We also deploy many services written using Rust, and are looking to use more Rust where possible. We use many open-source technologies to build our tools including Bazel, Eclipse, gRPC; Kubernetes; Language Server Protocol; LLVM; and VSCode.
We're seeking to grow our team with highly talented and motivated developers, who share our passion for building great software.