Software Engineering Manager

Engineering San Diego, California Arlington, Virginia


Description

Background Information:
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 a Lead Software Engineer to be based in our San Diego, CA or Arlington, VA office.  

Overview:
We are looking for a Software Engineering Manager to direct small teams in the design, develop and integrate software solutions to support DoD customers. The main role of the Lead Software Engineer is to build high-quality, innovative, and performant software that complies with coding standards and technical design.

Software Engineer responsibilities include eliciting user requirements, defining system functionality and writing code in various languages, like Java and C++. The ideal candidate is familiar 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:

  • 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
  • Interact technically 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
  • 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, to other sites 10% of the time
  • Ability to work on-site at San Diego or Arlington facilities full time for first 30 days employment.
  • 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
  • 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:

  • Listening to customer problems, identifying root causes, eliciting initial requirements, and continuously validating 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

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.