iRobot Corporation Principal Software Engineer, Algorithm Development in Bedford, Massachusetts

Do you have a passion for robotics? Do you want to code the future of one of the largest consumer robots company in the world? You will have a hand in developing the next generation of products that will live in millions of homes all across the world. As a pioneer in the robot industry, our goal is to drive innovation, serve as an industry catalyst and change the world by empowering people to do more.

To support and encourage the development of robot technology, iRobot offers comprehensive resources for third-party developers, providing information and products that facilitate the creation and easy integration of new payloads, behaviors and capabilities on iRobot platforms.

Our Software Engineering Team is rapidly growing and we're looking for an exceptional Principal Software Engineer to join our team. We're looking for someone with great interpersonal skills, passion, energy, and the desire to build.

  • Design, implement, test, and document robotics, navigation, and vision algorithms in C/C++ on desktop and embedded platforms. The candidate will participate in the creation of the next generation of consumer robotics products developed at iRobot.

  • The position’s responsibilities also include validation and characterization of the products developed at iRobot including embedded solutions for vision and navigation, robotics components, and hardware.

  • The position involves a substantial portion of “hands-on” work and requires an individual able to work independently with minimal supervision.

  • Experience developing robotics, navigation, or vision systems.

  • You are writting code in C++

  • Working understanding of computer systems including concurrent programming, operating systems, compilers, and computer architecture.

  • Working experience in both Linux and Windows.

  • Experience validating complex systems involving hardware, software, and mechanical components.

  • Strong analytical skills and mathematical foundation.

  • Minimum of 3 years experience in algorithm implementation using C and C++.

  • A solid engineering background with hands-on design and development experience.

  • Excellent verbal and written communications skills.

  • Strong problem solving and analytical skills.

  • Ability to learn quickly

  • Minimum Degree: BS in Computer Science, Electrical Engineering, or related field.

Preferred Qualifications:

  • Ability to build/assemble/modify electronic assemblies or robots into various configurations for test purposes.

  • Understanding of and experience with any of the following: behavior-based control, navigation, path-planning, obstacle avoidance, SLAM, estimation and control.

  • Understanding of and experience with GTSAM

  • Understanding of and experience with any of the following: object recognition, structure from motion, 3D reconstruction, ego-motion estimation, feature extraction and matching face recognition.

  • Algorithm prototyping/development with Matlab and/or Python.

  • MS or PhD in Computer Science, Electrical Engineering, or related field.

Requisition ID: 3435

External Company Name: iRobot Corporation

External Company URL: