iRobot Corporation

  • Principal Software Engineer

    Job Locations US-MA-Bedford
    Category Product Development/Engineering
    Requisition ID
    Job Post Information* : Posted Date
    1 month ago(7/5/2018 1:46 PM)
  • Summary

    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.


    iRobot Corporation, with a mission of “empowering people to do more” is at the forefront of the development of robotics and artificial intelligence technologies. iRobot has become one of the world’s preeminent specialist designers and builders of consumer robots. iRobot invests in the development and growth of its people, in a culture of empowerment, innovation and fun. Come work with some of the most talented and influential people in the robotics field utilizing cutting edge technologies, in an exciting, fast-growing industry!


    iRobot Engineering is expanding, and is looking for an exceptional Principal Embedded Software Engineer to join our team. Key personality attributes should include passion, energy, and the desire to build.

    Essential Functions/ Job Duties

    As part of Product Development, you will be designing and implementing new technologies and features into next generation iRobot products.  While working in an Agile development process, you will design, implement, and document software to run on embedded platforms.

    As a team, you will create cutting-edge sensors, processor mainboards, navigation software and motion control systems. Job functions will include: system level design, board bring up, low level driver implementation, advanced analog/digital signal processing and test.


    You will be expected to be proactive and self directing, and able to solve complex software problems with speed in creative and effective ways. In conjunction with development, you will provide time and complexity estimates for input to schedules for complex tasks. You will also guide junior developers with design, implementation, documentation and test.


    • Experience with real-time embedded microprocessor and microcontroller systems
    • Excellent understanding and broad experience in using design patterns, data structures and advanced programming techniques
    • Excellent knowledge of embedded software such as: interrupts, ADCs, DMA, SPI and clock management
    • Expert in embedded C/C++
    • Strong analytical skills and a desire to learn
    • Ability to understand electrical schematics and the fundamentals of analog circuits
    • Strong understanding of operating system fundamentals, and experience bringing up embedded OS’s on new platforms
    • Ability to work independently, without direct supervision
    • Solid experience working within a Linux environment
    • Comfortable with scripting languages like Python
    • B.S. in Computer Science / Computer Engineering or other technical or scientific field

    Desired Qualifications:

    • Experience building Robots: Professionally, as a Hobby or First RoboticsCoursework in Robotics
    • MS or Phd in Computer Science, or equivalent
    • Previous experience designing and building circuit boards
    • Foundation in control theory, and experience writing control loops


    iRobot is an “Equal Opportunity Employer, Minority / Female / Veteran / Disabled”

    Next Steps

    Sorry the Share function is not working properly at this moment. Please refresh the page and try again later.
    Share on your newsfeed