Senior Software Engineer

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

Job Details

Company
Computer Network Defence Ltd (CND)
Location
Farnborough, England, United Kingdom
Posted