AeroVironment is looking for an Embedded Software Engineer I to develop innovative unmanned and robotic systems for defense and commercial applications. This role involves writing, testing, and debugging software for embedded devices like aircraft and payloads, and expanding the capabilities of existing software to meet specific program requirements.
Requirements
- Proficient with Python, C, C++11,C++ STL and/or OpenCL
- Demonstrated knowledge of Visual Studio, Eclipse or similar IDE as well as defect tracking tools
- Experienced working with common protocols such as RS-485, RS-232, CAN, I2C, SPI, USB
- Experience with STM32 family of processors highly desired and additional experience working with RTOS systems (such as µC/OS, freeRTOS) on those processors is preferred
- Experience using Video 4 Linux and modifying and compiling Ubuntu Linux Kernels is desired
- Experience developing drivers for Linux/ARM and Robot Operating System (ROS) is desired
- Basic electronics knowledge and use of lab equipment is preferred
Responsibilities
- Writes and tests software to support integration of sensors and embedded processors into aircraft (such as autopilots, payloads, software defined radios or other functional components) or other robotic systems
- Designs and implements software for prototypes and products using established AeroVironment and industry developed tools and practices. Ensure good configuration control and management of software
- Assists in writing of system requirements, system test plans, diagnostic tools, and in validation testing of software. Assist with hardware selection and recommend processing, memory and storage needs of systems
- Support development of rapid prototyping and conceptual level testing and will require estimating time to develop software and scoping the depth of the development with project/program management to fit timeline and budget constraints
- Supports transition of development software to production environments and to certification. Participates in multi-disciplinary development teams
- Develops proof of concept capability demonstrations. Conducts and supports design reviews
- Follows AV's software development process to develop quality code under general supervision
Other
- Minimum 0 - 2 years of experience years of relevant experience
- Demonstrated mathematical and analytical skills are required
- Periodic travel will likely be required in support of testing equipment at approved flying locations
- Periods of development may require long irregular hours around deadlines, weekends and some holidays and in field test environments
- Must be willing to work on government contracts and have the ability to obtain a security clearance.