Software Engineer - Code Generation Infrastructure
- Job: 36661-KB
- Team: Product Development
- Location: IN-Bangalore
Job Summary
We are seeking a motivated and talented Software Engineer to help advance the core technologies that power automatic code generation from MATLAB and Simulink. As part of the Embedded Coder team, you will work on the compiler infrastructure, intermediate representations (IRs), code generation backends, and extensibility frameworks that form the foundation of our code generation technology. These systems enable the automatic generation of production-quality C and C++ code for embedded applications ranging from consumer electronics and industrial automation to automotive and aerospace systems.
Code generated by Embedded Coder is deployed in thousands of products worldwide. Our team develops the scalable infrastructure and core technologies that enable customers to customize, optimize, and deploy generated code across a broad range of platforms and workflows. This role is ideal for engineers who are passionate about compiler technologies, software architecture, programming languages, and building robust developer infrastructure.
Responsibilities
- Design and implement robust, scalable infrastructure for code generation, compiler backends, and generated-code customization.
- Develop technologies that enable flexible targeting of a wide range of embedded platforms and workflows.
- Participate in all phases of software development, including requirements gathering, design, implementation, testing, code reviews, and maintenance.
- Collaborate with engineers across MATLAB, Simulink, and Embedded Coder teams to deliver innovative compiler and code generation capabilities.
- Investigate complex technical challenges in a large-scale software system and drive solutions from concept to deployment.
- Work closely with customers and internal stakeholders to understand requirements and improve the usability, flexibility, and quality of generated code.
- Develop deep expertise in Simulink, Embedded Coder, and the technologies that underpin automatic code generation.
Minimum Qualifications
- A bachelor's degree and 3 years of professional work experience (or a master's degree, or equivalent experience) is required.
- Experience with object oriented design
- Programming experience with C++
Additional Qualifications
- Strong abstraction, analytical, and algorithmic problem-solving skills.
- Experience working within large, modular codebases and complex software architectures.
- Familiarity with modern C++ development practices. Strong problem-solving and debugging skills.
- Knowledge of compiler technologies, programming language implementation, or code generation systems.
- Experience with intermediate representations (IRs), language tooling, static analysis, or related compiler infrastructure.
- Excellent written and verbal communication skills.
- Experience developing developer tools, build systems, or software infrastructure.
Why MathWorks?
It's the chance to collaborate with bright, passionate people. It's the opportunity to accelerate the pace of discovery, innovation, and learning in engineering and science. And it’s a commitment to doing the right thing—for each individual, our customers, and the local community. We cultivate an enjoyable, participatory, and rational environment that champions individual growth, encourages initiative, values collaboration, shares success, and rewards excellence.
MathWorks develops MATLAB and Simulink, the leading technical computing software used by engineers and scientists. The company employs more than 6,500 people in 16 countries, with headquarters in Natick, Massachusetts, USA. MathWorks is privately held and has been profitable every year since its founding in 1984.
YOU + MathWorks = Unlimited Possibilities
Join Our Talent Network
Receive personalized job opportunities, stories, and company updates.