MathWorks logo

MathWorks

Compiler Engineer LLVM

🇺🇸 Natick, MA

🕑 Full-Time

💰 TBD

💻 Product Development

🗓️ April 2nd, 2025

Edtech.com's Summary

MathWorks is hiring a Compiler Engineer LLVM. The role involves working on core technology for MathWorks code generation products, focusing on program analysis, language transformation, compiler optimization, and just-in-time compilation for various hardware targets. Candidates will design and implement features in the code generation infrastructure, contribute creative tools and workflows, and collaborate across development teams. 

Highlights 
  • Develop and implement features in code generation infrastructure.
  • Utilize object-oriented and compiler development skills.
  • Engage in test-driven development and write unit tests.
  • Collaborative work across multiple development teams.
  • Experience in compiler development required.
  • Bachelor's degree and 3 years of experience, or master's degree.
  • Understanding of LLVM or similar technologies is beneficial.
  • Skills in algorithmic, abstraction, and software architecture needed.
  • Strong communication abilities.

Compiler Engineer LLVM Full Description

Compiler Engineer LLVM


Job Summary
Our group is responsible for the core technology used in MathWorks code generation products.  We are doing cutting-edge work on program analysis, language transformation, compiler optimization, and just-in-time compilation for simulation from high-level textual and graphical languages.  We generate optimized code for embedded CPUs, GPUs, FPGAs, and other targets.  Our optimizing compiler is actively developed by an elite team of talented programming language and compiler experts.

We are seeking a skilled compiler engineer with industrial-strength software engineering skills to help us improve our shared code generation infrastructure.

Responsibilities
Design and implement new features in our core code generation infrastructure using your object-oriented and compiler development skills.

Deliver features using test-driven development, writing unit tests, and fast iterations.
Contribute creative workflows and tools to be used by internal and external customers.
Participate in cross-team collaboration across multiple development teams.

Minimum Qualifications
  • Demonstrated experience in/with compiler development
  • A bachelor's degree and 3 years of professional work experience (or a master's degree, or equivalent experience) is required.

Additional Qualifications
  • MS + 2 years, or PhD in Computer Science or related technical field.
  • Practical compiler or interpreter implementation experience.
  • Demonstrated ability to dive into and work with large code bases.
  • Strong abstraction, algorithmic, and software architecture skills.
  • Strong communication skills.
  • Experience with LLVM, MLIR, or other intermediate representations is strong plus.
  • Experience writing optimizations for deep-learning code generation a is plus.