We are seeking a software engineer to join our team responsible for testing internal compiler infrastructure used by MathWorks code generation products. This infrastructure is leveraged to translate multiple source languages (MATLAB, Simulink, and Stateflow) into multiple target languages (C/C++, CUDA, and more). As part of the development team, you would be responsible for verifying the correctness and performance of compiler optimizations and lowerings. A prior knowledge of compilers is a plus but not required. This position is a great opportunity to learn about compilers and apply your software engineering skills to solve complex problems.
Responsibilities
* Develop and apply randomized testing and fuzzing techniques to automatically identify compiler bugs * Author functional and performance tests in MATLAB and C++ * Design and develop automated test harness infrastructure * Leverage tools like Bullseye code coverage, Valgrind, and sanitizers to improve the quality of the compiler source code and compiler generated code. * Analyze, simplify, and report identified compiler bugs * Research and apply new compiler testing techniques * Participate in design and code reviews
Minimum Qualifications
* A bachelor's degree and 7 years of professional work experience (or a master's degree and 5 years of professional work experience, or a PhD degree) is required. * Programming experience in C programming
Additional Qualifications
* Knowledge of C/C++ * Experience with object-oriented programming * Skilled in writing computer programs to solve problems and automate tasks * Curiosity and enjoyment in figuring out how complicated systems work * Interest in learning about compilers (Compiler background is not required)
Pluses
* Prior experience with MATLAB and Simulink * Experience building software applications/tools used by others * Knowledge of compilers * Comfort using Linux * Experience with scripting languages like Perl and Python * Knowledge of embedded systems
Why MathWorks?
It's the chance to collaborate with bright, passionate people. It's contributing to software products that make a difference in the world. And it's being part of a company with an incredible commitment to doing the right thing - for each individual, our customers, and the local community.
MathWorks develops MATLAB and Simulink, the leading technical computing software used by engineers and scientists. The company employs 4000 people in 16 countries, with headquarters in Natick, Massachusetts, U.S.A. MathWorks is privately held and has been profitable every year since its founding in 1984.
About The Mathworks
MathWorks is a developer of mathematical computing software for engineers and scientists.