At Dyson we are encouraged to think differently, challenge convention and be unafraid to make mistakes. We’re creative, collaborative, practical and enthusiastic. But most of all we’re hugely passionate about what we do.
Dyson offers a unique opportunity for talented individuals who wish to invent, design and develop leading products for the global market. By working in our world class Research Design and Development department, these individuals have the opportunity to work alongside leading technical specialists and highly motivated creative people, to create products which fulfill our ambition of being truly different and better than our competitors
We have a vacancy for a C++ developer to work on challenging projects in robotics. We work in a supportive environment, in a team which is constantly aiming to improve itself. We are looking for someone who shares this ethic, and expresses a desire to create high-quality, robust code to solve diverse real-world problems. You must be fluent in C++, with a detailed understanding of the C++ build process and runtime environment. You will be equally comfortable with high-level design and abstraction as with implementation, deployment, testing and debugging of application code.
This is what we need you to do...
Development of software for robotic products
Development of tools to support robotic product development
Development of testing and validation strategies
Administration and maintenance of supporting infrastructure for software development
System architecting for robotic products
Integration of software with robotic hardware and mechanics
Support and guidance of robotics systems engineers to realise theoretical robotic algorithms
This is what we need you to have...
The following skills are essential for this role:
- 2+ years C++ experience.
- Proficiency with modern C++ idioms e.g. standard library, resource management, functional programming.
- Software Configuration Management tools (source control, continuous integration, etc.).
- Ability to plan and estimate development tasks.
- Experience with unit/acceptance testing and writing testable code.
The following skills may also be beneficial (but are not essential):
- Command of advanced C++/programming techniques e.g. templates, concurrency.
- Previous Linux experience (e.g. basic system administration).
- Use of Qt libraries.
- Some knowledge of Python.
- Experience with concurrent/distributed programming.
- Mathematical/scientific background.
- Low-level microprocessor development.
In order to increase your chances of being short listed please ensure you submit a supporting statement in addition to your CV clearly addressing how you meet the essential & desirable criteria as outlined in the person specification, plus details of your current and required package.
Further information about Dyson is available at our website www.careers.dyson.com
