 
        
        Job Overview
The primary objective of this role is to collaborate with the Engineering Practice to design, develop and implement enhancements to our technical capabilities in Engineering.
Key Responsibilities:
 * Coach and mentor engineers to improve their engineering capabilities and embed robust practices.
 * Analyse system requirements and develop technical designs.
 * Develop and maintain application software.
 * Support the application software by analysing and fixing problems as required.
 * Perform unit and integration testing on developed code.
 * Produce thorough and effective unit and system test plans.
Requirements:
 * 6+ years experience in software engineering.
 * Experience in coaching and mentoring engineers.
 * Ability to learn new technologies.
 * Strong experience in Java, Spring-Boot, NodeJs REST API and microservice architecture.
 * Experience in testing frameworks, such as Cucumber, JUnit, REST Assured.
 * Strong experience in Databases (SQL/ORM/JDBC) and DevOps.
 * Experience supporting high availability production systems.