Software Engineer
Description
Background Information:
Innovative Defense Technologies (IDT), a rapidly growing 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 Software Engineer to be based out of our Arlington, Virginia office. This person will work with a fast-paced team of mission-focused engineers by working with and developing cutting edge technology to solve customer problems. Initiative, creativity, reliability, and efficient teamwork will be required to successfully deliver innovative solutions in this dynamic customer space. This is an on-site role based in Arlington, Virginia. Relocation would be required if not based within the Virginia/Maryland/Washington D.C. area already.
Overview:
The selected Software Engineer will be responsible for designing, developing, testing, and integrating software solutions to support our customers. The main role of the Software Engineer is to build high-quality, innovative, and performant software that complies with coding standards and technical design.
Software Engineer responsibilities include gathering user requirements, defining system functionality, writing code in various languages (such as Java, JavaScript, Python & C++), and verifying software functionality through testing. 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 a U.S. Security Clearance.
Responsibilities Include:
- Design, implement, and test software using multiple languages and technology stacks
- Explore and prototype next-generation solutions using artificial intelligence/machine learning, distributed processing, and modeling
- Assist in developing user, functional, and technical requirements for software systems
- Participate and providing feedback in design reviews and code reviews
- Integrate software components into complex software environments
- Support test and integration activities in IDT labs, as well as on-site customer labs
- Contribute to the Automated Test and Re-Test (ATRT) product suite
- Develop software interfaces to communicate across network protocols such as REST, DDS, ActiveMG, Kafka
- Implement visualizations to support analytic results
- Prepare, track, and deliver contractual deliverables
Minimum Required Qualifications:
- Bachelor’s Degree in computer science, software engineering, computer engineering, cybersecurity, or related field
- Minimum of 3 years’ of relevant experience required
- Able to work on-site in Arlington, VA
Required Skills:
- Ability to develop software in Java, JavaScript, Python or C++ (among other programming languages)
- Experience with relational databases such as SQL, Postgres databases like MongoDB.
- Ability to decompose and document requirements and specifications
- Understanding of distributed systems, algorithms, data structures and software design patterns
- Understanding of the Software Development Life Cycle
- Understanding of object-oriented programming
- Proficiency working with version control software like Git, SVN and software development environments
- Experience with software testing and configuration management
- 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
- Ability to travel approximately 25%
Preferred Skills:
- Development, system integration and test experience for complex software applications
- Experience with testing software and test automation
- Working knowledge of message queuing, stream processing, and highly scalable ‘big data’ stores
- Experience supporting and working with cross-functional teams in a dynamic environment
- Experience with containerized deployment technologies (Kubernetes, Openshift, Docker etc.)
- Proficiency working with different SW development tools such as Jenkins, Maven, Gradle, Nexus, & NPM
- Experience with creating and configuring Virtual Machines (VMware, VirtualBox, etc.)
- Experience with basic network concepts like VLANs, IP addressing schemes, and static routing
- Experience developing web user interfaces using React, Angular, and plain JavaScript
Competencies:
- 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
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.