Job Summary
Design, develop, and maintain enterprise-grade Java web applications and distributed systems. Lead scalable microservices and API implementations while collaborating across teams to deliver secure, maintainable software solutions throughout the full SDLC.
Responsibilities
Design, develop, and maintain enterprise-grade web applications and distributed systems using Java, Spring Framework, and Spring Boot to meet business needs
Architect and implement scalable microservices, RESTful APIs, and SOAP web services for seamless enterprise application integration
Develop backend business logic applying Core Java, object-oriented programming, Java Collections Framework, concurrency, and exception handling to ensure robust functionality
Analyze technical specifications and translate business requirements into secure, scalable, and maintainable software solutions
Collaborate with software architects, business analysts, and engineering teams on system design, technical solutions, and full software development life cycle (SDLC) activities
Conduct code reviews, design reviews, and pair programming sessions to enforce coding standards, design patterns, and software engineering best practices
Perform application profiling, debugging, performance tuning, and root cause analysis to resolve complex technical issues efficiently
Implement automated unit and integration testing and maintain code quality using established testing and code review practices
Manage application deployment, release validation, and post-production support across development, testing, and production environments
Mentor junior developers and contribute to technical documentation, continuous improvement, and development standards
Required competencies and certifications
Strong hands-on expertise in Java, Core Java, object-oriented programming, Collections Framework, multithreading, and concurrency
Extensive experience with Spring Framework, Spring Boot, microservices architecture, RESTful APIs, and SOAP web services
Strong knowledge of design patterns, SOLID principles, secure coding practices, and distributed application design
Experience in API integration, JSON/XML processing, exception handling, and application performance optimization
Proficiency in Git, Maven or Gradle, automated testing, and software build and release processes
Experience with unit testing frameworks such as JUnit and Mockito, and familiarity with CI/CD tools such as Jenkins
Strong understanding of Agile/Scrum methodologies, SDLC, code review practices, application deployment, and production troubleshooting
Excellent analytical, problem-solving, technical documentation, and cross-functional collaboration skills
Preferred competencies and qualifications
Minimum Bachelor's degree in Computer Science, Information Technology, Software Engineering, or a related discipline
Minimum 10 years of relevant experience in Java application development, including enterprise application design and implementation