Senior Software Engineer
Computer Network Defence Ltd (CND)
Job Description
Job Title: Software Engineer Type: Permanent Location: Farnborough, UK Clearance: SC Cleared Role Overview: Are you passionate about building scalable software solutions and working with modern technologies in a collaborative environment? Our client is looking for a talented Software Engineer to join a dynamic development team, contributing to the design, development, and continuous improvement of high-quality software systems. This role offers the opportunity to work across both front-end and back-end technologies while embracing modern DevOps practices and cloud-based solutions.
Key Responsibilities: Collaborate closely with cross-functional teams to design, develop, and maintain innovative software solutions Use appropriate tools and methodologies to support all stages of the Software Development Life Cycle (SDLC), including design, development, and static analysis Manage code effectively using industry-standard version control systems (e.g. Git) Develop responsive and engaging user interfaces using JavaScript/TypeScript and React Design and build robust, scalable backend systems using languages such as Java, Python, or Go Leverage containerisation technologies (e.g. Docker) to ensure consistent environments and efficient deployment Build, maintain, and optimise CI/CD pipelines to automate software delivery Write clean, maintainable, and well-documented code aligned with best practices and engineering principles Participate in code reviews, providing and receiving constructive feedback to improve code quality Stay up to date with emerging technologies, tools, and industry trends Essential Skills and Experience: Bachelor’s degree in Computer Science, Engineering, or a related field Proficiency with Git for version control and collaborative development Strong front-end development skills using JavaScript/TypeScript and React Experience or familiarity with backend languages such as Java, Python, or Go Solid understanding of software engineering fundamentals, including algorithms and data structures Experience using Docker for containerisation Good understanding of DevOps practices, including CI/CD pipelines and automated testing Strong communication skills with the ability to work effectively in a collaborative team environment Ability to evaluate and compare technologies to support technical decision-making Adaptability and willingness to learn in a fast-paced, evolving environment Desirable and developing skills: Experience with cloud platforms such as AWS or Azure Familiarity with container orchestration tools like Kubernetes Understanding of Agile methodologies and DevSecOps practices Knowledge of web security principles and best practices Exposure to or interest in Rust programming language