Sr. Software Engineer (Applications)
Position Overview
As a Sr. Software Engineer (Applications), you will work with and be mentored by a talented group of engineers in a fast-moving, collaborative Agile development environment. In this role, you will plan, design, develop, and test software systems or applications for software enhancements and new products, including cloud-based or internet-related tools.
Employment Type
Salary
Location Type
- [Information not provided]
Position Responsibilities
- Works within a defined software life cycle development process.
- Understands requirements and processes.
- Participates in and leads software design reviews.
- Creates software design documentation according to software process requirements.
- Implements coding according to coding standards.
- Writes unit tests and validates 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 and provides guidance and mentoring to less experienced engineers.
- Demonstrates methods and procedures on new assignments and may coordinate activities of other personnel (Team Lead).
- Other duties as assigned.
Basic Qualifications (Required Skills & Experience)
- Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Math, or Physics, or equivalent combination of education, training, and experience.
- Minimum 8 - 12 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 processes.
- 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).
Other Qualifications & Desired Competencies
- Advanced degree is preferred.
- Experience with Android, iOS, or React/Redux web development is preferred.
- Experience with FitNesse test framework is preferred, as is experience with UAS, drones, or robotics.
- Demonstrates understanding of object-oriented design, data structures, databases, and operating systems. Basic knowledge of networking is preferred.
- Demonstrates good judgment in selecting methods and techniques for obtaining solutions.
- Demonstrates effective listening, questioning, clarifying, and summarizing skills to effectively communicate in one-on-one and small group settings.
- Demonstrates understanding of the system design 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.
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).
Company Information
AeroVironment considers several factors when extending an offer, including but not limited to, the location, the role and associated responsibilities, a candidate's [Information incomplete]