Senior Java Engineering Lead Role Profile The successful candidate for the Company Senior Java Engineering Lead role, reporting to the Director of Technical Solutions & Delivery, will form part of a team building a complex, ground-up cloud-based critical market infrastructure service in a bold new venture in our customer projects. This exciting opportunity requires a candidate who takes great pride in delivering excellence with excellent logical and technical skills and a can-do attitude combined with a helpful mentality, and a wish to play a critical role in forming and growing a new business. Key Responsibilities Build, deliver and maintain the multiple components of the Project platform ensuring timely delivery of work items. Resolve a high impact problem through in-depth evaluation of sophisticated architectures, business processes and industry standards. Serve as advisor to develop highly resilient and future proof solutions. Contribute to research and suggest for new projects for the Company platform. Willing to take new responsibilities based on projects need and circumstances. Contribute and guide the program initiatives in engineering excellence and learning and development. Ensure work is well documented and communicated with stakeholder expectations managed. Be challenging and questioning while ensuring trust and respect are maintained and a one team mentality is promoted. Key Skills and Experience Event driven microservices architecture You have excellent understanding of microservices designs, its pitfalls, and best practices. You have knowledge of Domain Driven Design and event driven architecture. You have experience of working with containerised and orchestrated services using Docker and Kubernetes. You have experience of event-driven patterns that allow for an efficient and robust communication architecture. You have experience of building and maintain dev-ops pipelines for delivering applications ideally using GitLab. You have experience of using shift left testing principles and frameworks using technology such as Junit, Cucumber, Gherkin, Contract Test (PACT), TestContainers or other similar technology. You have working knowledge of using event and message brokers, such as Kafka and MQ. Advanced Java programming You have strong experience in Object Oriented Programming. You have a strong grasp of Java 17 and higher including advanced features and have used Spring Boot You are proficiency in developing and delivering enterprise grade Java applications. You have experience of working with data structures, algorithms, concurrency & multi-threading. Database Management You have strong SQL knowledge and experience working with relational DBs, such as Postgres. You have a working knowledge of object storages such as AWS S3. You have knowledge of Database version control tools such as Flyway and Liquibase. Cloud Architecture You have worked on major public cloud preferably AWS. You have used cloud-based technology like AWS Aurora, MSK, S3, IAM You have a basic understanding of cloud networking. Agile ways of working You understand and believe in the ethos of agile working. You have experience of working in Scrum/Kanban model. You can participate and actively collaborate and contribute to sprint ceremonies including Product Backlog Refinement. You have the experience of collaborating with cross-functional teams in scaled agile setups. The following skills are a nice to have but not essential. You have experience of writing applications using Scala. You have developed Web applications using ReactJS. Key Behaviours You have demonstrated a keen focus on delivery excellence, meeting commitments and managing your stakeholders expectations. You can demonstrate ability to take on responsibility and be accountable for it. You can work well within a team, are helpful and highly collaborative. You can work with the business, architecture, and delivery staff to understand their requirements in depth and translate that into robust timely delivered applications. You can be critical and challenging while maintain respect. You understand the importance of communication within a team and have championed it in the past. You have a desire to learn, improve and innovate. You have very high development standards, especially for code quality, code reviews, unit testing, continuous integration, and deployment. You are an engineer at heart that enjoys working with various technologies have an appetite for taking on challenges and maximising new technologies while minimising complexity.