Software Engineer (C++/Linux Real-Time Systems)

Matchtech
Stevenage, UK
1 day ago
Apply on find.jobs
Prepare application

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours
Job source

Tech stack

Application Testing Systems Engineering Automation of Tests C Sharp (Programming Language) C++ (Programming Language) Concurrent Computing Continuous Integration Software Debugging Linux Memory Management Electronic Data Capture Field-Programmable Gate Array (FPGA)
+16 more
Hardware Design Hardware-In-The-Loop Simulation LabVIEW PCI Express Software Architecture Real-Time Operating Systems Software Construction Software Engineering System Testing Systems Integration Data Processing Multithreading Real Time Systems Git Stream Processing Software Version Control

Job description

NegotiableHertfordshire, EnglandPermanentThe OpportunityAre 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 DoingAs 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 ForEssential Skills & ExperienceStrong commercial experience developing software in C++ within Linux environments.Knowledge and practical use of C# for

Requirements

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 ExperienceExperience 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.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on find.jobs
Prepare application

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

52 sec

Running persistent Linux environments directly on Windows

Ben Breard Ben Breard · World Congress 2025

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

43 sec

Software engineering journey and local Manchester roots

Jonathan Tang · Coffee With Developers

3:55 min

Demonstrating .NET installation on Debian and Azure Linux

Silvano Coriani Silvano Coriani · Europe 2026 Virtual

56 sec

Favorite git commands and the importance of patch commits

Eileen Uchitelle Eileen Uchitelle +1 · Coffee With Developers

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

Videos

See all

Related articles

See all