Senior Software Engineer, Device Infrastructure

Anduril Anduril · Defense · Costa Mesa, CA · Tactical Recon & Strike : Tactical Recon & Strike Engineering : TRS - Software

Senior Software Engineer on the Core Infrastructure team at Anduril, focused on building the tools and infrastructure for manufacturing and deploying autonomous drone products (Ghost, Anvil, Bolt, Altius). The role involves defining software architectures, creating solutions in Python/Rust/C++/Go, and interfacing with teams developing various system aspects from drivers to autonomy.

What you'd actually do

  1. Design, build, test, and release the tools used during manufacturing and deployment of Anduril Products.
  2. Help define foundational software architectures, configuration processes, and user experience workflows for our products, working directly with chief engineers, program managers, flight test engineers, and end-user customers to demonstrate capability and iterate on feedback.
  3. Create solutions in Python/Rust/C++/Go that integrate into software product lifecycle technologies like NixOS/CircleCI/Docker.
  4. Interface with engineers developing every aspect of the system from low-level Linux drivers to cutting edge autonomy and streamlined user interfaces.
  5. Test and evaluate your software at multiple levels of rigor using simulations, benchtop hardware, and live flight assets.

Skills

Required

  • 3+ years working with a variety of programming languages such as Python, Rust, C++, Go, etc.
  • Experience working with customers to deliver novel software capabilities.
  • Passion for user experience and providing streamlined products.
  • Intuition for finding solutions to complex problems involving multiple technologies (simulation, data management, compute infrastructure, networking).
  • Ability to collaborate with team members and partners in the autonomy domain.
  • Ability to build technologies and processes that enable users to safely and rapidly develop and deploy autonomous systems at scale.
  • Eligible to obtain and maintain an active U.S. Secret security clearance.

Nice to have

  • Built or invented something: an app, a website, game, startup.
  • Previous experience working in an engineering setting: a startup (or startup-like environment), engineering school, etc.
  • Professional software development lifecycle experience using tools such as version control, CI/CD systems, etc.
  • Deep, demonstrated understanding of how computers and networks work, from a single desktop to a multi-cluster cloud node (UDP, TCP, gRPC, REST, etc.).
  • Understanding of Linux kernel architecture: Familiarity with device trees, bootloaders, and other kernel components.
  • Experience creating infrastructure for robots or other complex embedded devices.
  • Experience building scalable backend software systems with various data storage and processing requirements.
  • Experience with industry standard cloud platforms (AWS, Azure), CI/CD tools, and software infrastructure fundamentals (networking, security, distributed systems).
  • Ability to quickly understand and navigate complex systems and established code bases.
  • Experience with modern build and deployment tooling (e.g. CircleCI, Docker, NixOS, Terraform).
  • Experience designing complex software systems, and iterating upon designs via a technical design review process.
  • Familiarity with industry standard monitoring, logging, and data management tools and best practices.
  • A bias towards rapid delivery and iteration.

What the JD emphasized

  • Eligible to obtain and maintain an active U.S. Secret security clearance.