Exciting opportunity for a Technical Team Lead (Java stack) to join a Financial Services client of ours on a permanent basis. Our customer is technology rich and follow the full agile methodology. They are looking for driven technologists to join the organisation to support them with their ongoing business strategy. This role will focus on driving the Software Engineering team and take accountability for the delivery of innovative applications.
- Leading a team of Software Engineers
- Be an expert in agile software delivery, coaching others and introducing good practice such as test – driven development, continuous integration/delivery, pair programming etc.
- Design, Develop and test software solutions within a multi-disciplinary agile team
- Continually strive to improve the client’s products/applications, solutions, tools and processes.
- Demonstrable behaviours/leadership qualities and stakeholder engagement. Working with Product Owners, Business Analysts to shape requirements that you and your team can deliver successfully.
- Work across multiple disciplines (e.g. testing, business analysis and DevOps)
- Identify and manage risks within your solutions.
- Understand total cost of ownership of your solutions (including licenses, infrastructure, support etc).
Technical Skills Required
- Expert-level proficiency in one of the programming languages like Java, Python.
- Hands-on experience in designing and developing distributed, microservice-style, cloud native applications using Core Java 8, Spring/Spring Boot, distributed messaging (Kafka, AWS Kinesis), caching (Elastic, Redis), Restful APIs.
- Strong Knowledge of computer science fundamentals such as algorithms, data structures, object-oriented analysis and design.
- Understanding and experience of AWS cloud storage and computing platform (especially S3, Athena, Redshift, Glacier, EMR, EC2).
- Knowledge of software best practices, like Test-Driven Development (TDD) and Continuous Integration (CI)/Continuous Development (CD) as well as DevOps principles, tools (Docker, Kubernetes, etc.), and the intersection with cloud architecture.
- Experience of using testing frameworks and tools like JUnit, Mockito, Fitness, Cucumber, etc.
- Familiarity with Jira, Confluence, Git, Jenkins.