Senior Software Engineer, Robotics & Physical AI Integration
About Us
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 most important asset is our people. 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 embody the values of accountability, inspiration, dedication, efficiency, innovation, integrity, quality, and reliability, we want you on our team. Join us in shaping the future of transformative technology.
About 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 role requires owning the full stack—from industrial fieldbus communication and real-time control loops to the software interfaces that deploy trained models in the real world.
You will collaborate directly with our Machine Learning Engineer to define inference contracts and latency budgets, and with our hardware and mechanical teams to understand the constraints of the physical system. If you have strong opinions about software that controls hardware, and you debug problems spanning 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.
- Integrate machine vision and camera systems, including image acquisition pipelines, sensor calibration, and routing vision outputs to downstream control and inference logic.
- Collaborate with the ML Engineer to define inference APIs, data contracts, and performance budgets between model outputs and physical actuators.
- Develop real-time and near-real-time control loops on Linux (PREEMPT_RT) and RTOS targets, with a clear understanding of scheduling, jitter, and determinism requirements.
- Build hardware-in-the-loop (HIL) and integration test infrastructure that can verify system behavior with and without live hardware.
- Document software architecture, interface contracts, timing assumptions, and integration procedures for both internal engineering and regulatory purposes.
- Proactively identify integration risks, timing failures, and hardware/software boundary issues before they surface as field problems.
Requirements
- 5+ years in systems or robotics software engineering with a demonstrated track record of shipping software that controls physical hardware in production.
- Programming: Strong proficiency in C and C++; Python for tooling, scripting, and test automation.
- ROS / ROS 2: Hands-on experience writing nodes, services, actions, and hardware interface layers; comfortable with launch systems, parameter management, and tf2.
- Industrial Robotics: Hands-on experience interfacing with industrial robot controllers from one or more major vendors (FANUC, KUKA, ABB, Universal Robots, Yaskawa/Motoman, or equivalent); working knowledge of robot coordinate frames, kinematics, end-of-arm tooling interfaces, teach pendant workflows, and vendor-specific programming environments (e.g., Karel, KRL, RAPID, URScript).
- Industrial Protocols: Practical experience implementing at least one industrial fieldbus protocol—EtherCAT, CANopen, Modbus, or Profinet—in a production system.
- Embedded Interfaces: Working knowledge of SPI, I2C, UART, CAN, and GPIO, and experience debugging communication failures at the signal level.
- Real-Time Systems: Experience with real-time Linux (PREEMPT_RT or Xenomai) or an RTOS (FreeRTOS, Zephyr, or QNX) for deterministic control, with an understanding of how to measure and bound latency.
- Functional Safety: Familiarity with functional safety standards relevant to machinery or software in safety-critical systems (e.g., IEC 62304, ISO 13849, or IEC 61508), with an ability to translate safety requirements into software constraints.
- Debugging: Demonstrated ability to isolate failures in systems where the root cause may be in software, firmware, hardware, or the interface between them.
- Software Engineering: Solid fundamentals—Git, code review, unit and integration testing, CI/CD—applied to systems code, not just application code.
Nice to Have
- Experience integrating machine vision systems using GigE Vision, USB3 Vision, or similar standards; familiarity with OpenCV or other vision processing libraries.
- Working knowledge of motion control concepts: servo tuning, trajectory generation, path planning, and force/torque sensing and control.
- Experience consuming ML inference runtimes (TFLite, ONNX, TensorRT) within a control or perception pipeline, and an understanding of the operational constraints they impose.
- Exposure to simulation and digital twin environments such as Gazebo, NVIDIA Isaac Sim, or MoveIt for offline testing and development.
- Experience in a startup or small-team environment where you own architecture decisions and build tooling and process alongside the product.
What We Value
- Ownership: You own the behavior of the physical system end to end, from fieldbus packet to actuator response, and you do not hand problems off at the first sign of ambiguity.
- Self-motivation: You identify gaps in integration coverage, tooling, and system reliability on your own, and you close them without waiting to be asked.
- Problem-solving depth: You are not satisfied with a system that works most of the time; you understand the failure modes, quantify the risk, and drive to root cause.
- Curiosity and continuous learning: The intersection of AI and physical systems is new territory, and you are drawn to it rather than cautious of it.
- Direct, clear communication: You write well, translate hardware constraints into software requirements for ML collaborators, and surface timing and safety risks early.
Qualifications
Bachelor's degree in Computer Science, Electrical Engineering, Robotics, Mechatronics, or a related field required. Advanced degree is a plus but not a substitute for hands-on experience shipping software that controls physical systems.
Benefits
- Flexible Time Off: Generous flexible time off policy, including sick leave and bereavement time.
- Retirement Savings: 401(k)-retirement plan with a 3% annual employer contribution, regardless of your own contributions.
- Health Coverage: Comprehensive medical, dental, and vision insurance for you and your family, with Goddard covering 80% of monthly premiums for all medical plan options.
- Family Support: 6 weeks fully paid parental leave, with support from PFML state programs.
- Company Engagement: Regular company and team events, including weekly social hours, Athletic Club outings, and department outings.
Pay
140,000 - 165,000 USD per year (Wilmington Office).