Summary
Innovative Defense Technologies (IDT) is a leading defense technology company focused on rapidly delivering mission-critical software and systems solutions to the U.S. government. They are seeking a Software Engineer to join their Warfare Systems team, responsible for architecting and modernizing legacy weapons system software to support Navy tactical capabilities.
Responsibilities
- Design, implement, and test complex software in C, C++, Python, JavaScript, and Java within various development environments
- Analyze legacy monolithic software programs, recompiling them, and incrementally apply refactoring to modernize the software using the “brownfield” and “greenfield” methodologies
- Technical assessment and deconstruction of Navy tactical system code for Surface Navy Combat systems
- Explore and prototype next-generation solutions using artificial intelligence/machine learning, distributed processing, and modeling
- Interact with customers to elicit requirements and document agreements
- Present to organization leadership on project cost, schedule, and technical progress
- Software architecture development including hardware and software interfaces between software components
- Assist in developing user, functional, and technical requirements for tactical systems
- Participate and provide feedback for design & code/peer reviews
- Integrate individual software components into complex software environments
- Support test and integration activities at IDT labs and government Land Based Test Sites (LBTS)
- Integrate software components into a complex software development environment
- Ensure adherence to industry standards pertaining to security, orthodox programming paradigms, and performance requirements
- Understand and interact with complex DoD software systems
- Work with small cross-site teams of software and/or systems engineers
- Collaborate with team members to peer-review architecture design, system requirements, and implemented code
Skills
- Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent full-time professional experience
- 0-5 years of professional experience
- Ability to travel up to 10% of the time, as needed
- Familiarity with combat system design and software
- Familiarity and experience with developing tactical systems software on DOD programs
- Familiarity with C, C++, Python, and/or Java programming languages
- Adept with developing in Linux OS environments, including shell scripting
- Ability to decompose and document requirements and specifications
- Understanding of distributed systems, algorithms, data structures and software design patterns, especially the Strangler Pattern
- Experience with Agile software development processes
- Proficiency working within a Git CM environment
- Comfortable with DevSecOps best practices
- Ability to convert vague customer requirements into a refined vision
- Ability to identify and describe algorithmic complexity
- Ability to work on-site with potential hybrid flexibility
- Familiarity with the software development process (requirements through deployment)
- Ability to design, develop, and analyze software systems
- Ability to model/code/test algorithms in C++, Python, Java
- Ability to model/code/test GUI applications
- Proficiency in at least one modern language (e.g., Python, Java, C++, C#) and/or one modern frontend language (e.g., TypeScript, JavaScript)
- Understanding of: Windows and Linux file systems, Version control (Git), APIs (REST/gRPC), Modular code design
- Ability to review, critique, and harden AI-generated code
- Familiarity with SQL and relational databases (e.g., Postgres)
- Familiarity with computer networking and various networking protocols (e.g., TCP/IP, UDP, CORBA, DDS)
- Ability to perform many concurrent assignments and determine the need for changing priorities
- Up to 5 years of full-time professional experience
- Familiarity with the AEGIS Weapon System Common Source Library (CSL), ideally, or Ship Self Defense System (SSDS) Single Source Library (SSL)
- Experience with AEGIS, ideally, or SSDS tactical systems
- Experience utilizing Make build system, Maven, and Ant scripting
- Experience with X-Windows
- Familiar with Model Based System Engineering (MBSE) methodologies
- Experience with Jenkins, Jira, and the Atlassian tool suite
- Familiarity with foundational networking concepts such as routing, switching, identity services, intrusion detection, and firewall
- Familiarity deploying virtual machines in VMWare vSphere environments including networking configuration
- Familiarity designing complex software development environments including submodules, remote dependencies, and mixed-code deployments
- Familiarity deploying virtual machines and/or containers into Azure cloud environments including networking configuration
- Solid analytical abilities, coupled with a strong sense of ownership, urgency, and drive
- Problem-solving skills with the ability to navigate ambiguous situations
- Excellence in oral, written, and technical communication with peers and non-technical cohorts
- Initiative, creativity, reliability, teamwork
- Strong organization and planning skills
- Attention to detail while ability to see and understand the big picture
- Experience with cloud computing, virtualization, or containerization technologies
- Familiarity with Cloud infrastructure (e.g., Azure, AWS, GCP)
- Experience with big data solutions (e.g. Hadoop, Spark, Kafka, Cassandra)
- Demonstrated experience using AI coding assistants (e.g., GitHub Copilot, ChatGPT, Claude, Cursor, Codeium) for: Code generation, Refactoring and optimization, Debugging and root-cause analysis
- Ability to write effective prompts and iterate with AI to improve code quality and performance
- Understanding of AI limitations, hallucinations, and validation techniques
- Experience with testing frameworks including unit testing and interface testing
- Experience building user interfaces with a modern component framework such as React, Angular, or Vue
- Experience using Storybook or other Mock testing tooling
Qualifications
Must Haves
- Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent full-time professional experience
- 0-5 years of professional experience
- Ability to travel up to 10% of the time, as needed
- Familiarity with combat system design and software
- Familiarity and experience with developing tactical systems software on DOD programs
- Familiarity with C, C++, Python, and/or Java programming languages
- Adept with developing in Linux OS environments, including shell scripting
- Ability to decompose and document requirements and specifications
- Understanding of distributed systems, algorithms, data structures and software design patterns, especially the Strangler Pattern
- Experience with Agile software development processes
- Proficiency working within a Git CM environment
- Comfortable with DevSecOps best practices
- Ability to convert vague customer requirements into a refined vision
- Ability to identify and describe algorithmic complexity
- Ability to work on-site with potential hybrid flexibility
- Familiarity with the software development process (requirements through deployment)
- Ability to design, develop, and analyze software systems
- Ability to model/code/test algorithms in C++, Python, Java
- Ability to model/code/test GUI applications
- Proficiency in at least one modern language (e.g., Python, Java, C++, C#) and/or one modern frontend language (e.g., TypeScript, JavaScript)
- Understanding of: Windows and Linux file systems, Version control (Git), APIs (REST/gRPC), Modular code design
- Ability to review, critique, and harden AI-generated code
- Familiarity with SQL and relational databases (e.g., Postgres)
- Familiarity with computer networking and various networking protocols (e.g., TCP/IP, UDP, CORBA, DDS)
- Ability to perform many concurrent assignments and determine the need for changing priorities
Nice to Haves
- Up to 5 years of full-time professional experience
- Familiarity with the AEGIS Weapon System Common Source Library (CSL), ideally, or Ship Self Defense System (SSDS) Single Source Library (SSL)
- Experience with AEGIS, ideally, or SSDS tactical systems
- Experience utilizing Make build system, Maven, and Ant scripting
- Experience with X-Windows
- Familiar with Model Based System Engineering (MBSE) methodologies
- Experience with Jenkins, Jira, and the Atlassian tool suite
- Familiarity with foundational networking concepts such as routing, switching, identity services, intrusion detection, and firewall
- Familiarity deploying virtual machines in VMWare vSphere environments including networking configuration
- Familiarity designing complex software development environments including submodules, remote dependencies, and mixed-code deployments
- Familiarity deploying virtual machines and/or containers into Azure cloud environments including networking configuration
- Solid analytical abilities, coupled with a strong sense of ownership, urgency, and drive
- Problem-solving skills with the ability to navigate ambiguous situations
- Excellence in oral, written, and technical communication with peers and non-technical cohorts
- Initiative, creativity, reliability, teamwork
- Strong organization and planning skills
- Attention to detail while ability to see and understand the big picture
- Experience with cloud computing, virtualization, or containerization technologies
- Familiarity with Cloud infrastructure (e.g., Azure, AWS, GCP)
- Experience with big data solutions (e.g. Hadoop, Spark, Kafka, Cassandra)
- Demonstrated experience using AI coding assistants (e.g., GitHub Copilot, ChatGPT, Claude, Cursor, Codeium) for: Code generation, Refactoring and optimization, Debugging and root-cause analysis
- Ability to write effective prompts and iterate with AI to improve code quality and performance
- Understanding of AI limitations, hallucinations, and validation techniques
- Experience with testing frameworks including unit testing and interface testing
- Experience building user interfaces with a modern component framework such as React, Angular, or Vue
- Experience using Storybook or other Mock testing tooling
Benefits
- Generous benefits package
- Competitive PTO
- Paid holidays
- 401(k) with immediate vesting and matching
- 9/80 optional schedule (2nd and 4th Friday off every month)
- Tuition Assistance Reimbursement Program
- Professional Development Resources
- Pre-Tax Commuter Benefits
- Organization-Wide Monthly Tech Connect Events
- Annual Employee Recognition Awards
- Regular Social Events and Catered Lunches