Position: Java Team Lead
Company: Smart Hires
Category: Java
Experience required: 5y
English level: upper

**What you will do: **    

● Lead a team of TEN cross-skilled engineers in the creation of highly available, resilient, and scalable software solutions
● Develop your team through coaching, mentoring, on-the-job collaboration and regular 1-to-1 sessions
● Foster a culture of innovation, teamwork, diversity and self-organisation within your team through servant-leadership
● Code in JAVA, using a variety of frameworks, to migrate a monolithic architecture to event sourcing and microservices
● Plan risk mitigation for releasing code changes to our continuously operating business
● Participate in the evolution of system architecture and undertake proof-of-concept implementation
● Drive end-to-end continuous improvement of team processes by leading regular retrospectives
●You will report to the Head of Engineering

**What we are expecting from you:**

● An ability and personal drive to lead a team to high performance
● 6+ years of hands-on experience with Java (11 or 17), its libraries, and frameworks
● Well-practiced in best practices across the software life cycle; coding standards, code reviews, source control management, build processes, testing, and operations
● High level of English proficiency - able to communicate clearly and accurately about technical topics to technical and management colleagues
● Demonstrable Leadership ability in a technical environment:
         - leading groups to reach technical decisions aligned to commercial objectives, leveraging the knowledge and insight of the whole group
         - leading design and architectural conversations
● Experience in designing and implementing large-scale cloud-hosted distributed systems
         - solid knowledge of microservices oriented architectures
         - experience with asynchronous systems using messaging middleware (Pulsar or Kafka)
         - demonstrable ability to fully understand an Event Sourcing system
         - knowledge of Domain-Driven Design
         - solid knowledge of working in cloud-based infrastructure, ideally AWS
         - knowledge of Relational and NoSQL databases, especially PostgreSQL
         - experience of working with RESTful services
         - understanding of Cloud Native (12-factor app) principles
● Knowledge of Git, JIRA, Confluence
● Experience with build automation tools like Maven and Gradle
●Proven experience creating and working with Docker containers
● Understanding of Computer Science fundamentals like Data Structures, Algorithms, Distributed Systems, and Information Retrieval
● Demonstrable knowledge of software patterns
● Hands-on expertise in many disparate technologies, typically ranging from front-end user interfaces through to back-end systems and all points in between
● Demonstrable ability to efficiently manage a large number of concurrent disparate projects, product features, and activities
● Experience working in an Agile environment (Kanban or Scrum) with frequent, incremental delivery
● Educated to degree-level or equivalent by experience in a numerate discipline (engineering, science, maths)

 **What would be great to have:**

● Experience as an open source contributor and/or speaker
● Experience of working closely with Product Management

**What we offer:**

● Full remote, you will work from home, you have to be in the office once in a while
● You’ll work directly for us, no intermediate company
● 5 days of sick leave
● 20 days of holidays + public holidays
● A unique chance to gain a ton of experience in a real environment, working with a leading British company
● You will be able to test and experiment with a lot of new stuff
● Relocate to UK (depending on performance and eligibility)