Senior Software Engineer, Vehicle Management Systems
Anduril Industries · Quincy, MA · Yesterday
Engineering$191k–$253k/yrFull-time
About the role
Senior Software Engineers independently drive the delivery of a variety of embedded and/or safety critical software integrated in to our products. This includes device management, drivers, firmware, power management, networking, and contingency management and recovery.
We expect Senior Software Engineers to demonstrate end-to-end outcome ownership at the major subsystem or system level. Senior Software Engineers contribute as a technical lead to the rapid architecting, design, delivery, support, and evolution of next generation autonomous platforms through their entire product life-cycle.
Responsibilities
- Design and implement trusted, safety critical Vehicle Management Systems that balance constraints, restrictions and requirements in a multi-stakeholder environment.
- Design and implement scalable vehicle sub-systems including sensor processing, state estimation, contingency management, actuation, payload interfaces, and mission systems interfaces.
- Contribute to the design and development of existing software components across Anduril, with the aim of developing components that are re-usable across multiple Anduril product lines.
- Develop real-time embedded software using an RTOS.
- Develop device drivers and interfaces to a variety of sensors and actuators.
- Create test and simulation fixtures that operate with both software-and hardware-in-the-loop.
- Support vehicle manufacturing and deployment.
- Work as a member of a multi-disciplinary engineering team, including as a mentor for Software Engineers from differing backgrounds.
- Travel to co-locate with end-users and/or other teams up to 20% of the time.
Requirements
- Bachelor’s degree in Robotics, Mechatronics, Computer Science, Engineering, a relevant field, or equivalent experience.
- Experienced and proficient at writing C.
- Experience with Real Time Operating Systems (RTOS).
- Familiarity with communications busses and protocols (e.g. CAN, CANFD, UART/RS232/RS422/RS485, SPI, QSPI, I2C, Ethernet, ARINC-825, ARINC-429, MIL-STD-1553, etc).
- Systems programming skills including algorithms, data structures, concurrency and optimization.
- Capacity to act as the technical owner for a software component, including stakeholder engagement, requirements definition, roadmap management, team co-ordination, design, implementation, sustainment and evolution.
- Capacity to learn and grow individually, while mentoring junior team members effectively, contributing to team cohesion and capacity.
- Eligible to obtain and maintain an active U.S. Secret security clearance.
Preferred Qualifications
- Experience in design and development of embedded applications in autonomous vehicle software systems.
- Experience with development of high assurance safety critical software applications.
- Experience in developing interfaces to sensors and actuators.
- Experience troubleshooting and analyzing remotely deployed software systems.
- Experience working with and testing electrical and mechanical systems.
- Experience with DO-178, IEC 61508, or similar certifications.
- Familiarity with navigation and communications systems.
- Experience within the product delivery lifecycle including manufacturing, system acceptance, deployment, and sustainment.
- Familiarity with Systems Engineering concepts.
- Desire to learn and grow in to other roles that require experience as a Senior Software Engineer, such as Staff Software Engineer and/or Software Engineering Manager.
- Desire to grow in to a Tech-Lead-Manager role, with responsibility for line management of engineers, in addition to delivery.