Innovative Defense Technologies (IDT), provider of automated software testing, data analysis, and cybersecurity solutions for complex, mission-critical systems in the US Department of Defense (DOD), is seeking an Software Engineering Lead to be based in our Arlington, VA and San Diego, CA offices.
Overview:
We are looking for a Software Engineer to lead a small team of engineers to design, develop and integrate software solutions to support DoD customers. The main role of the Software Engineering Lead is to build high-quality, innovative, and performant software that complies with coding standards and technical design set forth by architectural teams. The Software Engineering Lead creates new software products starting from customer interactions and resulting in production capability used by onsite teams and customers. Software Engineering Lead responsibilities include eliciting user requirements, defining system functionality, designing software function, designing software UI and writing code in various languages, like Java and C++. The ideal candidate has experience with the software development life cycle (SDLC) from preliminary system analysis to tests and deployment.
All applicants must be able to obtain/maintain an active U.S. Security Clearance.
Responsibilities Include:
Elicit customer requirements, document, and present to customers along with technical project managers
Lead lab-based test and integration activities at IDT offices and on-site in customer labs
Lead feedback in design reviews & code reviews
Lead a software development project using the GitFlow workflow or similar
Maintain Java, JavaScript, Python, and C++ code bases and engineering teams
Configure network, server, and applications to create CI/CD pipelines for mixed-code code bases
Develop build environments using remote repositories like Maven Central and NPM
Deploy software to containerized environments using orchestrators like Kubernetes
Design new software enhancements and applications with UML primitives
Technical interaction with application customers at a variety of remote sites
Produce technical documentation for customer review and feedback
Conduct technical review presentations for customer review and feedback
Minimum Required Qualifications:
Minimum 5 years' experience in software engineering
B.S. in software engineering, computer science, or related field
Required Skills:
Ability to design software with UML primitives: sequence diagrams, class diagrams, and activity diagrams
Understanding of relationship between design UML primitives (e.g. relationship between class diagrams and activity diagrams)
Ability to learn any language
Ability to work on-site at San Diego or Arlington facilities and travel to customer sites 25% of the time
Proficient with Unix and Linux operating system configuration such as network configuration, firewall configuration, service start/stop, route table modification, software installation
Familiarity with package management software systems NPM, Maven, yum, apt-get
Familiarity with SQL and relational (PostgreSQL, MS-SQL, Oracle, etc.) databases
Proficiency working with distributed version control software systems like Git
Proficiency designing complex software development environments including submodules, remote dependencies, and mixed-code deployments
Preferred Skills:
Basic familiarity with foundational networking concepts such as routing, switching, identity services, intrusion detection, and firewall
Basic familiarity configuring network devices to include VLANs, access control lists, network addressing, and static routing
Experience with containerized software development using platforms like Docker and PodMan
Familiar with containerized software deployment and container orchestration platforms like Openshift/okd, Rancher, and Tanzu.
Proficient deploying virtual machines in VMWare vSphere environments including networking configuration
Familiarity with CANES, GCCS-M or Aegis system design is desired
Competencies:
Good listening skills. The successful candidate will listen to customer problems, identify root causes, elicit initial requirements, and continuously validate requirements throughout software development
Problem-solving skills with the ability to help others navigate ambiguous situations
Excellence in technical communication with peers and non-technical cohorts
Ability to work closely with Program Managers and Chief Engineers to document, manage and communicate systems and software requirements
Initiative, creativity, reliability, teamwork
Strong organization, planning, and communication skills. The successful candidate will need to develop a plan of action, a team to complete the plan, and communicate the plan up and down the organization
Solid analytical abilities, coupled with a strong sense of ownership, urgency and drive
Ability to lead concurrent assignments and determine the need for changing priorities, feeding back to engineering leadership
Pay Range*: $102,600 - $179,550 or $132,300 - $231,000
*Pursuant to California Senate Bill 1162, IDT is required to disclose the "pay scale" or "pay range" associated with a job posting. Notably, however, this amount may not be reflective of actual compensation that may be earned as pay is dependent on a candidate's experience, skills, and education. The posted range does not include bonuses, commissions, tips, or other benefits. Click here for additional information about Senate Bill 1162. IDT is often looking to place multiple candidates at various levels. Therefore, more than one pay range has been included, commensurate with experience.
EEO Statement:
IDT is an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, creed, sex, sexual orientation, gender identity, national origin, disability, protected Veteran status, or any other basis protected by federal, state, or local law.