Description
Key Skills: Java, Spring Boot, REST APIs, SQL, Angular, React, MongoDB, Azure, Microservices, Hibernate
Good to Have Skills: Experience with JPA and transaction management, exposure to event-driven or message-based systems, Azure cloud-native development, API-based and file-based integrations using Azure Service Bus, DevOps familiarity with Azure DevOps and CI/CD pipelines, Docker and cloud platforms, Maven or Gradle build tools, software design patterns and layered architectures, performance optimization techniques, unit testing with JUnit and Mockito frameworks, performance profiling and memory analysis, experience with shipping/logistics workflows or scientific data processing in Genomics and laboratory systems.
Roles & Responsibilities:
- Own and drive hands-on design and development of complex, enterprise-scale Java applications.
- Lead technical direction for modules or subsystems while remaining actively involved in implementation.
- Support modernization initiatives, including migration from legacy or monolithic systems to modern architectures.
- Act as a technical mentor and role model for engineers across teams.
- Ensure solutions meet performance, scalability, security, and maintainability expectations.
- Design, develop, and maintain backend and full-stack features using Java, Spring Boot, REST APIs, and relational databases.
- Support modernization of legacy Java applications to modern, cloud-ready architectures.
- Build modular services and support microservices-based designs where applicable.
- Design and integrate RESTful APIs, backend services, and data models.
- Support UI teams building Angular or React frontends by providing robust backend APIs.
- Apply object-oriented design principles and design patterns including SOLID, OOP, layered and hexagonal architecture.
- Contribute to application and solution architecture discussions and guide design decisions.
- Ensure high code quality through unit testing, mocking frameworks, and static code analysis.
- Perform performance profiling, memory analysis, and JVM tuning to resolve bottlenecks.
- Work within Agile and Scrum teams, contributing to sprint planning, reviews, and retrospectives.
- Support end-to-end product development, including development, deployment, and maintenance.
- Collaborate with global teams and stakeholders across regions.
- Provide technical guidance and mentoring to engineers.
Experience Required: 8+ years of hands-on experience in Java-based software development on global or enterprise projects. Proven experience in product development environments. Strong understanding of the Product Development Lifecycle and Lean Agile/Scrum methodologies.
Education: MCA or Bachelor's degree in Engineering, Computer Science, or equivalent