Embedded Software Engineer
The AI Institute
Software Engineering
Cambridge, MA, USA
Posted on May 20, 2025
Our mission is to solve the most important and fundamental challenges in AI and Robotics to enable future generations of intelligent machines that will help us all live better lives.
As an Embedded Software Engineer, you will work cross-functionally with a talented team of engineers and researchers to develop cutting-edge robotic systems. Your contributions will directly advance the state of the art in robotics. We operate onsite at our new Cambridge, MA office, fostering a collaborative and dynamic environment.
Responsibilities
- Collaborate with research and hardware teams to design, develop, test, and maintain embedded software for various robotic applications
- Develop high-performance algorithms to enhance system efficiency and functionality
- Conduct regular code reviews to ensure code quality and reliability
- Work closely with electrical engineers to develop and integrate custom hardware into robotic systems
- Architect, design, and implement software solutions for embedded systems, ensuring high performance and reliability for robotic applications
- Work closely with multidisciplinary teams to integrate software with complex hardware components, ensuring seamless operation across robotic platforms
- Produce and maintain clear, comprehensive documentation for software design, interfaces, and system configurations to support ongoing development and future upgrades.
Requirements
- 7+ years of experience delivering robust, production-level code
- Experience with ROS
- Proficient in Python and C++ or later
- Experience or willingness to learn RUST
- Experience implementing and debugging real-time operating systems (RTOS) with hard real-time requirements on embedded microcontrollers
- Familiarity with gRPC, LCM, or other inter-process communication middleware technologies
- Experience with modern software engineering practices (e.g. git, issue tracking, and CI/CD pipelines).
- Strong background in Linux-based platforms and development environments
- Excellent troubleshooting and debugging skills
- Knowledge of synchronization and resource-sharing techniques for memory-constrained systems
- Comfortable using electrical engineering tools such as schematics, logic analyzers, and oscilloscopes for hardware evaluation and rework
- Experience as a technical lead, with a track record of mentoring other developers
- BS or MS in Computer Science, Robotics, Physics, Electrical/Mechanical/Aerospace Engineering, or a related field
Bonus
- Experience with robotics, control systems, kinematics, machine learning, or physics simulation
- Proficiency in data processing, logging, and visualization tools
- Hands-on experience with robot sensors (IMUs, cameras, etc.).Experience programming FPGA and/or FPGA/ARM SOC systems (e.g., Zynq).
- Expertise in developing test and validation plans for system integration
- Experience with complex system failure analysis in cross-functional teams
- Familiarity with developing Linux kernel modules.
We provide equal employment opportunities to all employees and applicants for employment and prohibit discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.