Principal Software Engineer
Role details
Job location
Tech stack
Job description
Step into a world where innovation meets impact. This Principal Software Engineer role offers you the chance to be a part of cutting-edge defence technology, driving advancements that redefine security and protect lives. Working in a dynamic and collaborative environment, you'll lead projects that make a real difference, while enjoying excellent benefits such as private medical cover, flexible working hours, and participation in an annual bonus scheme. If you're ready to shape the future of defence systems by leading the design, architecture, and delivery of secure embedded and application software within advanced cyber and defence programmes. You ll work across the full software lifecycle from requirements and system design through to implementation, testing, and deployment while ensuring high standards in performance, security, and reliability. The position includes technical leadership of small engineering teams, mentoring junior developers, and contributing to multiple concurrent projects with varying scales and complexity. You ll apply modern development practices such as object-oriented design, DevSecOps, and continuous integration, while also supporting bids, cost estimation, and technical reviews. Strong experience in C/C++, embedded systems, and software engineering best practices is essential. The role requires working in highly regulated environments, including handling sensitive information and meeting strict security standards. Candidates must be eligible for UK security clearance, reflecting the critical nature of the work. Overall, this is a senior-level engineering role combining hands-on development with leadership and strategic technical input What You Will Do:
- Architect, design, develop, and test embedded and application software, ensuring high-quality and timely deliverables.
- Apply object-oriented design techniques to enable efficient code re-use and integration with testing frameworks.
- Review system design artefacts to derive software requirements and architecture that align with high-level system objectives.
- Develop and maintain knowledge of best practices in software development, including TDD/BDD, DevSecOps, and secure coding standards.
- Mentor junior engineers, provide technical leadership, and contribute to the improvement of tools, processes, and techniques.
- Generate technical proposals and accurate estimates for bids and projects, ensuring cost and schedule adherence.
Requirements
A degree in engineering, mathematics, or a science-based subject, or equivalent experience.
- Significant experience in embedded product development, including bare-metal and RTOSes such as Linux or ThreadX.
- Expertise in programming languages like C and C++, with a strong grasp of object-oriented design and design patterns.
- Familiarity with software testing, defensive coding standards, and tools for version control and automated testing.
- A proactive approach to problem-solving and a commitment to delivering high-quality solutions.