Apply Now
Job: 28734-DCOL Location: US-MA-Natick Department: Infrastructure and ArchitectureWorking under the direction of the Manager or Senior Team Lead, will be responsible for designing, developing and testing sophisticated software; developing and improving MathWorks’ highly automated build and test system; developing command-line and web-based tools that are the backbone of the automation for MathWorks’ continuously evolving development process; working closely with teams from the Engineering, Testing I&A, and Release Engineering organizations to debug and analyze problems, collect requirements and provide solutions that span various software component and team boundaries; designing and developing a suite of client applications and web services for building and testing MathWorks software; working with customers and other team members to gather, assimilate, analyze, and understand user requirements and increase the efficiency of MathWorks developers; synthesizing complex concepts and developing working models; participating in cross functional teams to investigate, evolve, and propel all software development tools, including fundamental product architecture and infrastructure; envisioning, inventing, and creating designs; implementing, testing, documenting, deploying, evaluating, and enhancing development tools; automating and evolving processes and procedures; and training and educating users.
ResponsibilitiesQualifications
Minimum Qualifications:
Education and Experience:
Master’s degree in Engineering, Computer Science, or a closely related field (or foreign education equivalent) and no experience.
Special Requirements:
Demonstrated expertise in web services development using JavaScript web frameworks -- NodeJS and ReactJS; and in database design and development within a MySQL relational database. Demonstrated expertise in object-oriented programming in Java; programming in a scripting language -- Python or Perl; and performing version control using Perforce and Git. Demonstrated expertise designing, developing or testing applications across multiple platforms -- Linux, Windows, UNIX, or Mac. Demonstrated expertise developing applications along the Software Development Life Cycle (SDLC) according to scrum-based Agile methodologies.[Expertise may be gained during Graduate program.]