
Java Developer
- London
- Permanent
- Full-time
- Improve levels of code coverage in Cerberus Rules backend services
- Primarily making use of Java (17), Junit (5), Spring Framework and Spring boot (3.x)
- Identify areas of weakness in existing test suites and make appropriate improvements
- Contribute to reduction in defects found in preSIT environment by increasing test coverage and quality
- Run spikes/Proof of Concept work to identify better ways of testing (e.g. TestContainers and ToxiProxi)
- Refactor existing code to make it easier to test
- Refactor existing test code to improve maintainability and readability
- Produces or validates the schedule and effort estimate for each performed task
- Demonstrates an understanding of the importance of schedule and endeavours to estimate accurately and deliver according to those estimates
- Demonstrates skill and adeptness in team collaboration, technical discussion and negotiation
- Continually increases personal understanding of the test frameworks, technical concepts, methods and measurements that underpin the engineering disciplines and practices of BAE systems
- Works with Software Engineers to guide and assure their testing
- Works with requirements owners to refine requirements such that they may be proven through testing
- Demonstrates the ability to understand, challenge, contribute or construct functional and non-functional requirements and be capable of building tests in line with the requirements
- Exploits appropriate test methods, languages, libraries and techniques and apply these to software engineering tasks to realise the most effective outcome
- Ensures that all work is consistent with defined standards where standards exist and to withstand professional scrutiny in any case
- Ensures high quality and delivery standards are met and consistently deliver quality test artefacts and reports on time and within estimate.
- Demonstrates the professionalism to reflect on and improve personal performance
- Works as a member of an engineering team, collaborates with other team members and participates in technical discussions and conversations with customers