DSL Engineer
Posted 14 Apr 2026
Advertised as “Senior DSL Engineer”
BranchFactor Summary
The original posting with the fluff stripped out
- Management level
- Individual contributor
- Employment
- Remote
No salary listed for this role.
Field of studyComputer Engineering, Computer Science (or related)
Study levelMaster's or higher
About Us
At Lemurian Labs, we're reimagining the foundations of computing to make AI accessible to everyone. Our mission is to remove the limits of scale, hardware, and cost that hold back innovation, so the people solving humanity's hardest problems can move faster.
We're building a new kind of software stack: a hardware-agnostic platform that makes every system — from a laptop to a supercomputer — feel like one seamless engine. Developers can write once, run anywhere, and get state-of-the-art performance across any chip, any cloud, at any scale. It's a complete rethink of how software and hardware interact — designed for the era beyond Moore's Law.
We're not looking for the comfortable or the conventional; we're looking for the bold. The engineers who crave frontier problems, who want to bend the limits of what's possible, who see infrastructure not as a constraint but as a canvas. If you want to build the foundation for the next era of AI and change what humanity can achieve in the process, join us.
About the Role
We are building a domain-specific language and compiler toolchain for programming machine learning models.
As a Senior DSL Compiler Engineer, you will focus on the compiler frontend: scanning, parsing, AST design and construction, compiler passes, type and shape inference, and error and warning reporting. You should be deeply comfortable reasoning about object ownership and lifecycle management in C++, and be prepared to work within a custom ARC system with semantics similar to the standard smart pointer types.
What You'll Do
- 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 that help users understand and resolve problems in their programs.
- Work within and extend a proprietary automatic reference counting system that governs memory management across the frontend.
- Participate in code reviews to maintain code quality and ensure sound design decisions.
- Collaborate through pair programming sessions.
- Contribute to the full software engineering lifecycle: product specification, requirements gathering, high-level design, low-level design, implementation, and testing.
- Help inform the design of future DSLs as the platform expands to other scientific computing domains.