Collaborate on the architecture, design, implementation, and delivery of robotics embedded software Software development, primarily in C and/or C++, for various microcontrollers Solve complex problems with elegant solutions and apply judgment and experience to balance trade-offs between competing interests in resource-constrained systems Evaluate potential new features to fielded products to continue to delight our customers Participate in the evaluation and guidance for iRobot’s next-gen products Participate in mentoring and educating the team on trends, technologies, and best practices
Qualifications:
5+ years of experience in embedded systems and microcontrollers Excellent knowledge of embedded software such as: interrupts, ADCs, DMA, SPI, inter-processor communication, protocols, and clock management Experience working with “small” embedded systems like STM32, MSP430, etc. Experience working with sensors, actuators, and motors Solid understanding and experience in design patterns, data structures and advanced programming techniques Excellence at writing embedded C/C++ and familiarity with a Linux Environment Degree in Computer Engineering or equivalent preferred