Senior Software Engineer (27413-dcol)

MathWorks

Job Information

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.

Minimum Qualifications:

Education and Experience:

Master’s 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

Bachelor’s 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.]

MathWorks

Sign Up for FREE

Search for talents and jobs.

Related Jobs

Thomas Edwards
Thomas Edwards
The Technical Support Analyst will provide a wide range of support to computer a...
Lakeshore Learning Materials
Lakeshore Learning Materials
Our company infrastructure is growing—and we need a self-starting IT Service Des...
The O'connor Group
The O'connor Group
The office manager will help out in all areas of the business.