We are currently seeking a Software Engineer Manager to join our team.
AeroVironment is driven by the legacy that made it the success that it is extreme intelligence and creativity working closely in teams to achieve the impossible. Managing the embedded software group requires exceptional skills in people management, understanding of electrical engineering, real-time embedded software running on micro-controllers, as well as real-time Linux and video chain processing and target tracking. You will work with Program managers to allocate appropriate resources, vet schedules, and budgets. You will work with Systems Engineering to ensure performance and technical correctness, help define system architectures and requirements. You will work with your staff to ensure on-time delivery of the software with quality and robustness, and to evolve new standards for process and productivity.
Embedded Software engineering at AeroVironment includes control of UAVs and missiles, and the technologies to support this, including optical (video) tracking and image recognition, autonomy, GNC, robotics, and man-machine interfaces. Experience in robotics is a definite plus in this environment. If you're motivated to work on important products with highly motivated, capable and exceptional people, AeroVironment can provide interesting challenges and rewards.
Job Duties and Responsibilities
Lead, grow, guide, and motivate an experienced embedded software development team to develop software solutions for both our new products and legacy products.
Build a strong productive team.
Develop and improve the software design process, including CMMI level 3.
Responsible for one or more software development teams.
Required Qualifications & Background
US Citizenship or US permanent resident.
BS in Electrical Engineering, Computer Engineering, Computer Science, or related discipline.
10+ years' experience with real-time/embedded application software with a minimum of 8 years in a management position.
A willingness to travel, on occasion.
5+ years' experience C++ and Object Oriented Design.
Deep understanding of software development process.
A proven leader of strong technical contributors.
Ability to drive difficult issues to closure across various teams to ensure on-schedule delivery with quality.
Basic electronics knowledge and use of lab equipment are required.
Expert in software lifecycle development including defining and documenting requirements, object-oriented software architecture and design, programming and testing, and source code configuration management.
Technical knowledge and experience with the following are desired; Serial communications, Network communications, CAN communication, TCP/IP, UDP, FTP, image processing.
Excellent interpersonal and communication (written and verbal) skills. Strong listening, questioning, clarifying and summarizing skills to effectively communicate in one-on-one and small group settings.
Experience in autonomous control and navigation of unmanned vehicles a plus.
Windows programming a plus.
Familiarity with Keil, Visual Studio, and CCS a plus.
Familiarity with iMX6/Linux a plus.
Familiarity with ARM processors a plus.
Familiarity with SVN configuration management tools a plus.