Lemurianlabs
Lemurianlabs

Senior DSL Engineer

engineeringfull-timeSanta Clara, California, United States, Toronto, Ontario, Canada, United States - Remote
SALARY
Not listed
WORK TYPE
remote
JOB TYPE
full-time
INDUSTRY
ai
Apply for this position
✦ AutoApply Let us apply to roles like this on your behalf.
Learn more

About the role

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.

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 concepts and object lifetime management in C++, including thorough familiarity with the semantics of shared_ptr, weak_ptr, and unique_ptr. The frontend uses a proprietary ARC implementation with similar semantics, and you must be comfortable reasoning about ownership, reference cycles, and clean teardown in this kind of system.
  • Experience designing compiler diagnostics (errors and warnings) that are clear and useful to end users.
  • Experience across the full software engineering lifecycle: product specification, requirements gathering, high-level design, low-level design, implementation, and testing.
✦ Let us apply for you
We find roles like this and apply on your behalf. Cover letter written for each one. Plans from $15/mo. Cancel anytime.
Get AutoApply
Apply now
Senior DSL Engineer at Lemurianlabs — Remote