The MathWorks Inc
Software Tools Developer
The MathWorks Inc, Natick, Massachusetts, us, 01760
Working 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. 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. 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.]