Sr. Java Developer - Struts Migration

IRIS SOFTWARE
Union City, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Union City, United States of America

Tech stack

Java
Apache Ant
Apache HTTP Server
Enterprise JavaBeans
Java Platform Enterprise Edition (J2EE)
Hadoop
Hibernate
Hive
IBM Websphere Application Server
Java Database Connectivity
Apache Struts
Javaserver Pages
Microsoft SQL Server
Red Hat Enterprise Linux - RHEL
Software Engineering
Web Platforms
XML
GitHub Copilot
Build Tools
Vulnerability Analysis

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.

Apply for this position