Role at a GlanceWe're looking for a
Full Stack Software Engineer, Robotics to own and improve the software that supports robotic inspections, from the application operators use on their laptops to software deployed on the robot. This full-stack role spans user interfaces, Python services, and hardware integration, with most software running locally on field laptops and robot computers.
You will work closely with field operators to improve robot controls, inspection monitoring, and visibility into data quality. The application allows operators to monitor live camera feeds and view ultrasonic thickness measurements mapped onto 2D or 3D models of the asset as the robot scans it. Projects may include extending support to new asset types, integrating sensors and cameras, and improving calibration and diagnostics.
This role is based in our Pittsburgh office, with potential for occasional field visits.
What you will do- Partner with field operators. Understand inspection workflows, gather feedback, and translate operational needs into software improvements.
- Develop across the software stack. Build and maintain the operator application and software deployed to the robot, integrating user interfaces, backend services, and hardware.
- Expand inspection capabilities. Extend support to additional asset types, such as tank roofs and horizontal tanks, and integrate new sensors and cameras, including LiDAR.
- Improve operator controls and visibility. Develop robot controls, live camera feeds, 2D and 3D data views, calibration workflows, and inspection monitoring and review tools.
- Integrate and troubleshoot connected systems. Coordinate robot motion, localization, cameras, sensor data acquisition and processing, calibration, and inspection management. Diagnose issues across hardware communication, services, and the operator interface.
- Deliver reliable field software. Test and release software for field laptops and robot computers. Improve logging, recording, and diagnostics, and support recovery from dropped connections, disconnected sensors, and interrupted inspections.
Technologies We Use- Python, JavaScript, and TypeScript
- Svelte and FastAPI
- Message-based services, real-time data streaming, and 3D visualization in the browser
- ROS, ZMQ, and Docker
- Linux, macOS, and Windows, including embedded Linux computers on robots
About You Required Skills- Bachelor's degree in Computer Science, Software Engineering, Robotics, or a related field, or equivalent experience.
- 2+ years developing user-facing desktop applications.
- 2+ years working on distributed systems for real-time data processing.
- Experience building and maintaining production applications or services in Python that communicate with hardware and process sensor data.
- Experience developing user-facing applications with a modern JavaScript frontend framework, such as Svelte or React.
- Clear written and verbal English communication skills, including the ability to explain technical issues and collaborate across software, hardware, and field operations teams.
Preferred Skills- Robotics software development experience, including software that interacts with embedded Linux computers, hardware, or sensors.
- Experience with real-time or streaming data, where information arrives continuously and timing matters.