Language Engineering
Senior Static Analysis Engineer, Java EE
Build the analysis that turns EJB 2.x home/remote interfaces, Struts ActionForms, Spring XML wiring and JAX-WS endpoints into service boundaries, call graphs and OpenAPI 3.1 contracts.
- Mumbai or remote, India
- Full-time
- Language Engineering
- Posted 12 Oct 2026
What you will do
- Resolve deployment descriptors (ejb-jar.xml, struts-config.xml, web.xml, Spring application contexts) into a typed component graph joined to the Java AST.
- Build interprocedural call graphs that survive reflection-heavy frameworks: Struts action mappings, Spring AOP proxies and JNDI lookups.
- Map JAXB and WSDL types to JSON Schema 2020-12 with documented, tested rules for xsd:choice, nillable elements and xsd:decimal precision.
- Write the slicing rules that separate business decisions from transaction demarcation, logging and exception translation.
- Pair with forward-deployed architects when a customer codebase breaks an assumption, and turn each case into a regression test.
What we are looking for
- 5+ years of Java with deep knowledge of the Java EE stack you would be analyzing: EJB 2.x/3.x, servlets, JNDI, JTA.
- Hands-on experience with static analysis or program analysis: call graphs, points-to analysis, dataflow, or bytecode tooling such as ASM or Soot.
- Ability to explain a precision versus recall trade-off to an enterprise architect in plain language.
Nice to have
- Struts 1.x migration experience on a real system.
- Familiarity with WebSphere or WebLogic deployment descriptors.
- Experience with OpenAPI 3.1 and its JSON Schema alignment.
Where you will work
This role can be based at our Mumbai office or remote within India, with a week in Mumbai each quarter for planning. Office: 14 Floor-1 Plot-199, Maria Bhuvan P Dmello Rd, Mumbai G.P.O., Mumbai, Maharashtra 400001, India.
Apply
Tell us about the hardest thing you have shipped.
Send links to your CV, GitHub or anything you wrote. A hiring manager reads every application and replies within 10 business days.