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 for mobile robotic products.
• Development of testing and validation strategies.
• Administration and maintenance of supporting infrastructure for software development.
• Definition of system architecture for robotic products.
• Integration of software with robotic hardware and mechanics.
• Support the development of test and simulation tools through requirements definition.
• Collaboration with robotics research engineers to implement theoretical robotic algorithms.
• Strong background in C++.
• Demonstrable industrial C++ experience.
• 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.
• 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.