What we're looking for
As a Lead Java Engineer, you’ll have experience working in teams to deliver robust and scalable solutions for the automation of complex business processes.
Your team members will look to you as a trusted expert and will expect you to define the end to end software development lifecycle in line with modern best practices.
Your experience spans across projects with different architecture approaches, you have an understanding of SOA or Microservices and you are familiar with asynchronous messaging architectures.
You recognize the importance of using logging and monitoring best practices and you have experience in applying security principles to your applications.
Your application experience typically covers Java 8+, enterprise frameworks such as Spring, RESTful services with JSON, SCM tools like Git, a variety of tools for building the code such as Maven or Gradle and testing frameworks like jUnit and Mockito.
Moreover, you have experience integrating Java applications with relational databases and you have used JPA implementations such as Hibernate.
You enjoy working within cross-functional Agile teams and you are familiar with Scrum ceremonies.
DevOps principles underpin everything you do, and Continuous Integration, Delivery and Deployment will not be new terms.
You’ll understand and have realised the value of these practices through past experiences and will have helped design and build deployment pipelines using tools like Jenkins, command line utilities and infrastructure templates.
You’ll be comfortable designing and building for the cloud, preferably AWS, Google Cloud Platform or Microsoft Azure and will have designed and worked on architectures that include Platform-as-a-Service components and perhaps even serverless and container technologies.