MathWorks logo

MathWorks

Senior Compiler and Programming Languages Engineer

🇺🇸 Natick, MA

🕑 Full-Time

💰 TBD

💻 Information Technology

🗓️ March 26th, 2025

Edtech.com's Summary

MathWorks is hiring a Senior Compiler and Programming Languages Engineer. This role involves working on the MATLAB Coder Language team to design and implement a partial evaluation-based type inference engine, enabling MATLAB applications to run on various devices. This position entails designing compiler architecture, implementing language features, and evolving the type system to optimize MATLAB programs for multiple platforms.
 
Highlights 
  • Design and implement a partial evaluation-based type inference engine.
  • Translate MATLAB programs to low-level representations like C/C++/Cuda/LLVM.
  • Knowledge in functional programming languages and compiler frameworks (e.g., LLVM, MLIR) is beneficial.
  • Influence core design decisions in the compiler architecture.
  • Mentor junior colleagues and assist in technology adoption.
  • Essential qualification: Bachelor's degree with 6 years of experience, or equivalent advanced degree.
  • Familiarity with staged computation and partial evaluation is a strong advantage.

Senior Compiler and Programming Languages Engineer Full Description

Senior Compiler and Programming Languages Engineer


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 small 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 functional programming languages (e.g.,OCaml/Haskell/Racket) is a plus.
  • Familiarity with staged computation and partial evaluation (e.g., Zig, C++ meta-programming) is a strong plus.
  • Familarity with compiler frameworks (LLVM, MLIR) a plus.