Perform software development, debugging, modification, enhancement, and documentation.
Design, test, and develop computer software in order to meet program requirements.
Apply expertise in computing systems to define requirements and develop software designs recognizing limitations of target hardware platforms.
Author technical reports and presentations for projects of moderate-to-high complexity.
Compile report input from other researchers and prepare final report deliverables.
Lead and/or contribute to white papers and proposals.
Create and analyze network protocols.
Provide technical leadership to development teams.
Design, architect, and provide senior level support of high-security, sensitive, or classified systems.
Serve as a resource and Subject Matter Expert (SME) for software engineering tools and technologies.
Manage overall codebase, review code pull-requests, handle merging, perform code branch management, and provide feedback to team members to ensure sponsor requirements and code quality thresholds are being met.
Additional Responsibilities
Responsible for leading the development of complex software systems in multiple domains.
Provides technical leadership to development teams -Organize developers to work on items in sprints, manage meetings, and run daily standups.
Design, develop, and support creation, deployment, and maintenance of both on-premises and cloud-based solutions for various software stacks.
Design, architect, and provide senior-level support of highly security-sensitive or classified systems.
Serve as a resource and subject matter expert for software engineering tools and technologies.
Serve as a resource and subject matter expert for DevOps solutions.
Manage overall codebase, review code pull requests, handle merging, perform code branch management, and provide feedback to team members to ensure sponsor requirements and code quality thresholds are being met.
Create level-of-effort (LOE) estimates for assigned tasks and communicate schedule updates to stakeholders.
Create and maintain documentation for code and system components.
Run live demonstrations to showcase implemented work to sponsors, answer their questions, and solicit and document feedback.
Primary author of technical reports/presentations for projects of moderate/high complexity.
Compile report input from other researchers and prepare final report deliverable.
Lead and/or contribute to white papers and proposals.
Required Minimum Qualifications
Extensive Experience with C++.
Experience with Linux or Real-time Linux
Experience in software engineering and development.
Existing secret clearance, or the ability to obtain an interim clearance within 180 days and full clearance thereafter.
Knowledge of computer architectures including multi-core environments.
Familiarity with software applications requiring multi-threaded programming implementation.
Complex programs that involved hardware, software, communications and networking.
Knowledgeable in version control software such as GIT.
Knowledgeable in JIRA, Bitbucket and Confluence.
Experience in the technical management of software engineers.
Good verbal and written communication skills.
Self-starter and ability to work in a team environment.
Preferred Qualifications
Active Secret Clearance
Experience with Object-Oriented Design Knowledge including UML.
Travel Requirements
<10% travel
Education and Length of Experience
14 years of related experience with a Bachelor's degree in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.
12 years of related experience with a Masters' degree in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.
9 years of related experience with a Ph.D. in Computer Science, Electrical Engineering, Physics, Mathematics, or related field.