Full Stack Java Engineer
The ideal candidate will have a strong background in system modernization and software architecture, with expertise in clean layering, domain-driven design, and modular monoliths. They should be experienced in implementing or migrating to Hexagonal Architecture, CLEAN architecture, and Strangler Fig patterns. Additionally, they must have hands-on experience with AWS services, including Lambda, RDS, EC2, and S3.
About the Role:
We are seeking a senior full-stack engineer to join our team. The successful candidate will be responsible for participating in the architectural design and progressive refactoring of a legacy Java-based system into a clean, modular system. They will also contribute to backend and frontend development using modern Java and web frameworks.
Responsibilities:
- Participate in the architectural design and progressive refactoring of a legacy Java-based system into a clean, modular system
- Define and document architectural principles, modular boundaries, and migration strategy
- Contribute to backend (including DB) and frontend development using modern Java and web frameworks
- Refactor and re-architect legacy code to increase clarity, testability, and extensibility
- Maintain and enhance the AWS-hosted environment including services like Lambda, EC2, RDS, and S3
- Implement observability and monitoring solutions (e.g., CloudWatch, Sentry)
Requirements:
- 5+ years of Java development experience, including modern versions (Java 8+), Spring Boot, or equivalent frameworks
- Deep knowledge of software architecture, particularly in domain-driven design, modular monoliths, and clean layering
- Experience implementing or migrating to Hexagonal Architecture, CLEAN architecture, Strangler Fig pattern, or similar patterns
- Hands-on experience with AWS services, including Lambda, RDS, EC2, and S3
- Solid understanding of CI/CD, infrastructure as code (Terraform/CloudFormation), and DevOps practices
- Proficiency in troubleshooting distributed systems and handling complex production issues
- Working knowledge of relational databases (PostgreSQL, MySQL) and data modeling
- Comfort with front-end technologies (HTML/CSS/JS) for full-stack development where needed
- Strong version control experience with Git
- Excellent written and verbal communication skills