Principal Software Engineer
Join a high-performing Cyber team delivering cutting-edge research, development and production programmes valued from thousands to multi-million-pound contracts. You'll provide technical leadership across the full software lifecycle, leading the design and delivery of embedded and application software while mentoring engineers and shaping best practice.
Key Responsibilities
- Lead the architecture, design, development, testing and delivery of high-quality software solutions.
- Define software requirements and architectures from system-level requirements.
- Develop embedded and application software using modern engineering principles and object-oriented design.
- Drive best practice across TDD, BDD, CI/CD, DevSecOps and secure software development.
- Produce technical estimates, proposals and bid responses, balancing performance, cost and schedule requirements.
- Mentor and coach engineers, conduct technical reviews and contribute to the Software Community of Practice.
- Provide technical leadership on complex programmes and support continuous improvement across tools, processes and methodologies.
- Line management responsibility for up to 5 engineers.
Essential Skills & Experience
- Degree in Engineering, Mathematics, Computer Science or a related discipline (or equivalent experience).
- Strong experience in one or more of:
- Embedded software development (Bare Metal, RTOS, Linux)
- Embedded Linux applications, kernel or driver development
- C and C++
- Solid understanding of software engineering lifecycles and best practices.
- Experience with Object-Oriented Design, Design Patterns and SOLID principles.
- Software testing, verification and design-for-test experience.
- Eligible to obtain and maintain SC and DV Security Clearance.
Desirable Experience
- Rust, JavaScript, Node.js or React.
- TCP/IP and communications protocols.
- CI/CD, version control and automated testing frameworks.
- UML, SysML, DOORS, Enterprise Architect or RSA.
- Knowledge of MISRA and secure coding standards.
- Master's degree in a relevant discipline.
This is an excellent opportunity for an experienced software engineer looking to take technical ownership of complex cyber and defence programmes while developing the next generation of engineering talent.