Superpedestrian Embedded Software Engineer in Cambridge, Massachusetts
Superpedestrian is seeking an Embedded Software Engineer to join the embedded software development team. The ideal candidate has strong skills writing embedded software on resource constrained, robotic-like systems. They should also have experience in low-level chip configuration, system time management, sensor sampling/conditioning, and inter-processor communications (CAN, SPI, I2C). Experience with telecom protocols such as Bluetooth, GPRS and LTE; or in motion control implementing motor software for brushless DC motors on a microprocessor is a strong plus.
What you'll do:
Help build our next generation technology by writing code (predominantly in C and python) for embedded targets that service motor control, battery management, and system communication and control.
Contribute your knowledge and wisdom to the team's development processes and software best practices.
Collaborate closely with the embedded hardware team to specify module and system requirements and design.
Design and document software interactions between system modules, cloud services, and mobile applications.
Contribute to a software quality plan including testing, inspection, and certification.
Work closely in a small team where personal interactions are critical to timely decision-making and knowledge sharing.
Participate in ideation for future products and features.
What we're looking for:
MS/BS CS/EE with 0-4 years of industry experience developing embedded software systems
Strong fundamentals in embedded C on real-time platforms
Experience developing software for commercial use
Familiarity with software product life cycles, including the support of fielded products
Experience implementing low-level chip functionality and drivers (CAN, I2C, SPI, USB, bootloaders) for embedded systems
Experience with scripting languages (python, bash)
Experience with revision control systems (Git)
Ability to write PC host-based tools and applications to develop, debug, and test embedded systems
Experience in embedded robotics, motion control applications, or IoT communications
Additional useful skills:
Software regulatory experience
Experience with Bluetooth, GPRS, LTE and other telecoms standards
Electric vehicle experience
Assembly language skills