Senior Software Engineer, Robotics - C++
£Competitive + 27 Days Holiday + Pension + Bonus
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.