What we need
We are seeking a highly skilled and experienced Principal Embedded Software Engineer to join our team. As a Principal Embedded Software Engineer, you will play a key role in designing, developing, and maintaining Linux-based systems and software for our cutting-edge projects. You will work with a team of engineers and be responsible for project leadership, providing technical expertise in areas such as Yocto, OpenEmbedded, ROS, NVIDIA Jetson BSP, VxWorks, Linux ethernet networking, kernel drivers and FPGAs. We are looking for a person who thrives in a creative, collaborative, and agile development environment.
What we do
We are a talented team of roboticists and software engineers responsible for all software and firmware aspects of our mobile robots. These mobile robots are responsible for handling cartons inside the warehouse structure, moving them to and from storage locations. The mobile robots are key to the efficient operation of the Symbotic systems, and their reliability is paramount.
What you will do
-
Lead and participate in the design, development, and maintenance of embedded software systems for Symbotic robots.
-
Provide technical guidance and project leadership to a team of engineers, ensuring timely delivery of high-quality solutions.
-
Collaborate with cross-functional teams to define system requirements and architecture.
-
Design and implement builds for embedded Linux.
-
Develop and customize NVIDIA BSPs for specific project requirements.
-
Work with embedded real-time operating systems.
-
Perform upgrades and enhancements to small FPGAs using verilog.
-
Design and implement Ethernet networking solutions, including protocols, drivers, and performance optimization.
-
Develop and maintain kernel drivers for custom hardware and device integration.
-
Implement and integrate ROS (Robot Operating System) for robotic applications.
-
Optimize and customize file systems for application specific requirements.
-
Conduct code reviews, perform debugging and troubleshooting, and ensure code quality and best practices are followed.
-
Stay updated with the latest industry trends, technologies, and best practices related to Linux and embedded systems.
-
Provide on-site and remote support for operating systems and networking issues.
-
Troubleshoot and resolve Linux-based system issues happening at customer sites.
-
Maintain documentation for installation and troubleshooting procedures.
-
Stay updated on OS releases, patches, and security updates.
-
Monitor system performance and identify optimization opportunities.
-
Up to 10% travel may be required
What you'll need
-
Bachelor's or higher degree in Computer Science, Electrical Engineering, or related field.
-
10 plus years professional experience in Linux system development and software engineering.
-
Strong proficiency in open source embeded build systems.
-
Experience in NVIDIA platform development and customization is desirable.
-
In-depth understanding of Ethernet networking protocols and technologies.
-
Proficiency in kernel-level programming and driver development.
-
Familiarity with ROS (Robot Operating System) and its integration.
-
Demonstrated experience in project leadership and team coordination.
-
Strong problem-solving and ability to troubleshoot complex issues on urgent timelines.
-
Excellent communication and interpersonal skills.
-
Self-motivated, detail-oriented, and able to work independently as well as in a team.
-
Ability to accommodate 10% travel to support operational sites.
Our Environment
-
Up to 10% of travel may be required. Employees must have a valid drivers license and the ability to drive and/or fly to client and other customer locations.
-
The employee is responsible for owning a credit card and managing expenses personally to be reimbursed on a bi-weekly basis.
#LI-JT1
#LI-Hybrid