About the Role
About The Team
At Anduril, our Software Engineers specialize in solving complex, real-world problems through cutting-edge algorithms and intelligent software integrations. Operating in small, innovative teams, we push the boundaries of what's possible to deliver advanced technologies with mission-critical applications. Our commitment doesn't end with academic research or proof-of-concept experiments; we measure our success by the real-world impact of our deployed solutions.
What You Will Do
- Define and influence the direction of a small team, leveraging your subject-matter expertise in target tracking and state estimation.
- Architect, maintain, and evolve complex software systems, refactoring existing codebases to improve performance, maintainability, and scalability.
- Prototype and deploy state-of-the-art algorithms for tracking, multi-sensor data fusion, and state estimation in agile, iterative development environments.
- Develop high-performance Rust software for real-time systems, ranging from tactical implementations to simulation environments and decision support tools.
- Design and implement robust filters, estimators, and probabilistic reasoning systems that enable actionable insights from noisy, ambiguous, or incomplete sensor data.
- Apply software design patterns and architectural best practices to manage technical debt and guide the evolution of production systems over time.
- Analyze system performance using high-fidelity simulations, innovative modeling tools, and rigorous statistical techniques to validate the benefits of our technology.
- Drive customer success by customizing algorithms and software for mission-critical use cases, including real-time tracking and sensor fusion.
- Integrate tracking and estimation technologies into the broader software development lifecycle, from requirements definition through testing and optimization.
- Translate technical progress into clear, actionable insights for diverse stakeholders, including colleagues and end-users.
Required Qualifications
- 5+ years of professional software engineering experience & a Bachelor's degree in mathematics, physics, engineering, or other technical field (advanced degree strongly preferred).
- Demonstrated experience managing and evolving software architecture in production environments, including refactoring legacy systems and managing technical debt.
- At least 2+ years working on a single codebase.
Requirements
Rust programming
You must have experience developing high-performance software in Rust.
Software architecture
Experience managing and evolving software architecture in production environments is essential.
Target tracking expertise
You should have subject-matter expertise in target tracking and state estimation.
Statistical analysis
Ability to analyze system performance using statistical techniques is required.
Nice to Have
An advanced degree in a technical field is strongly preferred.
Experience working in agile, iterative development environments is a plus.
Benefits
Impactful work
Contribute to mission-critical applications that have real-world implications.
Innovative team
Join a team that pushes the boundaries of technology in defense.