Summary
MathWorks has a hybrid work model that enables staff members to split their time between office and home. The hybrid model provides the advantage of having both in-person time with colleagues and flexible at-home life optimizations. Learn More: https://www.mathworks.com/company/jobs/resources/applying-and-interviewing.html#onboarding.
As a Senior Software Engineer on the Embedded Targets team, you will advance ModelBased Design and production code generation for realtime embedded systems, enabling deployment of motor control, power conversion, multicore, and audio/video algorithms onto microcontrollers and DSPs across ARM CortexM/R/A, TI C2000, Infineon, Renesas, and similar architectures. You will develop tools that convert MATLAB and Simulink models into optimized, hardwareefficient code that meets strict timing and memory constraints, leveraging fixedpoint techniques, SIMD, and hardware accelerators while working closely with embedded toolchains and realtime execution behavior to shape nextgeneration embedded development workflows.
MathWorks nurtures growth, appreciates inclusivity, encourages initiative, values teamwork, shares success, and rewards excellence.
Responsibilities
- You will design and enhance ModelBased Design code generation capabilities targeting embedded processors and realtime execution environments.
- As part of a fastmoving team, you will drive features from concept through implementation, validation, and release.
- You will collaborate with technical leaders across the company to advance embedded code generation technologies and workflows.
- Your responsibilities include software architecture design, implementation of productionquality code, creation of robust testing strategies, and endtoend ownership of project deliverables.
- You will also work closely with embedded toolchains, processorspecific code optimizations, hardwareconstrained execution behavior, and integration flows for MCUs, DSPs, and RTOS/baremetal targets.
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- Must Have
- Experience with C or C++.
- Experience with MATLAB
- Experience with embedded development environments: IDEs and debuggers
- Experience programming device drivers (e.g., CAN, I2C, SPI, SCI, PWM, A/D converters, video decoders/encoders, etc.)
- Nice To Have
- Experience with Simulink
- Experience with complex software development projects requiring collaboration with multiple developers
- Experience with integrating run-time libraries
- Experience with baremetal or real-time operating systems (RTOS) , e.g., FreeRTOS, Embedded Linux, Android, VxWorks
- Experience with SoC (e.g. Zynq, Qualcomm)
- Experience with Programming in any Embedded Architecture (Eg: ARM Cortex-M, ARM Cortex-A, C2000)
- Experience with programming multi-threaded, multi-core embedded applications
- Experience with object-oriented design and analysis (OOAD)
- Experience with AUTOSAR and CDD development