Natick, MA, US
404 days ago
Software Engineer
Software Engineer Job Summary

Apply Now

Job: 30994-DCOL Location: US-MA-Natick Department: Product Development

Working under the direction of the Manager or Senior Team Lead, will be responsible for designing and developing sophisticated software; developing the next generation enterprise deployment platform for MATLAB-based analytics and Simulink-based simulation, which will adhere to the cloud-native development methodologies and will support a wide range of applications, with use cases ranging from simple MATLAB function-as-a-service or Simulink simulation-as-a-service to complex workflows involving complete ModelOps lifecycle; supporting the design and deployment of machine learning pipelines; monitoring deployed machine learning models and integrations with modem CI/CD systems to iteratively train and deploy these models; designing and implementing scalable and fault tolerant, large scale distributed system based on micro-services; participating in the development of distributed data storage technologies to support the analytics platform; collaborating with other engineers to build high quality software; working closely with a tight, agile team that iterates quickly to fulfill the dynamic needs of MathWorks enterprise customers; and working across a range of technologies, from C++ based distributed systems backed by C++ based data storage technologies, to working on consensus protocol implementations based on secure communication channels, to deploying these micro-services on container orchestration frameworks.

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 performing containerization using Docker. Demonstrated expertise programming in C++ or MATLAB; and architecting code using design patterns. 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 Git or Perforce. Demonstrated expertise in the full software development life cycle (SDLC), including requirements gathering, functional design, architecture design, implementation, and testing, according to scrum-based Agile methodologies.

[Expertise may be gained during Graduate program.]

Confirm your E-mail: Send Email