The Senior Software Engineer is responsible for designing, developing, and maintaining software applications. They guide junior engineers and work closely with cross-functional teams to understand requirements, create technical specifications, and implement solutions.
Essential Functions
- Support both the evolution and continued development of existing applications and the design and delivery of new applications in an agile environment.
- Analyze user requirements to derive software specifications and performance requirements.
- Design interfaces and integrate third-party applications and software containers within a larger software architecture.
- Design, develop, deploy, configure, document and debug software, while properly escalating issues to meet deadlines.
- Apply the appropriate standards, processes, procedures, and tools throughout the development life cycle, and ensure reuse of code.
- Design and code new software or modify existing software to add new features.
- Troubleshoot and debug existing software and correct defects.
- Coordinate with QA for end-to-end unit testing and post-production testing.
- Develop prototypes, architectural models, test plans; establish test databases; and conduct alpha tests and coordinate beta tests of new or modified applications based on industry best standards and procedures for testing and review.
- Review and evaluate technological developments in hardware, software, and telecommunications for applicability to current or future requirements.
- Lead junior software engineers to design and implement high quality software libraries and applications efficiently.
- Perform other related duties as assigned.
Standard Essential Functions
- Regular and reliable attendance on a full time basis or in accordance with posted schedule .
- Responsible for exhibiting professional behavior with both internal and external business associates that reflects positively on the company and is consistent with the company's policies and practices.
- Embodies AEVEX's cultural values and aligns daily actions with department goals and company culture.
Qualifications and Competencies
- Ability to lead and collaborate in the development effort while also providing innovative and creative solutions.
- Ability to run with an idea or solution and create opportunities to see the product succeed.
- Vision for what needs to be done, without specific direction.
- A record of successful delivery of software applications as an individual and with a team.
- Strong understanding of the software development life cycle (SDLC).
- Strong understanding of the agile software development methodologies and principles.
- Strong understanding of and desire to implement continuous delivery and integration within the development life cycle.
- Willingness and ability to dive into technical issues within environments.
- High command of verbal and written English and able to clearly communicate design, architecture, implementations and requirements.
- Self-motivated, self-managed.
- Team-player, action & results-focused.
- Able to work under tight deadlines.
Security Clearance
- Top Secret/SCI DoD clearance.
Education / Certifications
- Master's degree in Computer Science or related field required.
Experience
- Must have at least 10 years' experience working through the design, development, testing, release cycle and delivering software products.
- Experience in aerospace or defense industry is preferred.
- Digital signal processing and in particular, radio frequency analysis.
- Understanding of and experience in:
- JAVA 7+
- C/C
- C
- SQL / General Database experience
- HTML5/JavaScript
- Design Patterns and Dependency Injection
- Object-Relational Mapping and LINQ
- Version control (GIT and/or Mercurial)
- 3D Graphics
- RF (Radio Frequency)
- GNSS (Global Navigation Satellite System)
- Digital Signal Processing