MTS Software Engineer (Robotics)

Cambridge, MA /
MTS - Member of Technical Staff /
We’re hiring software engineers to MTS (Member of the Technical Staff) positions across the board of experience levels and interest areas. All candidates must be extremely comfortable writing Python from a Linux dev environment and not be afraid of matrices, polynomials, derivatives, and other basic mathematical concepts. We do not currently have any open roles for: mechanical, electrical, or embedded engineers. However, if your background is in these areas *in addition to* one of our posted roles, please apply!

Member of the Technical Staff - Software Engineering
All candidates, regardless of experience level or interest area can expect:
To learn new skills, continuously sharpen your existing skills, exceed your comfort zone, and solve at least some problems you weren’t sure you could solve at first. As an early employee, the opportunity to influence both the technical and business aspects of the company’s evolution. To deploy code to production. To spend at least some time visiting customers and understanding how our robots are deployed and on-the-ground problems.To write tests and documentation along with your code.That making robots behave autonomously is super hard and even more fun.

For Junior level candidates we expect:
Working knowledge of a linux dev environment, bring your own editor (as long as it’s emacs)Significant working knowledge of programming in PythonComfortable with basic mathematical concepts like matrices, polynomials, derivatives, etc. An undergrad engineering degree or 3 years of industry experience writing software. Familiarity with basic concepts from at least one of the listed technical areas, along with enthusiasm for working in that area.

For Mid level candidates we expect in addition to the Jr. level requirements:
Demonstrated capability in one of the listed technical areas (or similar) through past personal/professional projects or published research. Interest and ability in helping mentor young engineers to become great engineers, including reviewing other’s code, working through problems at the white board, and occasional pair programming.  Solid professional attitude and work habits, higher than average initiative, and strong references. 3-6 years of experience writing software in either industry or academia. Good technical judgement when making design decisions and even better debugging abilities. Optional: Interest and ability in giving technical talks or making technical blog posts.

For Senior level candidates we expect, in addition to the mid-level requirements:
A track record of solving novel problems in one of the listed technical areas (or similar).A demonstrated ability and interest in either owning large chunks of technical architecture or leading small teams in implementation, testing, and debugging. Taking on significant responsibility for the outcomes of these efforts. A willingness and ability to help manage the development schedule and set long term commitments.