Lead Java Developer
Job Description: Lead Java DeveloperJob Summary: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 QualificationsExperience with event-driven architecture and cloud-native application development.Knowledge of system design, high availability, fault tolerance, and application scalability.Experience with frontend technologies such as Angular, React, JavaScript, or TypeScript.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.Key CompetenciesTechnical 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.