
Compiler Engineer
Tangram Flex28 days ago
Remote, United States or Dayton, OH, USAMid Level
Responsibilities
- Design, implement, and maintain interpreter and transpiler components, including front-end parsers, type checkers, optimization passes, and back-end code generators.
- Write efficient systems software in languages such as C, C++, Rust, and Python.
- Analyze generated assembly and intermediate representations, profile execution, and implement vectorization, instruction scheduling, register allocation, auto-parallelization, and target-specific optimizations.
- Support build systems, linkers, debuggers, static analysis tools, runtime systems, garbage collectors, and allocators.
- Collaborate with hardware and systems engineering teams to target and optimize for instruction set architectures and specialized accelerators.
- Contribute to domain-specific language features, language extensions, grammars, and language semantics.
- Create unit, regression, and benchmark test suites for interpreter correctness, stability, and performance.
- Work with systems engineers, product teams, and defense stakeholders to translate requirements into verified software and test plans.
- Communicate technical findings to business and technical users throughout the program lifecycle.
Requirements
- Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Systems Engineering, or an equivalent technical field.
- At least 3 years of experience working on compilers, interpreters, or transpilers for parallel architectures.
- Ability to obtain or possess a current or recent U.S. Government security clearance; U.S. citizenship is required to obtain clearance.
- Experience with systems programming, raw memory management, performance optimization, and modern programming practices.
- Deep understanding of interpreter and transpiler architecture, including lexing, parsing, ASTs, intermediate representations, control-flow and data-flow analysis, and optimization passes.
- Understanding of computer architectures including x86, ARM, and RISC-V, as well as assembly language.
- Experience creating or extending language grammars.
- Preferred experience with LLVM, GCC, MLIR, Cranelift, or NVVM.
- Preferred experience with FPGA configuration and programming logic, program analysis, static or dynamic code analyzers, formal verification, or open-source compiler and language infrastructure projects.
- Ability to travel occasionally for customer support and presentations and meet the stated physical and mobility requirements.
Benefits
- Hybrid work options and flexible working hours.
- 10 paid holidays and generous paid time off.
- Employer-paid medical, dental, vision, short-term disability, and long-term disability insurance.
- Access to group life insurance rating plans.
- Employer contribution to a health savings account.
- Competitive 401(k) employer match.
- Engineering culture supporting transparency, collaboration, internal tech community events, Lightning Talks, Integration Events, and professional growth.
- Work is performed in Dayton, Ohio, with occasional travel by air, car, or other transportation methods.