We are seeking a Lead Software Engineer – Java with Azure to join our team and contribute to a large, multi-module codebase spanning multiple repositories and integrations. The ideal candidate will thrive in a complex environment with multiple databases, Azure integrations, async messaging flows and a mix of legacy and modern modules, while driving technical excellence and product impact.
Responsibilities
- Develop and maintain Java applications using the Spring ecosystem across a multi-module codebase
- Design and implement RESTful APIs following OpenAPI specifications and best practices
- Work with relational databases including writing queries, managing JPA/Hibernate and handling schema evolution
- Build and maintain asynchronous, event-driven architectures using message queues
- Manage containerized environments and CI/CD pipelines for deployment and orchestration
- Integrate with Azure cloud services across various components of the platform
- Write unit and integration tests with strong code coverage discipline
- Identify and resolve technical issues such as stale dependencies, flaky tests, architectural drift and security gaps proactively
- Participate in design decisions and push features forward with an end-user impact mindset
- Articulate technical trade-offs, document decisions and maintain coding standards and architecture documentation
- Collaborate across service boundaries with multiple teams and stakeholders
Requirements
- 8+ years of professional experience in Java and the Spring ecosystem (Spring Boot, Spring Data JPA, Spring Security)
- Strong background in relational databases, specifically PostgreSQL, with expertise in JPA/Hibernate and Liquibase
- Hands-on experience with Kubernetes clusters (kubectl, k9s) and containerized environments including Docker and AKS
- Proficiency in CI/CD pipelines using GitLab CI
- Familiarity with Azure cloud services such as Azure PostgreSQL, Azure Service Bus and Azure Key Vault
- Knowledge of additional Azure services including Azure Blob Storage and Azure Identity (Managed Identity/UAMI)
- Skills in asynchronous/event-driven architectures using message queues such as Azure Service Bus or Kafka
- Expertise in RESTful API design, OpenAPI specifications and code generation
- Competency in writing unit and integration tests with JUnit 5 and Mockito
- Strong communication skills with the ability to thrive in complex environments and learn quickly
Nice to have
- Familiarity with Spring Cloud (Config Server, Azure starters)
- Knowledge of Resilience4j or similar circuit-breaker/retry libraries
- Exposure to reactive programming with Spring WebFlux and Project Reactor
- Understanding of Apigee or other API gateway platforms