Senior Software Engineer
Company: The MathWorks, Inc.
Location: Natick, Massachusetts
Posted on: November 16, 2021
Job Description:
Working under the direction of the Manager or Senior Team Lead,
will be responsible for designing, developing and testing
sophisticated software used by customers in the mechanical
engineering domain; developing software tools that are used to
design complex engineering systems in automobiles, aircraft and
spacecraft; conceptualizing, architecting and implementing
ground-breaking block-diagram modeling capabilities; contributing
to the development of the next generation code-generation
technologies that help convert graphical block diagrams to
production-ready code for embedded systems; leveraging C++ and
algorithm development to design and implement new capabilities in
MathWorks flagship Simulink platform, an environment for
multidomain simulation and Model-Based Design for dynamic and
embedded systems; adding fundamental new capabilities for modeling
and simulating complex large-scale systems, with emphasis on
software architecture modeling; enhancing the performance of
MathWorks simulation engine and adding new syntactic and semantic
capabilities for block-diagram modeling; designing new capabilities
into MathWorks automatic code generator that creates real-time code
for embedded applications from block diagram models; participating
in all aspects of software development including collecting
requirements, writing specifications, coding, testing and
collaborating with other teams; and utilizing features in Simulink
products and delving into a large code base and large test suites,
and delivering products that are essential to customers
workflows. Education and Experience: Masters degree (or foreign education equivalent) in Engineering
or Computer Science and two (2) years of experience in job offered
or two (2) years of experience using Simulink for model-based
design. OR Ph.D. degree (or foreign education equivalent) in Engineering or
Computer Science and no experience. OR Bachelors degree (or foreign education equivalent) in
Engineering or Computer Science and six (6) years of experience in
job offered or six (6) years of experience using Simulink for
model-based design. Special Requirements: Demonstrated expertise in multi-threaded programming, including
using data structures, directed graph/tree traversal algorithms,
object oriented design patterns and programming languages -- C/C++,
MATLAB, Simulink, Bash, and Perl -- and libraries -- OpenMP and
MPI. Demonstrated expertise applying numerical methods and Dynamical
System Theory to model control algorithms and implement Simulink
semantics within a real time operating system. Demonstrated expertise in object-oriented design and analysis
using C++, including analyzing, re-architecting, refactoring, and
testing a large legacy code base (100K + lines of code); and
architecting code according to design patterns. Demonstrated expertise writing algorithms and data structures
using C++ 11/14 standard libraries -- smart pointers, move
semantics, templates and lambda functions -- and using C++ Standard
Template Library to improve memory management and code quality
within a development or testing environment. [Experience and/or expertise may be gained during Doctoral
program.] For the position listed above, interested candidates may search
by job code 27413 for specific job details and requirements and
apply online on the Careers Page at
https://www.mathworks.com/company/jobs/opportunities/search/
Keywords: The MathWorks, Inc. , Boston , Senior Software Engineer, Computer , Natick, Massachusetts, Massachusetts