MathWorks is hiring a Senior Compiler Engineer - Programming Languages. The role involves designing, implementing, and evolving the MATLAB Coder Language team's partial evaluation-based type inference engine and optimizing compiler. The engineer will work on translating MATLAB programs into low-level representations and help advance the MATLAB programming language for embedded system development while collaborating closely with customers and mentoring junior team members.
Highlights
Design, implement, and evolve intermediate representation, type system, and static analyses of the compiler
Develop new language features for ahead-of-time compilation of MATLAB
Influence core compiler architecture decisions
Interact with internal and external customers to gather requirements
Assist teams in adopting MATLAB Coder Language technologies
Mentor and onboard junior engineers
Create and improve software development processes
Salary range: $132,500 - $205,400
Required qualifications: Bachelor's degree with 6 years experience, Master's with 3 years, PhD, or equivalent experience
Preferred skills include knowledge of staged computation, partial evaluation, LLVM/MLIR, functional programming languages (OCaml/Haskell/Racket), and experience with large codebases
Senior Compiler Engineer - Programming Languages Full Description
MathWorks is aware of fraudulent messages claiming to be from our recruiters. Learn more on our FAQ page.
Job Summary The MATLAB Coder Language team is seeking a programming language design and implementation specialist to work on its partial evaluation-based type inference engine. Your contributions will enable the deployment of MATLAB applications across a wide range of devices, from automobiles to spacecrafts. We seek individuals who are passionate about implementation and have a proven track record of bringing complex ideas to life.
Responsibilities
You will join a tight-knit and highly collaborative team of engineers who own the partial evaluation-based type inference engine and optimizing compiler used to translate MATLAB programs to low level representations (e.g., C/C++/Cuda/LLVM). You will design, implement and evolve the intermediate representation, type system, and various static analyses of the compiler. You will implement new language features that enable and support the various use-cases of ahead-of-time compilation for MATLAB.
As a compiler engineer, you will have a chance to influence the core design decisions of the compiler architecture. As a language engineer you will help evolve the MATLAB programming language to be more suitable for embedded system development.
As a senior member of the team, you will also:
interact with external and internal customers to understand their requirements
help teams adopt our technology
mentor and onboard junior colleagues
create and enhance our software development processes
Minimum Qualifications
A bachelor's degree and 6 years of professional work experience (or a master's degree and 3 years of professional work experience, or a PhD degree, or equivalent experience) is required.
Additional Qualifications
Familiarity with staged computation and partial evaluation (e.g., Zig, C++ meta-programming) is a strong plus.
Familiarity with compiler frameworks (LLVM, MLIR) is a plus.
Familiarity with functional programming languages (e.g.,OCaml/Haskell/Racket) is a plus.
Experience contributing to or maintaining large codebases is a plus.