Senior Java Software Engineer
We are seeking a highly skilled Full Stack Java Engineer to join our team. As a key member of our engineering team, you will play a pivotal role in the transition of our legacy system into a modern, modular, and scalable architecture.
The ideal candidate will have extensive experience in software architecture, particularly in domain-driven design, modular monoliths, and clean layering. They will also have hands-on experience with AWS services, including Lambda, RDS, EC2, and S3.
In this role, you will work closely with leadership and a small engineering team to gradually refactor and rebuild our core system while keeping the production environment stable, secure, and performant.
You will be responsible for participating in the architectural design and progressive refactoring of our legacy Java-based SaaS system. You will define and document architectural principles, modular boundaries, and migration strategy.
This is a hands-on role for a senior developer leader who enjoys solving complex challenges and driving software evolution across the full stack.
Key Responsibilities:
* Modernization & Architecture:
o Participate in the architectural design and progressive refactoring of our legacy Java-based SaaS system.
o Define and document architectural principles, modular boundaries, and migration strategy.
* Full Stack Engineering:
o Contribute to backend (including DB) and frontend development using modern Java and web frameworks.
o Refactor and re-architect legacy code to increase clarity, testability, and extensibility.
* Cloud Infrastructure & DevOps:
o Maintain and enhance the AWS-hosted environment including services like Lambda, EC2, RDS, and S3.
o Implement observability and monitoring solutions (e.g., CloudWatch, Sentry).
* System Maintenance & Stability:
o Monitor, debug, and resolve performance bottlenecks and system issues in production.
o Automate maintenance workflows and system health checks.
o Collaborate with stakeholders to address bugs, technical debt, and service improvements.
* Team Enablement:
o Share architectural knowledge through diagrams, documentation, and code reviews.
o Advocate for modern design principles and mentor developers on best practices.
Required Qualifications:
* 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.
Nice to Have:
* Familiarity with compliance/regulatory environments (e.g., HIPAA, SOC2).
* Exposure to modern frontend frameworks like React or Vue.
* Familiarity with observability tooling like Sentry, Prometheus, or ELK.
],