Java Developer (Active SC Clearance Required)
Role details
Job location
Tech stack
Job description
The successful candidate will contribute across the full software development lifecycle, working closely with developers, testers, architects, and business stakeholders while embracing modern engineering practices such as TDD, CI/CD, and containerisation., * Design, develop, and maintain Java-based applications using Spring technologies
-
Develop secure and scalable RESTful APIs
-
Apply software design patterns and engineering best practices to produce maintainable solutions
-
Write clean, testable code using TDD principles
-
Contribute to automated testing and CI/CD pipelines
-
Support containerised application development and deployment
-
Participate in code reviews and technical design discussions
-
Troubleshoot and resolve defects and production issues
-
Collaborate with multidisciplinary Agile teams to deliver high-quality software solutions
Requirements
This role is centred on strong Java engineering, supported by practical experience with the Spring Framework, a solid understanding of software design patterns, and a passion for delivering high-quality code., Java (Primary Requirement)
-
Strong commercial experience developing enterprise applications using Java
-
Excellent understanding of: Object-oriented programming (OOP) SOLID principles Exception handling Collections and concurrency fundamentals Clean code and refactoring techniques
-
Experience developing secure, maintainable, and scalable backend applications
Spring Framework (Essential)
-
Proven experience with the Spring Framework, including Spring Boot
-
Strong understanding of: Dependency Injection (IoC) / Spring MVC / RESTful API development Configuration management / Integration with external services
-
Experience building production-ready applications using Spring-based technologies
Software Design Patterns
-
Strong understanding of software design principles and common design patterns
-
Ability to apply appropriate patterns to solve business and technical challenges
-
Comfortable discussing: Design decisions Architectural trade-offs Maintainability and scalability considerations
-
Awareness of patterns such as: Factory / Strategy / Builder / Singleton (where appropriate) / Observer Dependency Injection
Containerisation
-
Practical experience with container technologies such as: Docker & Kubernetes
-
Understanding of: Container lifecycle Local development environments Deployment considerations
CI/CD
-
Experience working with Continuous Integration and Continuous Deployment pipelines
-
Understanding of: Automated builds / Automated testing / Deployment pipelines Release management practices
-
Comfortable working within modern DevOps-enabled delivery environments