MathWorks is hiring a Software Engineer, MATLAB Code Generation. This role involves developing the end-to-end compiler stack for MATLAB Coder, including optimizing and generating C/C++ code and designing workflows for code deployment on embedded systems. Engineers will work on improving readability and performance of the generated code, while collaborating with cross-functional teams.
Highlights
Design and develop algorithms in C++.
Implement new compiler features and optimizations.
Develop and support code generation for various hardware platforms.
Enable new workflows for code integration and deployment.
Drive improvements for code readability and performance.
Required: Bachelor's degree and 6 years, or a Master's degree and 3 years of experience, or a PhD.
Experience with compiler development and advanced C++ preferred.
Familiarity with C, Rust, Python, C# is beneficial.
Software Engineer, MATLAB Code Generation Full Description
We are seeking a motivated and talented software engineer to propel the core technology that enables automatic code generation from MATLAB and Simulink. As a part of the MATLAB Coder team, you will be responsible for developing the end-to-end compiler stack, including compiler optimizations to generate C/C++ code, designing new workflows for deployment of the generated code onto embedded systems, and integrating with other programming languages. The automatically generated code from MATLAB Coder can be found in thousands of real-life products around the world ranging from cell-phones to aircraft engines.
Responsibilities
Design and develop algorithms in C++
Implement new compiler features and optimization passes across the compiler stack
Develop and support code generation techniques for various hardware platforms
Enable new workflows for generated code integration and deployment
Drive improvements of the generated code in terms of readability and performance
Collaborate with cross-functional teams towards a common goal
Pursue, adopt and help improve high coding standards and patterns
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
Knowledge in compiler development (experience preferred)
Experience in C++ (advanced C++ preferred)
Familiarity with other programming languages (C, Rust, Python, C# etc.)