Embedded Software Engineer
Imagine the future you could help us build.
Teamwork, not just tech work. We are tech futurists and business geniuses. Together, we solve problems to make daily life easier. We are looking for a few more great minds to join our team as we continue to grow one of the world's leading consumer robot companies.
Together, we empower people to do more.
iRobot Engineering is expanding, and is looking for an exceptional Embedded Software Engineer to join our team. Key personality attributes should include passion, energy, and the desire to build.
What you will do:
As part of Product Development, you will assist senior developers in 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.
- Experience with real-time embedded microprocessor and microcontroller systems
- Solid understanding and experience in design patterns, data structures and advanced programming techniques
- Knowledge of embedded software such as: interrupts, ADCs, DMA, SPI and clock management
- Solid knowledge of 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
- Experience working within a Linux environment
- Experience with scripting languages like Python
- B.S. in Computer Science / Computer Engineering or other technical or scientific field
- Experience building Robots: Professionally, as a Hobby or First Robotics
- Coursework in Robotics
- MS in Computer Science / Computer Engineering or equivalent
- Previous experience designing and building circuit boards
- Foundation in control theory, and experience writing control loops
iRobot is an Equal Opportunity Employer.