We are seeking a Senior Lead Java Engineer to join our team and lead the development of scalable, high-performance solutions. This role focuses on leveraging Java technologies, cloud infrastructure, and modern development principles to deliver robust software products. Responsibilities - Design, develop, and maintain highly scalable Java applications using Spring Boot and Hibernate. - Collaborate with cross-functional teams to define technical requirements and design system architectures that leverage AWS services (EC2, S3, RDS, etc.). - Integrate and manage Elasticsearch for indexing and querying large datasets efficiently. - Write high-quality, efficient unit tests using Mockito to ensure extensive coverage and reliable code. - Ensure adherence to SOLID principles and other design patterns for maintainable, clean, and scalable code. - Lead technical reviews and mentor junior engineers to follow best practices in Java development and cloud infrastructure. - Optimize application performance and monitor resource usage in distributed systems. - Take ownership of the full software development lifecycle, from design to deployment, ensuring high standards of quality and reliability. Basic Qualifications - 8+ years of experience in Java development, with extensive knowledge of Spring Boot and Hibernate. Basic Qualifications (Continued) - 10+ years of experience in Java development, with extensive knowledge of Spring Boot and Hibernate. - Strong Linux development and deployment skills, including but not limited to bash scripting. - Knowledge of ISO and RPM creation and deployment. - Experience with CentOS/Red Hat distributions. - Full understanding of OS principles and architecture of real-time systems. - Proven experience in deploying and managing applications on AWS, utilizing services such as EC2, S3, and RDS. - Strong experience with Elasticsearch for efficient search and data retrieval.
Proficient in unit testing and mocking frameworks such as JUnit and Mockito. - Solid understanding of SOLID principles, object-oriented design, and design patterns. - Hands-on experience with Git, CI/CD pipelines, and Agile methodologies. - Strong communication skills to articulate technical concepts and mentor teams. Good to Have - Experience with containerization (Docker, Kubernetes) for deploying Java applications in cloud environments. - Familiarity with microservices architecture and event-driven systems.