Senior Software Engineer
Job Description
AeroVironment is seeking a Senior Software Engineer to join the LEAP (Learning & Active Perception) team. The position is focused on implementing video processing and perception pipelines for low-SWaP processors and integrating them into unmanned aerial systems, including testing and field experimentation.
Key Responsibilities
- Implement and optimize computer vision and perception algorithms in C++, including configuring build systems with CMake for low-SWaP embedded processors
- Support testing and demonstrations of components and integrated systems
- Create and maintain documentation and technical reports, including contributing inputs for presentations to customers and other stakeholders
- Produce software design documentation aligned with software process requirements and guidance from senior engineers
- Implement software in accordance with coding standards by writing unique tests, validating software per the process, and contributing to process improvement
- Deliver work by agreed completion dates in support of the project schedule and budget
- Derive algorithm design from detailed software requirements
- Collaborate with other software developers to design and reuse software components for different programs
- Work in a continuous learning environment with moderate supervision and provide guidance and mentoring to less experienced engineers
- Handle problems of moderate scope that require analysis of multiple factors
- Apply judgment within defined procedures and practices, and build effective internal and external relationships
- Perform other duties as assigned
Required Qualifications
- Bachelor’s degree in Computer Science/Engineering, Electrical Engineering, Math, or Physics, or an equivalent combination of education, training, and experience
- 5 to 8 years of relevant experience in software engineering or a related field
- Strong software engineering skills with proficiency in C/C++ as the primary language, including understanding of data structures, algorithms, object-oriented programming, and development workflows
- Experience with CMake and modern C++ build systems
- Experience with Python for tooling, scripting, and prototyping (secondary)
- Experience with Ubuntu and/or CentOS Linux operating systems
- Experience writing unit tests and debugging code
- Demonstrated mathematical and analytical skills
- Familiarity with source code configuration management tools such as Git, and familiarity with IDEs and debuggers
- Ability to collaborate with external developers and customers
Preferred Skills
- Experience with DDS, gRPC, and Rust
Technologies
- C++, C, CMake, Python, Ubuntu, CentOS, Linux, DDS, gRPC, Rust, Git
Benefits
- Medical
- Dental
- Vision
- 401K with company matching
- 9/80 work schedule
- Paid holiday shutdown
Location and Work Setup
Centreville, VA (onsite)
Schedule, Travel, and Clearance Information
- Clearance level: No Clearance
- Willingness to travel within the continental U.S. (Frequent / 50%+)
- Must be willing to work on government contracts and be able to obtain a DoD security clearance; an active clearance is a plus
Special Requirements
- U.S. Citizenship is required
- Willingness to obtain or already have an FAA Part 107 certification to operate small UAS
ITAR/EAR Requirement
This position requires access to information subject to compliance with the International Traffic Arms Regulations (“ITAR”) and/or the Export Administration Regulations (“EAR”). Applicants must qualify as a U.S. person under the ITAR and the EAR, or be eligible to obtain an export license from the governing agency for the technology under its jurisdiction. Some positions may require current U.S. citizenship due to contract requirements.
Physical Demands
- Ability to work in an office environment (Constant)
- Required to stand and sit for long periods; talk, hear, and use hands and fingers to operate a computer and telephone keyboard (Frequent)
Compensation
USD 105,000 - 160,000 per yearly