Senior Software Engineer, Robotics & Physical AI Integration
Senior engineer owning the integration layer between AI/ML models and physical robotics: writing ROS 2 nodes and drivers, industrial fieldbus communication (EtherCAT, CANopen, Modbus, Profinet), and real-time control loops in C/C++ and Python on Linux, in close collaboration with ML, hardware, and mechanical teams.
- Compensation
- $140K–$165K / yr
- Location
- Wilmington, United States
- Work setup
- Onsite
- Seniority
- Senior
- Employment
- Not specified
- Experience
- 5+ years
- Category
- Software engineering
- Posted
Skills
Must have
- 5+ years in systems or robotics software engineering, shipping software that controls physical hardware in production
- Strong proficiency in C and C++
- Python for tooling, scripting, and test automation
- Hands-on ROS/ROS 2 experience: nodes, services, actions, hardware interface layers, launch systems, parameters, tf2
- Hands-on experience interfacing with industrial robot controllers (FANUC, KUKA, ABB, Universal Robots, Yaskawa, or equivalent)
- Working knowledge of robot coordinate frames, kinematics, end-of-arm tooling, teach pendant workflows, and vendor languages (Karel, KRL, RAPID, URScript)
- Practical experience implementing at least one industrial fieldbus protocol (EtherCAT, CANopen, Modbus, Profinet) in a production system
- Working knowledge of SPI, I2C, UART, CAN, GPIO and debugging communication failures at the signal level
- Experience with real-time Linux (PREEMPT_RT or Xenomai) or an RTOS (FreeRTOS, Zephyr, QNX), including measuring and bounding latency
- Familiarity with functional safety standards (IEC 62304, ISO 13849, or IEC 61508) and translating safety requirements into software constraints
- Ability to isolate failures across software, firmware, hardware, and their interfaces
- Solid software engineering fundamentals: Git, code review, unit/integration testing, CI/CD
- Bachelor's degree in Computer Science, Electrical Engineering, Robotics, Mechatronics, or a related field
Nice to have
- Advanced degree
- Machine vision integration (GigE Vision, USB3 Vision) and familiarity with OpenCV or similar libraries
- Motion control concepts: servo tuning, trajectory generation, path planning, force/torque sensing and control
- Experience consuming ML inference runtimes (TFLite, ONNX, TensorRT) in control or perception pipelines
- Exposure to simulation/digital twin environments such as Gazebo, NVIDIA Isaac Sim, or MoveIt
- Startup or small-team experience owning architecture decisions and building tooling and process
Full description
Our Mission:
Through inspired engineering and design, we deliver outstanding solutions that positively impact lives. We use an interdisciplinary development process that combines our diverse engineering experience with creative industrial design solutions. We succeed when our partners succeed – it’s all about solving the most complex challenges by creating transformative technology.
Our Culture and People:
At Goddard, our most important asset is our people. We don't just work together; we thrive together. We foster a culture of collaboration, continuous learning, and mutual support. We believe in taking exceptionally good care of each other because great teams build great solutions. If you are someone who embodies the values of accountability, inspiration, dedication, efficiency, innovation, integrity, quality, and reliability, we want you on our team. Come be a part of a workplace where your ideas are valued, your growth is encouraged, and your contributions make a real impact. Join us in shaping the future of transformative technology – together.
The Role:
- We are looking for a Senior Software Engineer to own the integration layer between our AI/ML models and the physical systems they control. This is not a role for someone who writes glue code and calls it done. You will be expected to own the full stack from industrial fieldbus communication and real-time control loops up through the software interfaces that put trained models to work in the real world. You will work directly with our Machine Learning Engineer to define inference contracts and latency budgets, and with our hardware and mechanical teams to understand what the physical system can and cannot tolerate. If you have strong opinions about how software should behave when it controls hardware that moves, and you debug problems that span firmware, operating systems, and silicon without losing patience, you will thrive here.
Responsibilities:
- Design and implement software that integrates ML model inference outputs with physical hardware, including motion controllers, servo drives, actuators, and industrial I/O.
- Develop and maintain ROS 2 nodes, hardware abstraction layers, and device drivers for robotics and automation hardware. Implement and own communication stacks across industrial fieldbuses including EtherCAT, CANopen, Modbus, and Profinet.
- Interface with industrial robot controllers (e.g., FANUC, KUKA, ABB, Universal Robots, Yaskawa) via vendor SDKs, proprietary communication interfaces, and standard industrial protocols; translate controller capabilities and constraints into software integration requirements.
- Interface with low-level embedded hardware over SPI, I2C, UART, GPIO, and CAN, and collaborate with embedded engineers to define cross-boundary interfaces.