Senior Embedded Software Engineer
About the role
Build the embedded software that helps robotic systems operate reliably in complex, real-world environments. Palladyne AI is seeking a Senior Embedded Software Engineer with strong modern C++ experience to develop Linux-based software for our highly innovative Pilot and SwarmOS products. In this role, you will solve system-level performance challenges and drive software and hardware integration across robotic systems. This is a hands-on role with significant ownership and opportunity to grow.
What You’ll Do
- Own and independently develop embedded software for Linux-based robotic systems using modern C++.
- Develop software supporting Palladyne AI’s Pilot and SwarmOS products.
- Drive integration efforts across software and hardware, working through complex technical issues to resolution.
- Work closely with hardware and other engineering teams to integrate, debug, and validate software on physical robotic systems.
- Build software that meets performance, security, reliability, and real-time requirements.
- Develop software that communicates through interprocess communication, internet protocols, and embedded systems protocols.
- Work with modern C++ and system-level functionality, including smart pointers, threads, containers, UNIX system calls, processes, file systems, and database connections.
- Design and document object-oriented software, develop test plans, and build multithreaded and interprocess software that operates within defined time constraints.
- Diagnose and optimize system-level performance to support reliable operation on embedded robotic platforms.
- Collaborate across engineering disciplines throughout development, integration, and deployment to customer sites.
What Makes Someone Successful Here
- Works independently and takes ownership of complex technical problems.
- Drives issues from investigation through integration and resolution.
- Works effectively across software, hardware, and robotic systems.
- Communicates clearly and collaborates well across engineering disciplines.
- Writes maintainable code with performance, reliability, security, and timing in mind.
Requirements
- 5+ years of relevant experience.
- Bachelor of Science degree from an accredited university in computer science, software engineering, computer engineering, mechanical engineering, or electrical engineering.
- Strong proficiency in modern C++, including multithreading, smart pointers, containers, UNIX system calls, processes, file systems, and database connectivity.
- Experience with system-level programming and optimizing performance of systems.
- Experience managing software projects with Git.
- Experience with multithreaded programming, interprocess communication, and UNIX-style processes.
- Must be able to work on-site in Salt Lake City, Utah.
- Requires the ability to stand or sit for extended time periods.
Preferred Qualifications
- Experience with UAVs.
- Experience with PX4, ArduPilot, and MAVLink.
- Experience with Gazebo and Unreal Engine.
- Experience building secure software systems.
Benefits
- Competitive compensation package
- 401(k) with 5% company match
- Comprehensive medical, dental, and vision coverage
- Flex time off and 12 holidays
- Professional development opportunities
Work Authorization & Clearance
This position requires the ability to work in the United States without current or future sponsorship. Depending on the nature of the work, the ability to obtain and maintain a U.S. security clearance may be required. Candidates may be asked to provide additional information relevant to clearance eligibility in accordance with applicable laws and regulations.