DevOps Engineer
About the role
Under general supervision with limited review, this position independently determines approaches and solutions for the design, development, and/or modification of specific programs or projects for enterprise-wide end-user, system-level, and data management software applications. The role involves planning application development and deployment, ensuring software compliance standards, evaluating software integration, and handling documentation, testing, maintenance, and updates. You will communicate with domain experts, outside customers, users, and management throughout the software development lifecycle.
Responsibilities
- Design data pipelines and engineering infrastructure to support enterprise-level operationalization.
- Work as part of an interdisciplinary team to productionize models for air-to-air and air-to-ground combat operations.
- Develop and deploy scalable tools and services for rapid training and inference at the edge.
- Identify and evaluate new technologies to improve performance, maintainability, and reliability of systems.
- Apply robust software engineering best practices, including CI/CD and automation.
- Support stable and repeatable model development with an emphasis on traceability, version control, adversarial robustness, and data security.
- Help develop and deploy proof-of-concept machine learning systems to the warfighter.
- Communicate with stakeholders to develop roadmaps and implementation schedules.
Qualifications
Typically requires a bachelor’s degree, master’s degree, or PhD in computer science, information systems, or a related discipline, along with progressive software development experience:
- Six or more years of experience with a bachelor’s degree,
- Four or more years of experience with a master’s degree, or
- Two or more years with a PhD.
Must understand machine learning development concepts, principles, and theory, and demonstrate a complete understanding of model development and analysis.
Skills
- Experience building end-to-end systems focused on productionizing AI/ML technology in a distributed computing environment.
- Ability to understand new concepts quickly and apply them accurately in an evolving environment.
- Strong organizational, scheduling, and coordination skills, with the ability to determine appropriate approaches and provide solutions to complex problems.
- Excellent communication, documentation, presentation, and interpersonal skills; ability to work independently or as part of a team, and lead less experienced professionals.
- Experience with the following technologies:
- Source code and data control repositories (Git, SVN, MLFlow, DVC, S3, etc.).
- Continuous Integration Environment (Jenkins, GitLab, etc.).
- Linux and associated technologies (RedHat-based).
- Provisioning tools (Puppet, Ansible, Terraform, etc.).
- Package managers and tools (RPMs, Yum, PyPI, pip, Artifactory, etc.).
- Hypervisors (VMWare, VirtualBox, QEMU, etc.), containers (Docker, Podman, etc.), and related tools (Vagrant, Packer, Kubernetes, etc.).
- Web servers and tools (Apache, NGINX, etc.).
- Virtual Desktop Infrastructure (VDI), Desktop as a Service (DaaS), "golden image" creation, and related virtualization technologies.
- Cloud computing infrastructure (AWS, Azure, etc.).
- CI/CD pipelines and orchestration of distributed AI/ML compute.
- Software process automation with scripting languages (Python, Bash, PowerShell, Ansible).
- Experience developing code in at least one high-level programming language (C#, C++, Python, and/or Java).
- Experience developing machine learning models using scikit-learn, Keras, PyTorch, TensorFlow, etc.
- Ability to understand tools used by data scientists and automate these processes.
- Able to work extended hours as required.
- Ability to obtain and maintain a DoD security clearance.
Pay
Salary range: $128,130 – $229,358.