Apply Now
Job: 34544-DCOL Location: US-MA-Natick Department: Product DevelopmentWorking 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 of MATLAB desktop application; 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 strategies.
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.
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 object-oriented programming using MATLAB and JavaScript.
Special Requirements:
Demonstrated expertise in UI application development using native JavaScript and the Dojo framework; performing object-oriented design and analysis using C++; and architecting code using design patterns in C++. Demonstrated expertise programming and debugging C++, MATLAB and web technologies using HTML, CSS and JavaScript. Demonstrated expertise in development and automated testing of GUIs for cross-site applications using MATLAB tools for automation and testing of HTML and JavaScript code. Demonstrated expertise performing version control and continuous integration; and in software configuration management and version control system management including analysis and implementation of branching strategies using Perforce and Git.[Expertise may be gained during Graduate program.]