Java Full Stack Engineer
Java Full Stack Engineer The Java Full Stack Engineer will be responsible for designing, developing, and deploying modernized services using Spring Boot, ensuring containerization best practices, and implementing cloud-native deployment on AWS ECS Fargate. The role requires strong collaboration with architects, DevOps, and QA teams to ensure successful migration and integration.
Key Responsibilities
Analyze Current Architecture:
Review JBOSS EJB-based services, dependencies, and transaction boundaries. Document integration points such as JNDI lookups, messaging, and database connections.
Design Spring Boot Equivalent:
- Convert EJB components to Spring Boot services using @Service and @Transactional annotations.
- Define REST/gRPC interfaces for communication with legacy EJB services.
- Implement Service in Spring Boot
- Develop microservices using Spring Boot, Spring Data JPA, and Spring Security.
- Implement RESTful APIs and integrate with AWS services where required.
- Write unit and integration tests using JUnit, Mockito, and Rest Assured.
Containerization:
- Create Dockerfiles for Spring Boot services and optimize images for security and performance.
- Deploy on AWS ECS Fargate
- Configure ECS Task Definitions, IAM roles, and networking (VPC, subnets).Implement CI/CD pipelines using Jenkins or GitHub Actions.
- Enable auto-scaling and monitoring via CloudWatch.
Migration & Validation:
Perform parallel runs of JBOSS and Spring Boot services.
Validate functional parity and performance benchmarks.
Support phased cutover and rollback strategies.
Collaboration & Documentation:
Work closely with architects, DevOps, and QA teams.
Maintain technical documentation for services, APIs, and deployment steps.
Participate in Agile ceremonies and sprint planning.
Mandatory SkillsJava 8/11, Spring Boot, Microservices, REST APIsFrontend: Angular/React, HTML5, CSS, JavaScriptAWS (ECS, Fargate, EC2, S3, RDS), Docker, Jenkins CI/CDDatabase: Oracle, PostgreSQL, AuroraAgile/Scrum methodology