Scope
We are seeking a highly skilled Software Development and Deployment Engineer to design, develop, integrate, and deploy real-time software applications within complex, distributed and containerised environments. The role requires strong proficiency in C++, with supporting capability in Java and Python, and a solid understanding of mathematics and signal processing to implement high-performance models into production software.
Role
You will work on high-quality, mission-focused software solutions, contributing across the full lifecycle from architecture and modelling through to integration, verification, deployment, and assurance, within a secure defence environment.
Responsibilities
- Design, develop, and maintain real-time software using C++, with supporting development in Java and Python.
- Apply software architecture principles for large-scale distributed systems.
- Implement mathematical, theoretical, and signal-processing models accurately in code.
- Use model-driven development, working with a mixture of autogenerated and handwritten code.
- Develop, deploy, and debug applications on Linux-based targets and Windows platforms.
- Package and deploy applications using containers (Docker, Podman, Kubernetes) and understand orchestration concepts.
- Apply high-integrity coding practices including unit testing, static analysis, and perform Software FMEA to identify, evaluate, and mitigate potential failure modes.
- Produce and maintain technical documentation across the software lifecycle.
- Support CI/CD pipelines using Jenkins, Git, Bitbucket, Artifactory, and Git.
Required Experience
- Experience within software engineering roles.
- Background in C++ development for real-time systems.
- Experience designing and integrating large-scale distributed systems.
- Experience deploying software into containerised runtime environments.
Required Skills
- Advanced proficiency in C++, with working knowledge of Java and Python.
- Knowledge of software architectures and distributed systems design.
- Computational mathematics and signal processing application.
- TCP/IP and IP networking protocols.
- Linux and Windows deployment and debugging.
- GPU programming awareness (CUDA, HIP, OpenCL).
- Web services and virtualisation technologies.
Required Education
Bachelor’s or Master’s degree in Software Engineering, Computer Science, Electronics, Mathematics, or a related discipline, or equivalent practical industry experience.
#J-18808-Ljbffr…
