Summary
We are seeking an experienced Software Development Lead to lead the design and development of high-performance, mission-critical software solutions. This role combines hands-on software engineering with technical leadership, software architecture, prototyping, source code analysis, and customer engagement.
The ideal candidate brings deep experience with C/C++ development, complex software architectures, embedded systems, and full software lifecycle development. You will lead technical projects from concept through deployment, mentor other engineers, evaluate architectural tradeoffs, and work directly with technical stakeholders to solve complex software and systems challenges.
Responsibilities
- Lead software development projects from concept through integration, testing, and deployment, with a strong focus on C and C++
- Design and evaluate complex software architectures for scalable, maintainable, and high-performance systems
- Develop and maintain architecture and design artifacts, including data flow diagrams, sequence diagrams, interface definitions, and quality attribute specifications
- Support software acquisition, architecture, systems engineering, testing, and operational activities for complex ground and space systems
- Analyze existing software, source code, interfaces, and system architectures to identify technical risks and improvement opportunities
- Develop prototypes and technical demonstrations to evaluate new technologies, architectures, and potential solutions
- Lead technical discussions with customers, program managers, engineers, and other stakeholders to understand requirements and recommend solutions
- Mentor junior and mid-level engineers across software architecture, design, development, integration, analysis, and testing
- Lead development teams and take ownership of complex, high-visibility technical deliverables
- Apply static analysis tools and techniques to identify software vulnerabilities, improve code quality, and reduce technical risk
- Evaluate architectural drivers, design tradeoffs, extensibility, performance, and long-term maintainability
- Stay current with emerging technologies, software engineering practices, and relevant industry trends
Qualifications
- Bachelor’s degree with 10+ years of relevant experience, or an equivalent combination of education and experience
- Strong proficiency in C and C++
- Proficiency in Python, particularly for analytics, automation, or data analysis
- Demonstrated experience designing and implementing complex software architectures and systems
- Experience developing embedded software
- Experience developing performance tests and analyzing test results
- Experience with static analysis tools and software quality/security techniques
- Experience with the full software development lifecycle, including architecture, development, integration, testing, and deployment
- Experience with ground and/or space systems, including complex or legacy-dependent software environments
- Ability to meet applicable background investigation and U.S. government security clearance requirements