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.
- 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.
Qualifications:
- 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.
Education Requirements:
- 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
Our Benefits:
Flexible Time Off: Benefit from our generous flexible time off policy. We also provide sick leave and bereavement time because we understand that not all time off is for fun.
Retirement Savings: Invest in your future with a 401(k)-retirement plan. Goddard contributes 3% of your annual salary directly into your 401(k) account—regardless of your own contributions.
Health Coverage: Access to comprehensive medical, dental, and vision insurance for you and your family. Goddard contributes 80% of monthly premiums for all medical plan options.
Family Support: To take the time you need to welcome the newest member of your family, Goddard offer 6 weeks fully paid parental leave with support of PFML state programs.
Company Engagement: Engage with your colleagues through a variety of regular company and team events, including weekly social hours, Athletic Club outings, and department outings.
The pay range for this role is:
140,000 - 165,000 USD per year (Wilmington Office)