AeroVironment is looking for a Software Engineer I (Applications) to plan, design, develop, and test software systems or applications for software enhancements and new products, including cloud-based or internet-related tools, within a collaborative Agile development environment.
Requirements
- 0 - 2 years of relevant experience in Windows or Linux application software development. Object Oriented Design experience a must; Qt experience is a plus.
- Expertise in one of the following: C-Sharp .Net, Java, C++, and/or Web UI
- Demonstrated familiarity with source code configuration management tools such as SVN and Git
- Experienced writing unit tests, using an IDE and understanding basic debugging techniques
- Experience with test-driven development is preferred
- Experience with Android, iOS, or React/Redux web development is preferred
- Demonstrated basic knowledge of networking is preferred
Responsibilities
- Works within a defined software life cycle development process
- Supports the full life-cycle of product including design, coding, debugging, test, deployment and maintenance
- Codes, simulates, integrates and validates software. Writes quality code that is modular, reusable, testable, and scalable. Writes unit tests to test code you've written.
- Participates in software design reviews
- Supports and derives algorithm design from detailed software requirements
- Uses JIRA to keep an accurate work log and status of all tasks. Works closely with multiple teams of software developers supporting different programs
- Follows AV's software development process to develop quality code under general supervision
Other
- Works closely with other engineering disciplines
- Other duties as assigned
- Works closely with multiple teams of software developers supporting different programs
- Operate in a continuous learning environment under moderate supervision
- With guidance from senior engineers, one contributes to the design, coding, documenting and testing software using the Scrum Framework