Description
Background Information:
Innovative Defense Technologies (IDT), Innovative Defense Technologies (IDT) is an information technology business headquartered in Arlington, VA with additional offices in Fall River, MA; Mount Laurel, NJ; and San Diego, CA. Founded in 2006, IDT designs and develops best-in-class solutions that facilitate the rapid delivery of software-based warfare capabilities for the U.S. Department of Defense. The core of our mission is to deliver disruptive innovation in support of the U.S. Armed Forces who defend our nation every day. IDT is seeking a software engineer to be based in our Arlington, VA or Mount Laurel, NJ office.
Overview:
We are looking for driven, experienced Software Engineers to join our Artificial Intelligence (AI) Team and become key contributors to our software-as-a-service Machine Learning/AI (AIML) platforms. Our AIML capabilities provide the ability for our government customers to collaboratively employ cutting edge AIML technologies to aid in the development and test of mission critical tactical systems in ways that were not previously possible. This role is focused on software integration tasks and is based out of our Arlington, VA or Mount Laurel, NJ office.
Our Tech Stack:
Our tech stack is continuously evolving to meet emerging customer use cases and keep pace with industry. Core AIML capabilities are primarily written in Python, while backend services are typically written in Java with PostgreSQL persistence. User interfaces are written in Typescript using React and Redux and packaged with Webpack. REST serves as our primary data transport protocol for both backend and frontend interfaces. GRPC is an additional data transport protocol utilizing protocol buffers for backend and frontend interfaces. Code is configuration controlled in Git. Build tooling includes Maven, Gradle, and NPM, coordinated by Jenkins in an automated pipeline. Continuous deployment is employed to orchestrate software on a Kubernetes cluster in multiple environments, including in the cloud, on secured air-gapped networks, and on tactical platforms.
All applicants must be able to obtain/maintain an active U.S. Security Clearance.
Responsibilities Include:
- Contributing to every stage of the AIML software development lifecycle: design, code, review, test, integration, debugging, deployment, and maintenance of high performance and scalable software.
- Successfully take tasks from beginning to end, using strong organization, planning, and prioritization skills.
- Demonstrate excellent teamwork and communication skills to collaborate with other teams and stakeholders in a dynamic and geographically distributed team environment.
- Champion best practices to improve code quality, such as integration and unit testing, static analysis, and documentation.
- Ability to work on-site at IDT's facilities or travel to customer sites on a limited, as-needed basis
Minimum Required Qualifications:
- Bachelor's degree in Computer Science or related technical discipline
- Minimum 3 years' experience in software engineering
Required Skills:
- Practical engineering experience with Java and Build Tools
- Practical engineering experience with Python and Build Tools
- Experience with container technologies such as Docker and Kubernetes
- Experience building scalable, distributed service-oriented software solutions utilizing modern frameworks and design patterns.
- Working knowledge of developing software on Linux operating systems, especially with hands-on knowledge of networking fundamentals, protocols, and standards (TCP/IP, TLS, DNS).
- Basic knowledge of AI/ML concepts.
Preferred Skills:
- Strong knowledge of web protocols and standards ((HTTP, REST, OAuth, GRPC)) and their application in a microservice architecture, especially in the context of a modern framework such as Spring.
- Basic understanding of the mathematical foundations of widely used ML approaches (regression, neural networks, etc.)
- Experience with industry-standard DevOps tooling, such as Maven or Gradle, Jenkins, and Git.
- Experience with containerized software deployment and container orchestration platforms such as Kubernetes.
- Experience with relational databases such as PostgreSQL, particularly interfacing with a database using technologies such as JDBC, JPA, or Hibernate.
- Experience with the frontend portion of full stack development - Javascript or Typescript with modern frameworks and build systems, such as React, Redux, and Webpack.
- Experience with virtualization technologies.
- Experience with designing and architecting software systems that meet requirements and maintenance living documentation of system designs.
- Strong troubleshooting and debugging skills.
- Interest in AI/ML as a discipline and a desire to identify, learn, and apply new software technologies.
Competencies:
- Excellent verbal and written communication skills
- Strong organization skills
- Self-motivated to learn and improve
EEO Statement:Applicants, employees, and former employees are protected from employment discrimination based on race, color, religion, sex, pregnancy, sexual orientation, gender identity, national origin, age, disability, veteran status, genetic information, or any other basis protected by federal, state, or local law.