iRobot Education 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 iRobot Education, you will be designing and implementing new technologies and features into next generation iRobot products. Working in an Agile development process, you will design, implement, and document software to run on embedded platforms.
As a lead, you will maintain factory production firmware, develop cutting-edge extensible hardware, create and maintain SDKs for iRobots portfolio of educational robots, and support projects within iRobot that leverage ROS to integrate cutting edge sensors, navigation software and motion control systems. Job functions will include: system level design, board bring up, low level driver implementation, and advanced analog/digital signal processing.
- Experience with real-time embedded microprocessor and microcontroller systems
- Solid understanding of design patterns, data structures and advanced programming techniques
- 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 OSs on new platforms
- Ability to work independently, without direct supervision
- B.S. in Computer Science / Computer Engineering or other technical or scientific field Desired Qualifications
- MS in Computer Engineering, Computer Science, or ten years experience
- Previous experience designing and building circuit boards Foundation in control theory, and experience writing control loops
More Jobs From