Software Engineer / Robotics Engineer / Systems Engineer
Commutable from Coventry, Leicester, Warwick, Birmingham, Northampton regions
12-month Contract (Maternity Cover)
Inside IR35
Hybrid Working – 2 days onsite required
- Contract Software Engineer / Robotics Engineer role working on the development and integration of advanced robotic systems for both military and civilian applications.
- Role would suit a Software Engineer / Robotics Engineer / Systems Engineer with strong C++ programming experience and a background in systems integration, embedded software or real time systems.
- Integrating third-party payload systems into the vehicle platforms, ensuring reliable communication, control and coordination between hardware and software systems.
The Software Engineer / Robotics Engineer Role
Responsibility for the integration and software development of payload systems, including sensors, cameras, actuators and other specialist equipment, ensuring they operate effectively within a vehicle platform.
Key responsibilities will include:
- Managing the end-to-end integration of third-party payload systems, from initial technical assessment and interface documentation through to testing and on-vehicle validation.
- Developing software abstraction layers and interfaces to allow different payload hardware and suppliers to integrate consistently into the autonomy platform.
- Designing and implementing state machines to manage payload operation, including initialisation, calibration, operating modes, fault handling and recovery.
- Developing payload behaviours and ensuring effective coordination with wider autonomous vehicle behaviours.
- Writing and maintaining communication drivers using CAN, serial and IP-based protocols.
- Defining and documenting software interfaces, communication requirements, system performance and diagnostic reporting.
- Developing diagnostic, logging and testing tools to identify, investigate and resolve payload integration issues.
- Implementing unit, integration and hardware-in-the-loop testing to ensure software reliability and performance.
- Working closely with external suppliers to resolve technical, firmware and communication issues.
- Supporting vehicle integration, testing and field trials, including debugging software on target hardware.
- Contributing to code reviews, technical discussions and the wider development of engineering capability within the team.
Your background as a Software Engineer / Robotics Engineer:
You will be an experienced software engineer or robotics engineer with a strong interest in systems engineering, hardware integration and developing reliable software for complex engineering applications.
You will ideally have:
- Strong modern C++ programming experience, preferably within a systems, embedded or real-time environment.
- Experience designing and implementing finite state machines, including fault handling and recovery mechanisms.
- Knowledge of hardware and network communication protocols, particularly CAN, serial communications and TCP/UDP.
- Experience of multi-threaded programming, synchronisation and thread-safe software design.
- An understanding of software performance, latency, determinism and efficient memory management.
- Experience developing and debugging software within Linux environments, ideally on target hardware.
- The ability to interpret technical documentation and work through complex hardware and software integration challenges.
- Experience using Git, CI pipelines and collaborative software development processes.