A Robotics Software Engineer develops and builds software systems related to the operation and development of robots, typically for the manufacturing or transportation industries.
Aerospace Defense Job Overview We are seeking a talented Robotics Software Engineer to design, develop, integrate, test, and maintain software for advanced robotic systems. The ideal candidate will have strong hands-on experience with C++, Linux, ROS, Git, and containerization technologies such as Docker or Podman . In this role, you will work across the software development lifecycle—from requirements analysis and architecture through implementation, integration, testing, debugging, and deployment. You will collaborate closely with robotics, controls, simulation, AI/perception, and hardware teams to develop reliable software solutions for complex mission and engineering applications. Key Responsibilities Design, develop, integrate, test, and debug software for robotic systems and applications. Develop robust software solutions using C++ in a Linux-based environment. Develop and integrate robotics applications using ROS (Robot Operating System) . Apply software engineering best practices throughout the complete development lifecycle. Use Git for source code management, version control, and collaborative development. Build, deploy, and manage software using Docker and/or Podman containers. Analyze software requirements, system capabilities, interfaces, and technical specifications. Troubleshoot and resolve software defects, integration issues, and system-level problems. Develop technical documentation, software design documentation, test procedures, and operating instructions. Collaborate with cross-functional engineering teams to integrate software with robotic hardware and external systems. Develop and execute unit, integration, and system-level testing. Ensure software development follows established engineering standards, processes, procedures, and quality practices. Support continuous improvement of development, integration, testing, and deployment processes. Required Qualifications / Non-Negotiable Skills Candidates must have hands-on experience with: C++ Software Development Linux ROS / Robot Operating System Git / Version Control Docker or Podman / Containerization Strong experience developing software for robotics, embedded systems, autonomous systems, or complex engineering applications is highly preferred.
Preferred / Strongly
Desired Skills Python development Windows development environment Qt / Qt Framework AI / Machine Learning / Perception LLMs and AI-enabled applications TensorFlow and/or PyTorch Physics-based simulation / Digital Twin Controls engineering MATLAB Closed-loop control analysis CI/CD pipelines and automated software testing Hardware and system I/O, including: Serial communication Ethernet Digital interfaces Experience integrating software with robotic sensors, actuators, controllers, and other hardware What We're Looking For The ideal candidate is a hands-on software engineer who can work effectively at the intersection of robotics, software, hardware, and simulation . You should be comfortable troubleshooting complex technical problems, working in a collaborative engineering environment, and taking software from development through integration and testing. Experience with autonomous robotics, AI/perception, simulation, controls, or hardware integration will be a strong advantage. Education & Experience Bachelor's degree in Computer Science, Computer Engineering, Robotics, Electrical Engineering, Mechanical Engineering , or a related technical discipline preferred. Relevant professional experience in software engineering, robotics, autonomous systems, or a closely related field. Equivalent combinations of education and hands-on engineering experience may be considered.