Robotics Software Engineer
Noble Machines
About Noble Machines
Noble Machines builds multipurpose robots to support human workers in the world's toughest jobs—turning dangerous work from a necessity into a choice.
Position Overview
As a Robotics Software Engineer, you will work closely with senior engineers to bring hardware prototypes to life and build essential software tools that support our robotic platforms. In this hands-on role, you will assist in integrating new hardware components, developing diagnostic and control interfaces, and maintaining ROS 2 nodes. This role offers an exciting opportunity to grow your technical skills on real-world systems.
Key Responsibilities
- Integrate new hardware prototypes with the robot’s software systems.
- Rapidly develop proof-of-concept software for evaluating new components and designs.
- Build control, configuration, visualization, and diagnostic GUIs for engineers and operators.
- Create reusable tools for hardware bring-up, testing, calibration, data collection, and troubleshooting.
- Develop and maintain ROS 2 nodes, interfaces, drivers, and supporting applications.
- Work with hardware engineers to define software interfaces and translate prototype requirements into working systems.
- Test integrated hardware/software behavior, analyze logs and telemetry, and diagnose issues across subsystem boundaries.
- Improve successful prototypes into reliable, documented, and maintainable engineering tools.
- Contribute to automated testing, simulation, deployment infrastructure, and other robotics software projects as priorities require.
- Participate in design discussions, code reviews, documentation, and field or lab testing.
Requirements & Tech Stack
- Practical C++ and Python ability.
- Software fundamentals and debugging skills.
- Comfort working with physical systems and imperfect prototypes.
- Some ROS or robotics project experience.
- Familiarity with common communication interfaces or protocols—such as CAN, serial, Ethernet, or USB—if those match the hardware.
- Ability to build simple user-facing tools or GUIs.
- A bias toward experimentation, iteration, and completing usable prototypes.
- Clear communication with engineers from different disciplines.
Qualifications
- 0–2 years of experience in robotics software, embedded systems, or hands-on engineering projects.
- Some ROS 2/DDS expertise is not required.
- Hands-on experience with hardware bring-up, microcontroller development, or sensor integration is a plus.
- Familiarity with simulation environments (Gazebo, Isaac Sim, MuJoCo) or containerization (Docker) is a plus.
- An educational background or degree in Robotics, Computer Science, Electrical Engineering, Mechanical Engineering, or a related field is a plus.
- Open-source contributions or personal robotics projects are a plus.
Compensation
- Base salary range: $90,000 – $130,000 per year.
- Total rewards package may also include equity options, comprehensive healthcare benefits, retirement plan contributions, and performance-based incentives.