We are seeking an experienced Robotics Software Engineer to design, develop, integrate, test, and debug software solutions for advanced robotics and mission-critical applications.
The ideal candidate will have strong hands-on experience with C++, ROS, Linux, Git, and Docker/Podman, along with a solid understanding of software development processes and robotics systems.
Key Responsibilities
- Design, develop, test, debug, and maintain robotics software applications using C++.
- Develop and integrate software components within ROS (Robot Operating System) environments.
- Work in Linux development environments to build, troubleshoot, and optimize software.
- Apply software development standards, processes, procedures, and tools throughout the software development lifecycle.
- Analyze system requirements, software functionality, inputs/outputs, and interfaces to develop effective technical solutions.
- Troubleshoot and resolve software defects, integration issues, and performance problems.
- Develop and maintain technical documentation, operating instructions, and software design documentation.
- Use Git for source code management and collaborative development.
- Build, deploy, and manage software using Docker or Podman containers.
- Collaborate with systems, hardware, controls, and other engineering teams on software integration and testing.
- Support software verification, validation, system integration, and debugging activities.
Required Qualifications
- Strong professional experience developing software with C++.
- Hands-on experience with ROS (Robot Operating System).
- Strong experience developing and debugging software in Linux environments.
- Experience with Git and modern software development workflows.
- Experience with Docker or Podman containerization.
- Strong understanding of software development lifecycle, debugging, testing, and integration.
- Experience working with complex robotics, embedded, autonomous, or mission-critical systems is highly preferred.
Preferred Qualifications
- Experience with AI/ML, computer vision, or robotics perception.
- Experience with TensorFlow, PyTorch, or LLM-based tools.
- Experience with robotics simulation / Digital Twin technologies.
- Knowledge of controls engineering, MATLAB, and closed-loop analysis.
- Experience with CI/CD pipelines and automated software testing.
- Experience interfacing with hardware using Serial, Ethernet, and digital interfaces.
- Experience developing software for Windows environments.
Top 5 Must-Have Skills
Candidates must have hands-on experience with the core required technologies, particularly C++ and ROS, to be considered.