About the Job
Senior Software Engineers independently drive the delivery of software integrated in our various products. This includes autonomy, simulation, data processing, payload integration, and off-board command and control and decision support. We expect Senior Software Engineers to demonstrate end-to-end outcomes ownership of complex systems or major sub systems. Senior Software Engineers contribute as a technical lead to rapid architecture, design, delivery, support, and the evolution of next generation autonomous platforms through their entire product cycle.
What You'll Do
- Empathize with end-users and drive solutions that balance their needs with external constraints, restrictions and requirements in a multi-stakeholder environment
- Own software enabled solutions that are deployed to customers, optimizing for the delivery of value to the end-user
- Design and implement scalable software that rapidly delivers capability beyond the scope of current platforms, with a clear path for both architecture and capability evolution over time
- Contribute to the design and development of existing software services across Anduril, with the aim of developing components that are re-usable across multiple Anduril product lines
- Develop software that runs on- and off- robotic platforms, using a variety of technologies
- Contribute to the design, implementation and execution of development processes for the initial delivery and subsequent iteration of vehicle and mission software, including full lifecycle testing, monitoring and operation
- 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
Required Qualifications
- Bachelor's degree in Robotics, Mechatronics, Computer Science, Engineering, a relevant field, or equivalent experience
- Extensive professional experience working as a Software Engineer with one or more domains and/or technologies of expertise
- Systems and/or application programming skills including algorithms, data structures, concurrency, scaling, testing, infrastructure, software design and system design
- Experience troubleshooting and analyzing remotely deployed software systems
- Capacity to work holistically on software enabled capabilities up and down the software stack and through lifecycle through design, implementation, operation and sustainment
- Capacity to act as the technical owner for a software service, including stakeholder engagement, requirements definition, roadmap management, team co-ordination, design, implementation, sustainment and evolution
- Capacity learn and grow individually, while mentoring junior team members effectively, building team cohesion and capacity
- Eligible to obtain and maintain an active U.S. Secret security clearance
Preferred Qualifications
- Experience in a senior role for the delivery of a military mission system
- Experience writing backend services or embedded software in C++, Rust and/or Go
- Experience writing frontend applications using Typescript and React
- Experience with the design, implementation and operation of horizontally scaled cloud technologies
- Experience with the design, implementation and support of embedded software, particularly in the field of robotics
- Experience with modeling and simulation
- Experience with development of high assurance safety critical software
- 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