Senior Software Engineer
Posted on Monday, February 20, 2023
Anduril is a defence technology company, bringing Silicon Valley talent and funding to the defence sector. Our technology helps our customers solve their toughest challenges by enabling them to make better, more informed decisions in life-and-death situations. We’ve assembled a diverse team of experts in artificial intelligence, computer vision, sensor fusion, optics, and data analysis to create software and hardware solutions that radically evolve the defence capabilities of the United States, and are now seeking to replicate our successes internationally with a team based in Australia. If you are passionate about solving problems that have real impact, we want you to join Anduril and help us build the future of defence capability.
At Anduril Australia we are developing unmanned systems for subsurface and other domains that will leverage unsupervised autonomy for the delivery of long endurance, multi-mission capability to our customers. These projects, including but not limited to the Extra Large Autonomous Undersea Vehicle (XL-AUV) Program, require Senior Software Engineers with deep experience delivering robotic systems. The Senior Software Engineer strives to leverage their experience with robotic systems to rapidly architect, design, deliver, support, and evolve next generation autonomous vehicles through the entire product life-cycle.
WHAT YOU'LL DO
- Act as a subject matter expert for architecture selection and design for robotic systems, including hardware selection, compute, storage and network architecture, service orchestration and other software platform concerns that balance constraints, restrictions and requirements in a multi-stakeholder environment.
- Lead design and implementation for scalable robotic sub-systems to rapidly deliver 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 other software systems and sub-systems.
- Develop software that runs on- and off- platform, using a variety of technologies.
- Contribute to the design and implementation of development processes for the initial delivery and subsequent iteration of robotic software, including full lifecycle testing.
- 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 software team, including as a mentor for Software Engineers from differing backgrounds.
- Bachelor’s degree in Robotics, Mechatronics, Computer Science, Engineering, a relevant field, or equivalent experience.
- Experience in a senior role for the delivery of a robotic system, particularly in the air, maritime or space domains.
- Systems and/or application programming skills including algorithms, data structures, concurrency and optimization.
- 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.
- Ability to obtain and maintain an Australian Government Security Clearance.
- Experience with the development and sustainment of distributed software platform and application architectures, running under dynamic network topologies.
- Experience writing C++, Go or Rust.
- 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.
- Familiarity with communications busses and protocols such as CAN, CANFD, ARINC-825, ARINC-429, MIL-STD-1553, UART/RS232/RS422/RS485, SPI, QSPI, I2C, Ethernet, etc.
- Experience within the product delivery lifecycle including manufacturing, system acceptance, deployment, and sustainment.
- Familiarity with vehicle management systems.
- Familiarity with System Engineering concepts.
- Desire to learn and grow in to other roles that require experience as a Senior Software Engineer, such as Principal Software Engineer and/or Engineering Manager.
- Desire to grow in to a Tech-Lead-Manager role, with responsibility for line management of engineers, in addition to delivery.
Anduril is an equal-opportunity employer, and we encourage candidates from all backgrounds to apply. If you are someone passionate to work on problems that matter, we’d love to hear from you!