Robotics Software Engineer

University of Texas at Austin
Onsite

About The Position

The Center for Human and Robot Co-Adaptation (HRC) is a multi-university initiative focused on studying how humans and robots adapt to each other over time. This center unites researchers from various disciplines including robotics, AI, cognitive science, social science, data, and ethics to develop a new science of human-robot co-adaptation. This science will be tested and refined through the Human Environment with Robots (HERO) Facility Network, which involves long-term deployments of assistive robots in diverse real-world settings such as student dorms, cafés, museums, homes, hospitals, and assisted-living facilities. The Center is funded by a significant award from the National Science Foundation. The Robotics Software Engineer will be responsible for developing, integrating, maintaining, and deploying the common robotics software infrastructure essential for HERO deployments and the Center's foundational research. This role involves creating a standardized software stack compatible with multiple robotic platforms and deployment sites, while providing researchers with reliable interfaces for developing, integrating, testing, and deploying new capabilities. The ideal candidate will possess strong software engineering skills and experience in building and debugging complex robotic systems. They will collaborate with research and engineering teams to translate evolving research software into robust, deployable systems, managing the necessary testing, configuration, monitoring, and deployment infrastructure for long-term robot operation in real-world environments. This engineer will take ownership of the Center's shared robotics software infrastructure, implement sound software engineering practices, and develop safeguards to ensure new capabilities can be integrated without compromising the reliability of ongoing HERO deployments. Close collaboration with the Robotics Hardware Engineer is expected for platform integration, deployment readiness, troubleshooting, and system upgrades.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Robotics, or a related technical field.
  • Two or more years of relevant professional or research software engineering experience involving robotic, autonomous, distributed, or similarly complex systems.
  • Strong programming proficiency in C++ and Python or comparable languages used in robotics systems.
  • Proficiency with Linux-based systems and experience diagnosing operating-system, process, dependency, networking, and software-interface problems.
  • Experience developing software with ROS 2 or comparable robotic middleware.
  • Demonstrated ability to design, integrate, test, and debug complex software systems spanning multiple processes and components.
  • Experience with modern software engineering practices including version control, code review, automated testing, build systems, and software documentation.
  • Strong critical-thinking, debugging, and root-cause-analysis skills.
  • Strong written, verbal, and interpersonal communication skills and the ability to work effectively with researchers and engineers across multiple teams.
  • Relevant education and experience may be substituted as appropriate.

Nice To Haves

  • Experience developing and deploying software for mobile robots, mobile manipulators, or other autonomous systems operating in real-world environments.
  • Deep experience with ROS 2, including nodes, topics, services, actions, parameters, launch systems, lifecycle management, TF, timing, logging, and distributed robotic systems.
  • Experience architecting reusable robotics software across multiple robot platforms or hardware configurations.
  • Experience with continuous integration and deployment, automated testing, simulation-based testing, and hardware-in-the-loop testing for robotic systems.
  • Experience with Docker or other containers, systemd, shell scripting, networking tools, build systems, package management, and automated system configuration.
  • Experience with robotic simulation or digital-twin environments such as Gazebo, Isaac Sim, or comparable systems.
  • Experience developing monitoring, logging, observability, watchdog, fault-detection, and automated recovery infrastructure for long-running autonomous systems.
  • Experience integrating machine-learning, computer-vision, large pretrained models, or other computationally intensive AI systems into real-time robotic applications.
  • Experience integrating robotic systems with remote, cloud, cluster, or high-performance computing resources.
  • Experience with robot data collection, synchronization, recording, replay, and management of large multimodal datasets.
  • Experience managing software releases, configurations, compatibility, and deployment across a fleet of robotic systems or multiple operational sites.
  • Demonstrated ability to take ownership of an unfamiliar robotics software system, understand its architecture, diagnose failures, improve its reliability, and evolve it while maintaining operational continuity.

Responsibilities

  • Own the architecture, integration, operational readiness, and maintenance of the Center's common robotics software stack.
  • Develop and maintain standardized software interfaces and configurations that support multiple robot platforms and can be replicated across HERO sites.
  • Establish common abstractions and interfaces for robot capabilities, sensing, communication, data collection, monitoring, and other shared functionality.
  • Evaluate new robotics software frameworks, libraries, models, and supporting technologies and recommend their adoption when appropriate.
  • Coordinate closely with Center researchers and the Center Robotics Hardware Engineer to ensure that the software infrastructure supports the scientific and operational goals of the Center.
  • Work with research teams across the Center to integrate new algorithms and capabilities into deployable robotic systems.
  • Develop and maintain ROS 2 packages, interfaces, launch systems, configuration infrastructure, and supporting software needed to connect research components into complete robotic applications.
  • Independently diagnose and resolve complex software failures spanning application code, middleware, operating systems, networking, drivers, dependencies, distributed computing, and hardware/software interfaces.
  • Design software architectures that allow experimental research components to evolve while maintaining stable interfaces and reliable operation of the overall system.
  • Support integration of computationally intensive capabilities, including perception, machine learning, foundation models, planning, and other AI systems running locally or on remote computing resources.
  • Maintain the Center robotics software stack in a reliable and continuously deployable state.
  • Develop automated testing, continuous integration, simulation, hardware-in-the-loop testing, monitoring, and validation systems to identify problems before deployment.
  • Establish staged deployment procedures, including simulation and digital-twin testing, local validation, canary deployments, and controlled rollout to HERO sites.
  • Develop logging, diagnostics, health monitoring, fault detection, and recovery mechanisms for long-running robot deployments.
  • Establish repeatable procedures for software installation, configuration, deployment, update, rollback, recovery, and validation.
  • Support diagnosis and resolution of software issues during HERO studies and deployments.
  • Maintain common source repositories, software releases, configuration records, documentation, and deployment procedures for use across HERO sites.
  • Support replication and validation of the Center software stack across robot platforms and participating institutions.
  • Maintain configuration and version control across deployed systems while accommodating necessary site- and platform-specific differences.
  • Coordinate software releases and upgrades across sites to minimize fragmentation and maintain interoperability.
  • Work with researchers and local technical personnel to troubleshoot site-specific software, networking, computing, and deployment issues.
  • Develop documentation and tools that allow Center researchers to efficiently develop against, test with, and contribute to the shared software infrastructure.

Benefits

  • Retirement Plan (Teacher Retirement System of Texas - TRS)
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service