Senior Software Developer C++
Role details
Job location
Tech stack
Job description
Canopy has developed cutting-edge vehicle simulation technology over a decade, and in that time our suite of high-performance tools has become well known and used worldwide in top level motorsport series including Formula E, Indycar, WEC, and F1. As we continue our growth, we are delighted to present an opportunity for a motivated and experienced C++ software developer to take ownership of key projects, processes, and standards which will underpin the future of the company.
No motorsport experience is required for this role. The successful candidate will be able to demonstrate deep knowledge of the C++ language and software development processes.
This is a perfect opportunity for an experienced developer looking for an opportunity to take on more responsibilities and to have more influence over the product while maintaining a remote, relaxed team environment and an enthusiastic, curious group of colleagues.
Responsibilities
This is a high-impact role where your contributions will directly improve the quality, performance, and reliability of our simulation suite. You'll be joining a small, highly capable and motivated team of vehicle dynamicists and simulation engineers keen to learn and develop their skills. Your experience will be valued and you'll be supported by the company leadership to make real change to the organisation. You'll have the opportunity to:
- Define, implement, and enforce code development standards and processes across the organisation, including defining our future relationship with AI tools
- Contribute to every stage of feature development, from proposal documentation through to QA and release
- Make technical and architectural decisions on major public-facing and internal feature developments
- Train and mentor our highly motivated team to improve software development standards and practices
- Build a portfolio of features and improvements to the team
- Learn about wide range of simulation technologies.
Requirements
Do you have experience in OOP?, * Expert-level C++ knowledge, including concurrency, templating, interoperability, object oriented principles and memory management
- Strong understanding of software architecture, API design, and common design patterns
- Experience building and deploying containerised applications (Docker is an advantage) and platforms such as dSpace and Speedgoat
- Experience in code review and testing strategies
- Excellent technical communication skills
- Ability to work independently and take ownership of technical standards.
Motorsport experience is not required. A good STEM degree is desirable but not essential; formal training in numerical methods and computational modelling is a benefit. Candidates would ideally have 3+ years of commercial C++ experience.
Desirable Skills
- Proficiency in DevOps practices, CI/CD workflows, and QA methodologies
- Experience with common code analysis and formatting tools (e.g. Clang, Valgrind)
- Experience with build systems, especially Cmake
- Experience with package management systems (e.g. Conan, VCPKG)
- Familiarity with interoperability between C/C++ and MatLab/C++