Senior DSL Engineer
You will design and implement compiler frontend components including the lexer, parser, abstract syntax tree, and compiler passes for a domain-specific language targeting machine learning models. You will build type inference and shape inference systems, craft clear and actionable error and warning diagnostics, and work within a proprietary automatic reference counting system that governs memory management. You will participate in code reviews, collaborate through pair programming, contribute to the full software engineering lifecycle from specification to testing, and help shape the design of future DSLs as the platform expands to other scientific computing domains.
Responsibilities
- Design and implement compiler frontend components including the lexer, parser, abstract syntax tree, and compiler passes
- Design and implement type inference and shape inference systems for the DSL
- Design clear, actionable error and warning diagnostics
- Work within and extend a proprietary automatic reference counting system
- Participate in code reviews
- Collaborate through pair programming sessions
- Contribute to the full software engineering lifecycle from specification to testing
- Help inform the design of future DSLs for other scientific computing domains
Requirements
- BS degree in Computer Science, Computer Engineering, or equivalent practical experience
- Extensive experience designing and implementing domain-specific languages
- Deep expertise in compiler frontend engineering: lexical analysis, parsing, AST design, semantic analysis, and compiler passes
- Strong experience with type inference and shape inference systems
- Strong professional C++ background with modern C++ standards
- Deep understanding of automatic reference counting and object lifetime management in C++, including shared_ptr, weak_ptr, and unique_ptr semantics
- Experience designing compiler diagnostics that are clear and useful to end users
- Experience across the full software engineering lifecycle
- General familiarity with GPUs or other accelerator devices in high-performance computing and machine learning workloads
- Master's or PhD in Computer Science or Computer Engineering preferred
- Experience with or willingness to use AI-assisted code generation tools preferred
- Familiarity with PyTorch or similar machine learning frameworks preferred
- Experience with Python language internals or subsetting Python-like languages preferred
Benefits
- Equity
- Company bonus opportunities
- Medical coverage
- Dental coverage
- Vision coverage
- Retirement savings plan
- Wellness benefits