Job Title: Software Engineer Location: Hertfordshire Salary: From £55,000 to £80,000 (depending on experience) Security Clearance: Up to SC level (British or dual applicants welcome) MULTIPLE SOFTWARE ROLES AVAILABLE Software Project Lead Responsibilities/skills: Develop and support software packages that interface with test equipment hardware to configure, verify, and validate product quality and conformance, covering development, production, and field test scenarios. Specialize in all aspects of test solution design, including software, hardware, simulation, and real-time systems Proven expertise in software development, ideally at a low level using the C language Proficiency in cost estimation, planning, and scheduling. Software Engineer – C / C Responsibilities/skills: Develop software for engineering test equipment to test complex missile systems and sub-components. Collaborate with diverse teams and stakeholders to deliver effective test engineering solutions from concept to production. Research and experiment with new technologies and methods to meet evolving customer requirements. Experience in developing software for test solutions. Strong skills in C/C++; experience with C# and scripting languages is a plus. Hands-on experience with electronics measurement and debugging tools such as DVMs, oscilloscopes, and spectrum analysers. Understanding of communication and serial interfaces (e.g., TFTP, Ethernet, RS232, RS422, RS485, Modbus, CAN, and 1553 buses). Lead Software Developer Responsibilities/skills: Lead a software development team to advance synthetic environments and simulation components. Bring a strong background in software development (C# and C++) Gain a broader understanding of systems engineering Work on cutting-edge defence systems, from conceptual design using advanced visualization techniques (AR/VR) through to in-service support and training. Embedded Software Engineer Responsibilities/skills: This is a technical hands-on role and will involve all aspects of the software life cycle with Strong proficiency in ‘C’ Programming Requirements capture Embedded Software Architecture and Design Implementation Verification (Reviews and Testing) Proven Hard Real-Time embedded software development experience. Familiarity with communication Protocols (e.g. SPI, UART, Ethernet, PCI-Express) Experience working with Software Design methodologies (e.g. UML) Full life cycle development experience Software Architect Responsibilities/skills: Define and document key design drivers for software solutions, such as real-time performance, safety, security, user experience, simplicity, reusability, and flexibility. Develop derived and emergent requirements, documenting assumptions and rationale. Define a robust architecture where implementation choices do not compromise architectural integrity. Strong technical background with the ability to make critical architectural and design decisions. Proficiency in modern software architecture techniques and design patterns. Advocate for software engineering practices such as continuous integration and robust design. Skilled in assessing and balancing trade-offs within software architecture, with a focus on design rationale. Knowledge of software abstraction layers, software stacks, and best practices. Experience in selecting and influencing tools, frameworks, and technologies. Strong programming background. Software Engineer – C# Responsibilities/skills: Develop and deliver innovative solutions to visualize, demonstrate, and simulate weapon systems. Support experimentation, design, verification and validation, and training systems. Contribute to the development of real-time software components, integrating hardware to create accurate representations of our systems. Experience in software engineering, with proficiency in C# and/or C++ development. Knowledge in one or more of the following areas: Real-time software Configuration control Continuous Integration and Continuous Delivery/Deployment Unit testing and Test-Driven Development Agile development practices