Sr. Java Developer - Struts Migration
Role details
Job location
Tech stack
Job description
We are looking for a hands-on Java Developer with deep experience in Apache Struts and enterprise Java migrations to join our client's application development team.
As a candidate will be stepping into an active, in-progress migration - 6 of 17 modules have already been completed, and established patterns are in place. Your mission is to carry that work across the finish line. This is a technical execution role - ideal for someone who thrives on structured, well-scoped engineering work and takes pride in clean, validated, production-ready output.
The selected candidate will be working on financial web platform spans which 9+ repositories and is built on Apache Ant + Ivy, deployed to IBM WebSphere.
Client will be migrating from Struts 2.5.x to Struts 7.x, which includes the full javax - jakarta EE namespace transition.
You will own the remaining 11 of 17 modules, working from established migration patterns already proven across the completed modules.
Responsibilities
- Execute module migrations - follow established patterns from the 6 completed modules to migrate the remaining 11 from Struts 2.5.x to Struts 7.x
- Perform Java to Jakarta namespace migration across Java source files - servlet filters, EJB beans, mail utilities, and action classes
- Update Struts XML configurations - migrate DTD references and validate action/interceptor/result mappings for Struts 7 compatibility
- Update web.xml deployment descriptors per module to the Jakarta EE schema .
- Upgrade transitive dependencies - Hibernate, Jackson, Bouncy Castle, and commons-fileupload as required per module.
- Validate JSP compatibility - confirm Struts taglibs render correctly under Struts 7.
- Build, test, and validate each module in non-production environments before sign off.
- Document all changes, decisions, and any module-specific issues encountered.
Requirements
- IT Industry Experience - 10 + Years.
- 3+ years of hands-on Java development experience (Java 11 or 17).
- Solid experience with Apache Struts 2.x - ActionSupport, ServletActionContext, interceptors, OGNL, and Struts XML configuration.
- Practical understanding of the Jakarta EE namespace migration (javax.servlet , jakarta.servlet, javax.ejb , jakarta.ejb, etc.) - including the non-obvious edge cases.
- Experience with Enterprise JavaBeans (EJB) specifically the Home / Local / Remote interface pattern.
- Proficiency with Apache Ant + Apache Ivy build systems.
- Experience deploying to IBM WebSphere Application Server (traditional and/or Liberty.)
- Working knowledge of Hibernate ORM (5.x and/or 6.x).
- Ability to work with JSP and Struts tag libraries.
- Experience with CVE remediation in enterprise Java applications.
- Experience migrating commons-fileupload (1.x ? 2.x / Jakarta variant).
- Knowledge of Jackson databind and Bouncy Castle library upgrade patterns
- Experience in Red Hat Enterprise Linux environments.
- Familiarity with SQL Server JDBC drivers and Apache Hadoop/Hive JDBC connectivity
- Prior work in financial services or other regulated industries.
- Experience with AI-assisted development tools (e.g., GitHub Copilot, Devin) for accelerating mechanical refactoring tasks.
- Familiarity with GEM vulnerability scanning or equivalent enterprise security tooling.