
Software Engineer C++
- Stevenage, Hertfordshire
- £65.00-67.00 per hour
- Permanent
- Full-time
- Designing and developing real-time test and capture software on Linux systems using C++
- Integrating and interfacing with high-speed SFPDP cards across multi-channel data pipelines
- Architecting and implementing robust, scalable, and maintainable multi-threaded applications
- Defining and implementing data sequencing and synchronisation logic for deterministic capture and replay
- Working with hardware teams to ensure seamless integration and timing alignment
- Leading and contributing to system integration, verification, and testing at both component and system levels
- Conducting performance analysis, debugging, and optimisation of real-time systems
- Documenting architecture, interface definitions, and test procedures
- Extensive experience in C++ development in a Linux environment
- Proficiency in C# for tooling, test interfaces, or Windows components
- Experience working with real-time data systems, particularly involving SFPDP or other high-speed digital protocols
- Demonstrable skills in multi-threaded and concurrent programming
- Experience with low-level I/O, DMA, or driver-level interactions with PCIe cards
- Familiarity with software sequencing frameworks or custom state machines
- Strong experience with integration, system test, and debugging complex interactions between software and hardware
- Understanding of software design principles, memory management, and performance optimisation
- Experience with version control systems (e.g., Git) and CI/CD pipelines
- Experience with SFPDP specifically in defence, aerospace, or data acquisition contexts
- Knowledge of FPGA-based data acquisition systems and synchronisation methods
- Familiarity with unit testing frameworks, automated test rigs, or hardware-in-the-loop setups
- Experience developing or integrating with real-time operating systems (RTOS) or using real-time Linux extensions