Senior Software Engineer
This role combines deep technical expertise with leadership responsibilities, ensuring that systems are robust, scalable, and adhere to best practices.
Job Description:
We're seeking a seasoned software engineer to lead our development team. This is an excellent opportunity for a highly skilled professional to take on a leadership role and drive the delivery of complex software projects.
The successful candidate will have extensive hands-on experience in API development at scale, with a strong background in Java and Spring technologies. They will also possess expertise in RESTful API design, JUnit 5, and Mockito, as well as proven knowledge of CI/CD pipelines, TDD, BDD, and software design patterns.
Key Responsibilities:
* Specify, design, and review large or complex software applications, components, and modules.
* Perform impact analysis on major design decisions, assess risks, and make informed recommendations.
* Ensure system designs comply with standards and take corrective action where necessary.
* Lead the adoption of integration patterns, automation, and continuous integration practices.
* Partner with architecture teams to design and validate complex solutions, including proof of concepts.
Requirements:
* Take technical ownership across all stages of the development lifecycle.
* Define and promote development standards, policies, and best practices (including security, testing, and configuration management).
* Select, implement, and optimise tools and methodologies at programme, project, and team levels.
Qualifications:
* Bachelor's degree in Computer Science, Computer Engineering, or related technical field, or equivalent practical experience.
* 10+ years' enterprise software engineering experience, covering the full development lifecycle.
* A proven history of delivering complex software projects within agreed timeframes and quality standards.
* Experience working in agile, cross-functional teams.