What are the responsibilities and job description for the Robotics Software Engineer position at Summer Robotics?
Responsibilities
- Develop and maintain robot software systems for industrial assembly and inspection
- Integrate cameras and sensors including calibration, coordinate frame management, and data pipelines
- Implement and debug coordinate transforms, hand-eye calibration, and rigid body math in production software
- Build production-quality C and Python software for real-time robotic systems
- Architect multi-process and multi-threaded systems for reliable robot operation
- Collaborate with algorithms and perception engineers to deploy 3D vision capabilities on
- Develop testing, debugging, and deployment infrastructure for robot software
- Strong C skills (STL, multithreading, memory management) and Python proficiency
- Practical knowledge of 3D transforms, rotation representations, and camera/robot
- Experience integrating sensors and actuators on physical robot systems
- Comfortable with Linux development, Git, CMake, and CI/CD workflows
- Familiarity with real-time constraints and performance-critical code
- MS or higher in Robotics, Computer Science, Mechanical Engineering, or a related field
- 3 years of professional experience developing software for robotic systems mindset
- Thrives in a fast-paced startup, comfortable owning projects end-to-end
- Passionate about building robots that work in the real world, not just in simulation
- Strong debugging instincts — can trace a problem from unexpected robot behavior back
- Comfortable with in-office collaboration (5 days/week in Campbell, CA)
- Experience with ROS/ROS2 or similar robotics middleware
- Experience with industrial robotics, robot arms, or manufacturing automation
- Familiarity with motion planning frameworks (MoveIt, OMPL)
- Knowledge of gRPC, Protobuf, or similar IPC frameworks
- Experience with Docker, containerized deployment, and embedded compute (Jetson)
- Exposure to simulation environments (Gazebo, MuJoCo, Isaac Sim)