Software Engineer
Apply NowCompany: The Mathworks
Location: Natick, MA 01760
Description:
Working under the direction of the Manager or Senior Team Lead, will be responsible for developing components of sophisticated software for small self-contained projects; implementing moderately-complex software features and components to support the core architecture of Simulink with a focus on large-scale modeling; writing high quality code, designing extensible software using software engineering principles, patterns and methodologies, and conducting performance monitoring and integration; participating in components of software development projects of moderate scope, from requirements gathering and design to implementation, qualification and validation; assisting cross-functional team members in engineering, quality engineering, user experience, and documentation; increasing productivity and bringing quality features to market; and working with subject matter experts in pursuit of continuous improvement of designs and modeling strategies.
Responsibilities
Qualifications
Minimum Qualifications:
Education and Experience:
Master's degree in Engineering, Computer Science, or a closely related field (or foreign education equivalent) and no experience.
OR
Bachelor's degree in Engineering, Computer Science, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Software Engineer (or related occupation) performing development, testing, or technical support of simulation software.
Special Requirements:
[Expertise may be gained during Graduate program.]
Responsibilities
Qualifications
Minimum Qualifications:
Education and Experience:
Master's degree in Engineering, Computer Science, or a closely related field (or foreign education equivalent) and no experience.
OR
Bachelor's degree in Engineering, Computer Science, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Software Engineer (or related occupation) performing development, testing, or technical support of simulation software.
Special Requirements:
- Demonstrated expertise in object oriented programming, design, and analysis in C++, including writing graph/tree traversal algorithms.
- Demonstrated expertise using Boost and C++ Standard Template Library (STL) data structures for code optimization and data storage; and applying algorithms for code optimization and code scalability.
- Demonstrated expertise presenting and demonstrating technical concepts in software architecture and design to engineering audiences.
- Demonstrated expertise in design and development of software architecture using design patterns and UML.
[Expertise may be gained during Graduate program.]