Senior Software Engineer - C++
£Competitve + 27 Days Holiday + Pension + Bonus
We have a vacancy for a C++ developer to work on challenging projects in consumer 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++ and you will be equally comfortable with high-level design and abstraction as with implementation, deployment, testing and debugging of application code.
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.
Home to our global Research, Design and Development centre and all of our Commercial functions, Dyson HQ is tucked away in countryside famous for the railway tunnels and bridges of Isambard Brunel, who revolutionised modern engineering. Our secluded location helps us to protect our ideas and stay independent-minded. Yet nearby are the fashionable cities of Bristol and Bath (where a young James Dyson invented cyclone technology).
The building is the heartbeat of Dyson. Nearly 2,000 people, including James himself, spend their days strategizing, inventing technology and telling the Dyson story to the world. In 2017, our HQ will double its footprint with an ambitious new expansion.
• Development of software tools for the testing, simulation and analysis of products using Robotics, AI and Machine Learning algorithms.
• Development of software testing and validation strategies.
• Administration and maintenance of supporting infrastructure for software development.
• Definition of test tool architectures to support multiple products.
• Integration of product software with industry standard tools for simulation and testing.
• Collaboration with research engineers to understand theoretical algorithms such that they can be visualised and tested
• Strong background in C++.
• Proficiency with modern C++ idioms. Any of the following would be of interest: STL/standard library, smart pointers, functional programming style, design patterns, C++11.
• Software Configuration Management tools (source control, continuous integration, etc.).
• Ability to plan and estimate development tasks (ideally within an Agile framework).
• Experience with unit/acceptance testing and writing testable code.
• Demonstrable industrial C++ experience.
• Knowledge of industry standard simulation and physics engines.
• Command of advanced C++/programming techniques e.g. templates, concurrency.
• Use of Qt libraries.
• Previous Linux experience (e.g. basic system administration).
• Knowledge of Python.
• Mathematical/scientific background.