hirly

Caizin

System programming

Pune, India

See how you match this job — and similar ones. Free.

Upload your resume and hirly scores it against this role at Caizin first, then against similar open jobs, and shows where you fit and why.

PDF or DOCX, up to 12MB. No sign-up to see your matches.

Get past the screening software and onto a recruiter's desk

hirly rewrites your resume for this job — matching the keywords and skills in the posting, moving your most relevant experience to the top, and writing a cover letter to fit. About 30 seconds.

  • Keywords matched to this posting
  • Fit score before you apply
  • Cover letter included

Matched against 2.4M live jobs from 200,000+ employers in 200+ countries.

Tailor my resume for this job →

Apply from your AI assistant

Connect hirly to Claude and ask it to apply to this job. hirly tailors your resume, fills the employer’s form and asks before sending. ChatGPT: manual setup today.

Some employer sites stop an application at a CAPTCHA or sign-in and hand it back with a link. Applying needs a paid plan. Works with any assistant that supports MCP.

hirly's read of this role

Seniority
Mid level
Country
IN
Work mode
On-site / unstated
First seen by hirly
23 Sept 2026

Derived automatically from the posting. Upload your resume above to see how the role scores against it.

the posting

Compiler / Transpiler Engineer (Mid-Level)

Team: Language Tools / Legacy Modernization About the project We are building a transpiler that converts UniBasic (a legacy BASIC dialect) into Java. The codebase we are modernizing is large: on the order of 14,000 source programs: so the transpiler is not a one-off script but a real compiler frontend:

What you will do • Implement and extend parsers for UniBasic statements and expressions (control flow, file/OS I/O, dynamic-array and multivalue operations, CALL dispatch), each producing well-defined AST nodes. • Build and refine semantic-analysis passes: name resolution, parameter-direction inference (input / output / in-out), and type binding/propagation across call sites. • Implement AST-to-AST transformations that lower UniBasic constructs to a Java AST, and help keep the emitter a pure printer. • Handle the hard, real-world edge cases legacy code is full of: ambiguous syntax, context sensitive tokenization, inconsistent formatting, and dialect quirks. • Write thorough tests for every parser, pass, and transformation: including golden-file tests that transpile real UniBasic and compile the generated Java. • Diagnose failures across the whole chain (a wrong .java output traced back to a lexer, parser, or transformer bug) and fix the root cause. • Contribute to design discussions on pipeline architecture, AST shape, and how new language features flow from parse → SEMA → transform → emit.

Must-have qualifications Compiler / language-tool fundamentals • 3–5yearsofsoftware engineering experience, including hands-on work on a compiler, tran spiler, interpreter, static analyzer, linter, or similar language tooling. • Solid working knowledge of the frontend pipeline: lexing/tokenization, parsing (recursive descent / Pratt / precedence handling), AST design, and at least one of semantic analysis or code generation. • Comfortable reasoning about grammars, precedence/associativity, and context sensitive parsing: and about why a construct produces the AST node it does.

Engineering craft • Strong Java (Java 17+) and comfort with a typed, Object-oriented codebase. • Disciplined about testing: you write tests for the code you change and treat a failing corpus file as a bug to root-cause, not skip. • Practical experience with refactoring and clean-code. 1 • Clear written communication; able to justify a parsing/lowering decision and document edge cases

Original posting on Caizin's site ↗

Browse similar roles

Want this one?

Upload your resume and hirly rewrites it for this job and writes the cover letter — in about thirty seconds, before you sign up.

Tailor my resume for this job