Job Description
Role Overview
We are seeking an experienced Lead Java Developer to drive the design, development, and delivery of enterprise-grade software solutions. This role requires strong technical leadership, hands-on development expertise, and close collaboration with cross-functional teams.
Key Responsibilities
- Lead the design, development, and implementation of scalable software applications
- Review architecture diagrams and design specifications, ensuring best practices
- Maintain and enhance existing codebases; lead code and peer review processes
- Mentor junior developers and provide ongoing technical guidance
- Collaborate with Product, QA, DevOps, and other stakeholders to gather requirements and translate them into technical solutions
- Make sound architectural decisions considering security, scalability, resilience, and non-functional requirements (NFRs)
Required Skills & Expertise
Design & Architecture
- Review and guide architecture and design specifications
- Ensure security, scalability, resilience, and performance best practices
Java Development
- Strong knowledge of SOLID principles and clean coding practices
- Java 8 expertise (Lambdas, Streams)
- Experience with Reactive programming concepts
- Strong hands-on experience with Spring Framework and JPA/Hibernate
Microservices
- Design and implementation of microservices-based architectures
- Understanding of patterns such as Saga and Circuit Breaker
- API design and inter-service communication
- Experience with Spring Boot and distributed systems
Event Streaming
- Hands-on experience with Kafka and/or Azure Event Hubs
- Strong understanding of pub-sub models, partitioning, and replication
- Experience with exactly-once processing and schema management
- Event-driven system design
Cloud & DevOps
- Experience with Microsoft Azure, including AKS and Azure Event Hubs
- Deployment strategies using Helm
- CI/CD pipeline implementation and maintenance
- Containerization using Docker and Kubernetes
Problem-Solving & Collaboration
- Strong analytical and decision-making skills
- Ability to evaluate trade-offs and make architectural decisions under constraints
- Proven experience collaborating across teams (DevOps, QA, Product)
- Strong communication skills and a passion for knowledge sharing