Skip to content
PYD ENTERPRISES

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.

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.

We use your details only to evaluate this application. See our privacy policy for retention.