Software Lead ( Java)
Job description
About the Role: We are looking for a highly skilled Senior Software Engineer to join our engineering team and lead the design, modernization, and delivery of cloud-native applications. The ideal candidate will have strong expertise in Java 21+, Spring 7, microservices, Kubernetes, Angular, and DevOps practices, with proven experience in upgrading and refactoring enterprise-scale systems.
You will play a key role in building secure, scalable, and high-performance services while contributing to architecture decisions, engineering standards, and delivery excellence. Key Responsibilities
Design, develop, and maintain enterprise applications using Java 21+ and Spring 7.
Lead application upgrade, migration, and refactoring initiatives from legacy Spring/Java versions to modern platforms.
Build and evolve microservices-based architectures with a focus on scalability, resilience, and maintainability.
Implement secure API authentication and authorization mechanisms in distributed systems.
Apply Test-Driven Development (TDD) and promote high code quality through automated testing.
Develop and maintain frontend components using Angular.
Containerize applications and deploy microservices on Kubernetes.
Collaborate with DevOps teams to implement and improve CI/CD pipelines.
Work within trunk-based development workflows and modern Agile engineering practices.
Contribute to GitOps-based deployment and operational models.
Monitor and optimize application performance, including Java heap analysis, memory tuning, and troubleshooting.
Participate in architecture reviews, code reviews, and technical mentoring of other engineers.
Required Skills & Experience
8+ years of hands-on experience in Java and Spring application development.
Strong expertise in Java 21+ and Spring Framework 7.
Demonstrated experience with Spring upgrades, refactoring, and migration projects.
Thorough experience designing and implementing microservices architectures.
Strong knowledge of API authentication mechanisms such as OAuth2, JWT, OpenID Connect, mTLS, or similar.
Proven experience using TDD (Test-Driven Development) in Java projects.
Experience with unit, integration, and contract testing frameworks.
Minimum 2 years of Angular development experience.
Experience developing and deploying Kubernetes-based microservices.
Understanding of containerization and orchestration concepts.
Good knowledge of DevOps methodologies.
Experience with CI/CD pipelines (GitLab CI, Jenkins, GitHub Actions, or similar).
Experience with trunk-based development.
Understanding of GitOps concepts and Kubernetes deployments.
Interested in this role?