We are seeking an experienced Lead Java Developer to lead the design, development, and implementation of scalable, high-performance enterprise applications. The ideal candidate will have strong expertise in Java, Spring Boot, microservices architecture, RESTful APIs, cloud technologies, and database management. This role involves technical leadership, hands-on development, code reviews, architecture decisions, and collaboration with cross-functional teams to deliver high-quality software solutions.
Key Responsibilities:
- Lead the design, development, testing, and deployment of enterprise applications using Java and related technologies.
- Develop scalable and maintainable applications using Java, Spring Boot, Spring Framework, and microservices architecture.
- Design, develop, and maintain RESTful APIs and integrate applications with internal and external systems.
- Define technical architecture, coding standards, development guidelines, and best practices.
- Lead and mentor a team of Java developers, providing technical guidance and support.
- Conduct code reviews and ensure code quality, performance, security, and maintainability.
- Design and optimize database solutions using SQL and NoSQL technologies.
- Implement application security using Spring Security, OAuth 2.0, JWT, and related frameworks.
- Collaborate with product owners, business analysts, architects, QA teams, and DevOps engineers.
- Troubleshoot complex application issues, perform root-cause analysis, and implement effective solutions.
- Develop unit, integration, and automated tests using JUnit, Mockito, and related testing frameworks.
- Work with CI/CD pipelines, Git, Maven or Gradle, Docker, Kubernetes, and cloud platforms.
- Monitor application performance, scalability, reliability, and production stability.
- Participate in Agile/Scrum ceremonies, sprint planning, technical discussions, and release management.
- Evaluate new technologies and recommend improvements to existing applications and development processes.
Required Skills and Qualifications:
- Bachelor's degree in Computer Science, Information Technology, or a related field, or equivalent practical experience.
- 12+ years of experience in Java software development, including technical leadership responsibilities.
- Strong proficiency in Java 8 or later, including Java 11, 17, or 21.
- Extensive experience with Spring Boot, Spring MVC, Spring Security, and Spring Data.
- Strong knowledge of microservices architecture, REST APIs, and distributed systems.
- Experience with Hibernate, JPA, JDBC, and ORM frameworks.
- Proficiency in SQL databases such as Oracle, PostgreSQL, or MySQL.
- Experience with messaging technologies such as Apache Kafka or RabbitMQ.
- Familiarity with cloud platforms such as AWS, Microsoft Azure, or Google Cloud.
- Experience with Docker, Kubernetes, Jenkins, Git, Maven, and CI/CD pipelines.
- Strong understanding of object-oriented programming, design patterns, SOLID principles, and clean code practices.
- Experience with unit testing, integration testing, debugging, and performance tuning.
- Excellent problem-solving, communication, leadership, and team collaboration skills.
Preferred Qualifications
- Experience with event-driven architecture and cloud-native application development.
- Knowledge of system design, high availability, fault tolerance, and application scalability.
- Familiarity with Infrastructure as Code tools such as Terraform.
- Experience with observability tools such as Prometheus, Grafana, ELK Stack, or OpenTelemetry.
- Knowledge of DevSecOps practices and secure software development.
- Experience working in Agile/Scrum environments and distributed development teams.
- Technical leadership and team mentoring.
- System architecture and design.
- Analytical thinking and problem-solving.
- Effective communication and stakeholder management.
- Ownership, accountability, and decision-making.
- Ability to manage priorities and deliver high-quality solutions on schedule.