Job SummaryThis role is responsible for building and leading a high-performing team of engineers who design, develop, and ship software that enables autonomous decision-making, distributed coordination, and real-time mission execution.
This is a hands-on leadership role - you will contribute to architecture, review code, and help debug complex systems while driving your team to deliver high-quality software at speed.
DUTIES & RESPONSIBILITIES:- Determine user requirements and specifications and plan for software development within the broader organizational scope.
- Implementation of design including coding, testing, and documentation.
- Troubleshoot and resolve issues related to software and hardware integration.
- Work with stakeholders through the life cycle creating test plans, test cases, and test execution of software features.
- Code maintenance including debugging and updating to keep pace with the evolving environment.
- Assist in planning for future applications based on new developments in computer technology.
- Communicate with the software developer group, with users, and with management as well as with the wider community.
- Maintain the strict confidentiality of sensitive information.
- Performs other duties as assigned or required.
We recognize and appreciate the value and contributions of individuals with diverse backgrounds and experiences and welcome all qualified individuals to apply.
Job Qualifications- Typically requires a bachelors degree, masters degree or PhD in computer science, information systems or related discipline and progressive software development experience as follows; twelve or more years of experience with a bachelors degree, ten or more years of experience with a masters degree, or seven or more years with a PhD. May substitute equivalent experience in lieu of education.
- Must have a basic understanding of software development concepts, principles, and theory and demonstrate the ability to follow and apply basic use of programming and analysis concepts.
- A strong candidate should have a good foundation in algorithms, data structures, and object orientated programming concepts.
- A strong candidate should have a good understanding of C or C++ as well as a working understanding of Java or Python.
- Must possess the ability to understand new concepts quickly and apply them accurately throughout an evolving environment.
- Good communication, computer and interpersonal skills are required to enable an effective interface with other professionals, to produce appropriate documentation, and to present results to a limited internal audience.
- Experienced in Linux.
- Strong debugging skills.
- The ability to work both independently and on a team is essential.
- Able to work extended hours as required.
- Ability to obtain and maintain a DoD Security Clearance is required.