Software Engineer (C++/Linux Real-Time Systems)
Matchtech
The Opportunity
Are you an experienced Software Engineer with a passion for building high-performance, real-time systems?
We are looking for a proactive and technically capable engineer to join a highly skilled development team responsible for designing, developing, integrating, and verifying advanced test and data capture systems. This is a hands-on role offering the opportunity to work on technically complex projects, developing software solutions that support the testing and validation of sophisticated, mission-critical technologies.
You'll be part of a collaborative team of software and systems engineers tackling challenging engineering problems using modern development practices and cutting-edge technologies. This role offers excellent opportunities for professional growth across a broad range of products, platforms, and technologies.
What You'll Be Doing
As a Senior Software Engineer, you will play a key role in the development of real-time software solutions operating within Linux environments.
Key responsibilities include:
- Designing and developing real-time test and data capture software using C++ on Linux.
- Integrating high-speed SFPDP cards into multi-channel data processing environments.
- Architecting, developing, and maintaining scalable multi-threaded applications.
- Implementing data sequencing, synchronisation, capture, and replay functionality.
- Collaborating with hardware teams to ensure accurate timing and seamless hardware/software integration.
- Leading and supporting integration, verification, and testing activities at both component and system level.
- Performing performance analysis, debugging, troubleshooting, and optimisation of real-time systems.
- Producing technical documentation including software architecture, interface definitions, and test procedures.
What We're Looking For
Essential Skills & Experience
- Strong commercial experience developing software in C++ within Linux environments.
- Knowledge and practical use of C# for tooling, interfaces, or supporting applications.
- Experience developing real-time data processing systems.
- Strong understanding of multi-threaded and concurrent programming concepts.
- Experience working with low-level I/O, DMA, PCIe cards, or driver-level interfaces.
- Experience developing sequencing frameworks, workflow engines, or state-machine-based execution systems.
- Proven track record integrating and debugging complex software and hardware systems.
- Strong understanding of software engineering best practices, memory management, and performance optimisation.
- Experience using version control systems such as Git and familiarity with CI/CD practices.
Desirable Experience
- Experience working with SFPDP (Serial Front Panel Data Port) technology.
- Knowledge of FPGA-based data acquisition systems and synchronisation techniques.
- Experience with Hardware-in-the-Loop (HWIL) environments, automated test rigs, or system test frameworks.
- Exposure to Real-Time Operating Systems (RTOS) or real-time Linux extensions.
- Experience using the LabVIEW suite of tools.
Why Join Us?
- Work on technically challenging and innovative engineering projects.
- Join a collaborative team of experienced software and systems engineers.
- Gain exposure to a broad range of technologies including real-time systems, data acquisition, hardware integration, and advanced testing environments.
- Be part of a supportive and inclusive culture that values innovation, continuous learning, and technical excellence.
- Enjoy opportunities for professional development and career progression.
If you're a self-motivated Software Engineer who enjoys solving complex technical challenges and developing high-performance software solutions, we'd love to hear from you.
Application opens at the source listing. Free for jobseekers.