The position reports to the Head of Engineering. Job Overview: To lead the design, development, and enhancement of business-critical applications, providing technical guidance and mentorship to the engineering team. You will be a key player in driving our technical strategy and ensuring the delivery of high-quality, scalable, and robust software solutions. Your work life: To lead and own the full Software Development Lifecycle, from technical design, development, testing, deployment and support of end users. Drive the technical design and architecture of complex software solutions, making key decisions on technology stacks and implementation approaches. Set and enforce high standards for software quality, including code reviews, testing strategies, and performance benchmarks. Establish and promote best practices for software development, including coding standards, design patterns, and documentation. Mentor and coach junior and mid-level engineers, fostering a culture of technical excellence and continuous improvement. Lead project planning, estimation, and execution, ensuring timely delivery of high-quality software. Oversee the creation and maintenance of technical documentation, ensuring it is clear, comprehensive, and up-to-date. To be considered, you'll need: Bachelor&aposs Degree in Computer Science/Information Technology or equivalent. Strong experience (at least 5 years) in Java and Spring Boot framework, as well as its associated ORM frameworks such as JPA with Hibernate, MyBatis. Proficient in using dependency management tools such as Maven or Gradle to manage project dependencies. Understanding of Object-Oriented Programming (OOP) and SOLID principles. Strong background in RESTful API design principles and best practices. Knowledge of secure coding practices and application security principles, including input validation, authentication, authorization, and vulnerability mitigation. Basic understanding of front-end web development (HTML, CSS, JavaScript). Familiarity with any modern framework (React, Next, Vue) is a huge plus. Experience with Software Development Lifecycle (SDLC) as well as modern software engineering tools and practices such as Confluence, JIRA, Scrum and Agile methodologies. Ability to translate business requirements into system designs, solutions and design concepts using tools such as ER diagrams, UML, flow charts Well versed in relational database design and implementation, and proficient with relational database such as MySQL and PostgreSQL. Ability to write unit tests and familiarity with testing frameworks (e.g., JUnit, Mockito). Experience with JVM tuning and performance optimization, including garbage collector tuning. Strong understanding of microservices and design patterns, including API Gateway, service mesh, circuit breaker. Experience with containerization technologies, particularly Docker, for application development, packaging and deployment. Solid experience working with *nix systems and git. The following points are nice to have and will help us prioritise your application: Experience leading technical teams and projects. Cloud platforms (AWS, Azure, GCP) CI/CD pipeline experience (e.g. GitLab Pipelines, GitHub Actions, Jenkins) API documentation tools (Swagger/OpenAPI) NoSQL (MongoDB, Redis, AWS DynamoDB) HashiCorp Vault & Consul Message queues & Kafka streams Monitoring tools e.g. ELK, Grafana What you get: Cool and innovative work environment Work-life balance and our working hours are flexible We are too cool for ties. Smart casual is our game! We care about you and your family's health and wellbeing Learning and growth opportunity We have an indoor slide and a cafe! How fun is that! Free car park within the company compound *Only shortlisted candidates will be notified. So, make your CV as fun and interesting as possible! Show more Show less