AeroVironment (AV) is a global leader in unmanned aircraft systems and tactical missile systems. The Software Engineer II (Applications) will work in a collaborative Agile development environment, focusing on planning, designing, developing, and testing software systems or applications for enhancements and new products.
Works within a defined software life cycle development process
Understands the requirements and process. Participates in software design reviews
Creates software design documentation according to software process requirements and guidance from Senior Engineers
Implements coding according to coding standard. Writes a unique test, and validate software according to the process. Contributes to process improvement efforts
Delivers work on time according to agreed completion dates and project schedule & budget
Supports and derives algorithm design from detailed software requirements
Works closely with multiple teams of software developers reusing developed software to support different programs
Operates in a continuous learning environment under moderate supervision. Provide guidance and mentoring to less experienced engineers
Works on problems of moderate scope where analysis of situations or data requires a review of a variety of factors
Exercises judgment within defined procedures and practices to determine appropriate action. Builds productive internal/external working relationships
Other duties as assigned
Qualification
Required
Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Math, or Physics is required or equivalent combination of education, training, and experience
2 - 5 years of relevant experience in Windows or Linux application software development. Object Oriented Design experience is required
Expertise in one of the following: C# .Net, Java, C++, and/or Web UI
Experienced writing unit tests and debugging code
Experienced with formal and structured lifecycle development process
Experienced with Agile Software Development Process Management
Demonstrated mathematical and analytical skills are required
Demonstrated familiarity with source code configuration management tools such as SVN and Git as well as familiarity with IDEs and debuggers
Willingness to travel locally (Occasionally)
Preferred
Advanced degree is preferred
Experience with Android, iOS, or React/Redux web development is preferred
Experience with FitNesse test framework is preferred
Experience with UAS, drones, or robotics is preferred
Demonstrates understanding of object-oriented design, data structures, database, and operating systems. A basic knowledge of networking is preferred
With guidance from senior engineers, be able to contribute in the design, coding, documenting and testing software using the Scrum Framework
Developing professional expertise, applies company policies and procedures to resolve a variety of issues
Demonstrates effective listening, questioning, clarifying and summarizing skills to effectively communicate in one-on-one and small group settings
Demonstrates understanding of system design that one is working on and understands the role that assigned tasks play in the system
Able to excel in a fast-paced, deadline-driven environment, where small teams share a broad variety of duties
Displays strong initiative and drive to accomplish goals and meet company objectives
Takes ownership and responsibility for current and past work products
Is committed to learning from mistakes and driven to improve and enhance performance of oneself, others, and the company
Has effective problem-solving, analytical, interpersonal and communication skills
Focuses on teamwork, collaboration and puts the success of the team above one's own interests
Benefits
Medical
Dental vision
401K with company matching
A 9/80 work schedule
A paid holiday shutdown
At AV, we build shoulder-to-shoulder with our customers, delivering systems shaped by real-world missions, not theoretical requirements.