Clearance Requirement: Must have Active Secret clearance
Years of Experience: 7-10 years of relevant experience
Education Level: BS Degree - Experience may be considered in place of education requirement.
Position Description: Our client is looking for a Principal Software Engineers who must have senior knowledge and senior hands-on experience in developing, implementing, and leading across multiple software teams. As a principal engineer, this labor competency is responsible for assessing, creating, and improving the quality and performance of existing software code, with duties to design and update software databases under contract and from the assigned Government Product Manager. The individual must have an astute ability in writing test scripts in an agile software development environment with an emphasis on automated test procedures, and continuous integration and continuous delivery of software. Individuals shall recommend improvements to existing software applications as necessary. Furthermore, individuals shall be capable/willing to perform the software tasks identified in the position's primary responsibilities while working on Government/Contractor software teams.
- Designs, Develops, and tests software for Command and Control-based products.
- Develops front end and backend of software prototypes, components, and tooling that can be leveraged to speed the prototyping process.
- -- KR engineers shall embrace and adhere to the following development methodologies:
- -- Extreme Programming (XP) Practices
- -- Pair-Programming
- -- Test-Driven Development (TDD)
- -- Test-Driven Development (TDD)
- Helps to design and develop software requirements for multiple Command and Control-based products including the software architectures, APIs, frameworks, and libraries.
- Works with data scientists, UX designers, engineers, and product managers to help in composing cohesive and sound software designs that form the basis of scalable Command and Control software solution
- Optimizes software designs and architectures to deliver desired performance targets and devises tooling and methodologies to profile execution and capture performance metrics.
- Principal engineers shall be highly proficient in discussing future limitations and a forward-thinking approach to resolving roadblocks presented by the current strategy
- Stays informed on latest software architectures and trends from design patterns to DevSecOps and systems architecture patterns.
- Guides technical decisions in order to migrate legacy systems to the cloud
- Directly influences strategy formulation on how to achieve rapid prototyping of capabilities.
- Analyzes and decomposes activities and requirements to software designs that are allocated across systems components/sub-components, classification system levels, etc.
- Captures, develops, and reports reference architectures and documenting compliance standards.
- Develops plans, road maps, and software design strategies.
- Teaches others troubleshooting techniques, design patterns, and testing strategies in order to train and upskill less experienced engineers. Principal Devs shall be able and willing to provide guidance.
- Maintains and guides the development of common best practices and tools used by multiple teams.
- Implements and practices DevOps Developer Enablement and helps more junior/less experienced developers to do the same.
- Shares best practices and technical knowledge among multiple teams/branches.
- 8 years of non-internship professional Full-Stack Software development experience (Java, Web services, Database, and/or web application development)
- 4 years of experience with DevSecOps tools and processes such as Git, Concourse, GitLabCI, SonarQube, Fortify, and ThreadFix
- 3 years experience with front end frameworks like React or Vue
- 5 years of experience with Extreme Programming practices (Test-Driven Development, Pair Programming, CI/CD, etc)
- 4 years of experience contributing to software architecture and design (architecture, design patterns, reliability and scaling) of both new and existing systems
- 2 years of experience using container technologies such as Docker or Kubernetes
- 3 years training, upskilling, and/or mentoring engineers
- MS in a highly quantitative field (Computer Science, Machine Learning, Operational Research, Statistics, Mathematics, etc.)
- 2 years of experience with backend runtimes and frameworks like Node.js, Spring, Spring Boot, Django, Flask, etc.
- 1 year of experience with test mocks
- 1 year of experience with contract testing
CompTIA Sec+, CMU SEI - Software Assurance Professional Certificate, or CSSLP certification