Role Summary:
We are seeking an experienced and results-driven Java Software Engineer with 6+ years of hands-on experience in designing, developing, and maintaining high-performance, scalable, and reliable software systems. The ideal candidate will have strong expertise in Java technologies, microservices architecture, CI/CD practices, and software design principles.
Key Responsibilities:
Software Development & Engineering Excellence
- Design, develop, and maintain robust and scalable Java-based applications.
- Write clean, efficient, reusable, and testable code following industry best practices.
- Develop RESTful APIs and microservices using Java SE/EE and Spring Framework.
- Ensure high performance, availability, and reliability of applications.
- Identify and resolve performance bottlenecks and system inefficiencies.
Architecture & System Design
- Participate in and contribute to high-level and low-level system design discussions.
- Design scalable microservices-based architectures.
- Apply SOLID principles, design patterns, and clean architecture concepts.
- Evaluate and recommend new tools, frameworks, and technologies.
- Contribute to technical roadmaps and modernization initiatives.
Code Quality & Testing
- Lead code reviews and enforce coding standards and best practices.
- Develop comprehensive unit and integration test cases using JUnit and Mockito.
DevOps & Continuous Integration
- Work with Git for version control and collaborative development.
- Implement and maintain CI/CD pipelines using Jenkins.
- Collaborate with DevOps teams for containerization and deployments.
- Support release management and production deployments.
Microservices & Distributed Systems
- Design and implement microservices architecture.
- Ensure proper API versioning, documentation, and security practices.
- Handle inter-service communication and distributed system challenges
Required Qualifications:
- Bachelor's degree in Software Engineering, Computer Science, or related field.
- 6+ years of professional experience in Java development.
- Strong understanding of object-oriented programming and system design.
- Proven experience working in enterprise or large-scale application environments.
Soft Skills:
- Strong analytical and problem-solving skills.
- Excellent communication and stakeholder management abilities.
- Ability to take ownership and lead technical initiatives.