Senior Staff Embedded Software Engineer

AeroVironment•Princeton, CA

About The Position

The Senior Staff Embedded Software Engineer leads and develops innovative unmanned and robotic systems for defense and commercial applications. The role creates functional software for embedded devices and systems, including aircraft and payloads, and may test those systems in flight-test environments. Work spans the software lifecycle, from designing, developing, coding, testing, and debugging system software to improving its efficiency, stability, and scalability. The engineer also extends existing software codebases to meet specific program requirements. The position supports integration of sensors and embedded processors into aircraft and robotic systems, and works with other engineering disciplines and multidisciplinary teams. It leads requirements development, test planning, validation, prototyping, and transitions of development software into production and certification environments. The role also contributes to software development practices and performs analysis of significant, unique technical issues. The position requires periodic travel to approved flying locations for equipment testing. Development periods may involve long, irregular hours, weekends, holidays, and work in field-test environments. The role requires access to ITAR/EAR-controlled information; applicants must qualify as a U.S. person or be eligible for an export license. Some positions may require current U.S. citizenship due to contract requirements.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Aerospace Engineering, Mechanical Engineering, or a related field, or an equivalent combination of education, training, and experience.
  • 12–15 years of relevant experience.
  • Experience troubleshooting systems.
  • Proficiency with Python, C, C++11, C++ STL, and/or OpenCL.
  • Knowledge of Visual Studio, Eclipse, or a similar IDE, as well as defect-tracking tools.
  • Experience with common protocols such as RS-485, RS-232, CAN, I2C, SPI, and USB.
  • Demonstrated mathematical and analytical skills.
  • Ability to travel periodically to support testing equipment at approved flying locations.
  • Ability to work long, irregular hours during development periods, including weekends and some holidays, and in field-test environments.
  • Linux/ARM driver-development experience.
  • Ability to work in an office and R&D environment; ability to stand and sit for long periods, talk, hear, and use hands and fingers to operate a computer and telephone keyboard.
  • Must qualify as a U.S. person under ITAR/EAR requirements or be eligible for an export license; some positions require current U.S. citizenship due to contract requirements.

Nice To Haves

  • Advanced degree.
  • Competency in contributing to software design, coding, documentation, and testing.
  • Experience with Test Driven Development (TDD) and software unit testing.
  • Understanding of automated build environments and automated testing and deployment.
  • Knowledge of object-oriented programming and multithreaded design.
  • Experience with JIRA and source-code control tools such as SVN, Bitbucket, or GitLab.
  • Experience with STM32 processors and RTOS systems such as µC/OS or FreeRTOS.
  • Experience with Video4Linux and modifying and compiling embedded Linux systems.
  • Familiarity with the Robot Operating System (ROS).
  • Electronics knowledge and experience using laboratory equipment.
  • Strong leadership, interpersonal, written, and verbal communication skills.
  • Understanding of the system being developed and how assigned work contributes to it.
  • Ability to research and re-engineer solutions to propose alternatives to technical issues.
  • Ability to excel in a fast-paced, deadline-driven environment where small teams handle a broad range of duties.
  • Strong initiative, ownership, accountability, problem-solving, analytical, teamwork, and collaboration skills; commitment to learning from mistakes and improving performance.

Responsibilities

  • Write and test software supporting integration of sensors and embedded processors into aircraft, including autopilots, payloads, software-defined radios, and other functional components, or into other robotic systems.
  • Design and implement software for prototypes and products using established AeroVironment and industry tools and practices.
  • Ensure effective software configuration control and management.
  • Lead the writing of system requirements and system test plans, develop diagnostic tools, and lead software validation testing.
  • Assist with hardware selection and recommend processing, memory, and storage requirements.
  • Lead rapid prototyping and conceptual-level testing, estimate software development time, and scope development with project or program management to meet schedule and budget constraints.
  • Work closely with other engineering disciplines and participate in multidisciplinary development teams.
  • Lead and support the transition of development software to production environments and certification.
  • Develop proof-of-concept capability demonstrations and conduct or support design reviews.
  • Contribute to AeroVironment’s software development process by developing quality code.
  • Analyze significant and unique issues that require evaluation of intangible factors.
  • Perform other duties as assigned.

Benefits

  • Medical insurance
  • Dental insurance
  • Vision insurance
  • 401(k) with company matching
  • 9/80 work schedule
  • Paid holiday shutdown
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service