Senior Embedded Software Engineer
Time type: full time
Posted on: August 20, 2025
Job requisition id: R5106
What we need
We are looking for a Senior Embedded Software Engineer to join the Safe Access System (SAS) team in Wilmington, MA. This position will report to the Manager of Embedded Safety and will play an important part in designing, developing, and supporting our functional safety system for warehouse automation and robotics.
What we do
The Senior Embedded Software Engineer will be part of a team that designs and develops a state-of-the-art safety system within our warehouse automation solution. This role works closely with our Bot Controls team and plays a critical role in delivering a robust safety system that allows our system to run safely and efficiently.
What you’ll do
Design and develop software strategies for near real time environments in C++.
Implement object-oriented software using up-to-date programming methodologies.
Implement, document and maintain real-time embedded code and shell scripts (Bash, Python).
Understand, document and maintain existing code (C/C++, Python, etc).
Support system testing of components and subsystems.
Troubleshoot system problems in production or design by investigating issues related to product performance or production difficulties, primarily through log analysis.
Evaluate and process engineering change requests.
Up to 10% travel required.
What you’ll need
Minimum of 5 years of professional experience developing real-time embedded software and device drivers.
Bachelor's degree in a related engineering discipline (i.e., Computer Science/ Engineering, Mathematics, Electrical Engineering, etc.).
Experience with Object Oriented design using C++. C/C++ coding skills and design pattern, suitable for real time environments.
Experience with software process and version control tools.
Familiarity with networking protocols and control systems.
Strong background in Linux shell scripting (especially Python and bash), familiarity with grep, regex and parsing; and file system command line utilities.
In-depth knowledge of real-time operating systems (e.g., VxWorks, FreeRTOS, Sciopta), threading and communication issues related to RTOS (for mobile robotics or control systems strongly preferred).
POSIX multi-threading (thread priority, thread arbitration), synchronization mechanisms (mutexes, semaphores), shared memory, event and signal handling, and inter-process communications.
Low level communication protocols and sockets implementations, UDP, TCP/IP, TCP/NFS, and related alignment and packing issues.
Experience with programming and debugging for memory-constrained systems.
Expert-level communication (oral and written) and documentation skills; must be comfortable explaining complex software systems and programming concepts.
Hands-on problem solving with excellent software design and implementation skills.
Ability to work in a fast-paced environment and support unscheduled events.
Previous experience with tools for static code analysis and MISRA check such as cppcheck, clang and build systems such as cmake is a plus.
Understanding functional safety and safety programming is a plus.
#LI-Hybrid
#LI-KC1
Apply Now