Important: Due to the nature of the role, all candidates will need to be prepared to undertake DV clearance and therefore as a minimum be living in the UK 10 years.
Working: Possible Flexible and some remote working potentials.
❓ Want to Join a business who's capabilities address the highest classification levels of High Grade and Type 1 National Security, across a growing and thriving sector?
🏆 A reputable business who, have a number of awards, most recently been named as an Award winner (Gold Award) in MoD Defence Employer Recognition Scheme!
⭐Brand new site for 2023! Onsite Café, Free parking, Table Tennis and more!
✅ Full range of company benefits, flexible working, training, development and clear career progression!
As the Embedded Software Engineer you will define, design, develop, document and test embedded and/or application software as part of a software engineering team of 5-20 engineers, within the Communication Systems Business Unit, delivering multiple concurrent research, development and production programmes ranging from tens of £k to several £m.
Responsibilities:
- Implement embedded software under the direction of the project's software lead and engineering software lead.
- Manage security of information as defined in the Security manual to ensure compliance with Government regulations.
- Specify requirements, design, implement and test C and C++ embedded software and/or Python or C# application software in accordance with the project software development process to ensure high quality and timely software deliverables.
- Apply object oriented design techniques to enable code re-use and integration with testing frameworks
- Review and understand system design artefacts to enable the derivation of software requirements and architecture that meet the high-level system requirements.
- Design, document, review and maintain the software design using modelling tools such as RSA and EA, ensuring model can be used for accurate code generation as required.
- Develop and maintain knowledge of best practice development processes, language standards and tools, e.g. TDD/BDD, Continuous Integration, DevOps, static and run-time analysis tools, C#/C++/Python/C standards and secure software development.
- Estimate time and effort required for software activities and deliver to these time and effort estimates to ensure cost and schedule adherence.
- Proposes improvements in tools, processes and techniques that support quality and innovation and make the software development more efficient and effective.
- Actively contribute to defined aspects of the project to achieve optimal balance between requirements, schedule and cost.
Essential:
- Degree in an engineering, mathematical or science-based subject or equivalent experience.
- Experience of at least one of the following;
- Embedded product development (including bare-metal and RTOSes such as ThreadX, QNX or Linux)
- Embedded Linux application, kernel and/or driver development.
- C and C++
Desirable:
- Experience of best practice software development processes/lifecycles
- Exposure to defensive coding techniques and standards such as MISRA
- Knowledge of software engineering practices, methodologies, processes, techniques and technology trends
- Experience of DOORS, RSA, Enterprise Architect, UML and SysML
For full information, please get in touch!
