Release Engineer - Software Engineer III-IV (111)

Associated Universities Inc.Charlottesville, VA
8d$79,000 - $153,000Remote

About The Position

The National Radio Astronomy Observatory (NRAO) is an exciting and prestigious research facility that plays a vital role in the study of the universe. The Observatory operates a variety of radio telescopes that span the globe, including the famous Very Large Array (VLA) in New Mexico, the Green Bank Telescope (GBT) in West Virginia, the Atacama Large Millimeter/submillimeter Array (ALMA) in Chile, and the Very Long Baseline Array (VLBA). These telescopes are among the most advanced in the world, allowing astronomers to explore the universe in unprecedented detail. The Next Generation Very Large Array (ngVLA) is a transformative astronomical observatory designed to deliver science-ready data products to a broad community of users. The Computing and Software System (CSS) is the backbone of this vision, encompassing all the software and hardware required to control the telescope, manage the flow of data, execute processing pipelines, and provide user-facing services. The CSS is decomposed into several major systems, each with a distinct role in the data lifecycle, from observation planning to final data analysis. The ngVLA project is committed to an Agile development methodology, emphasizing frequent delivery of high-quality software and continuous stakeholder engagement. The ngVLA project is seeking a skilled and enthusiastic Release Engineer to play a crucial role in delivering software to stakeholders early and often. This individual will be responsible for designing, implementing, and maintaining the continuous integration and continuous delivery systems and (CI/CD) pipelines, ensuring seamless integration of various software components and efficient deployment of different software versions. This role requires strong software development and integration skills. This role is essential for accelerating the development lifecycle and getting functional software into the hands of commissioning scientists, telescope operators, and other users for rapid feedback and validation. This position will be located at one of the NRAO facilities in Charlottesville (VA), Socorro (NM), Albuquerque (NM) or Green Bank (WV). Fully remote work may be possible for a highly qualified candidate.

Requirements

  • You have a bachelor’s degree in computer science, software engineering, related field or equivalent combination of experience and education
  • You have solid understanding of software development concepts and experience with object-oriented programming
  • You have at least three years of experience with CI/CD automation and software integration. Including:
  • You have at least three years of experience with CI/CD automation and software integration. Including:
  • Experience with containers and container orchestration
  • Hands-on experience building scalable systems
  • Experience developing software applications
  • Familiarity developing software in at least two of the following: Python, C++, Java
  • Experience with version control software and testing methodologies
  • Experience debugging and profiling software systems
  • Strong interpersonal and communications skills
  • Experience working with large, existing applications in a distributed team

Nice To Haves

  • Experience with cloud platforms (e.g., AWS, GCP)
  • Experience with infrastructure as code (IaC) tools (e.g., Ansible, Terraform).
  • Experience building and packaging C++ applications
  • Familiarity with monitoring and logging tools (e.g. VictoriaMetrics, Grafana, Prometheus)
  • Scripting experience with Bash
  • Linux system administration experience
  • Experience with GitOps
  • Experience setting up and managing GitHub runners in hybrid Kubernetes environments
  • Experience with data modeling tools
  • Ability to work with international colleagues

Responsibilities

  • CI/CD Pipeline Development and Management
  • Design, build, and maintain robust and automated CI/CD pipelines for all ngVLA computing systems spanning the entire observing lifecycle.
  • Implement continuous integration practices, including automated builds, testing, and static code analysis, to ensure code quality and identify integration issues early.
  • Develop and manage continuous delivery pipelines to automate the deployment of software to various environments (development, testing, staging, production).
  • Ensure CI/CD pipelines are scalable, reliable, and efficient to support frequent software releases.
  • Integrate security scanning and compliance checks into the CI/CD process.
  • Maintain GitHub Enterprise organization and services, including all variants of self-hosted runners.
  • System Integration
  • Collaborate closely with development teams from different ngVLA subsystems to understand their integration points and dependencies.
  • Facilitate the integration of software components from various teams, resolving compatibility issues and ensuring smooth interoperability.
  • Implement and maintain integration testing frameworks to validate the end-to-end functionality of integrated systems.
  • Work with the Technical Infrastructure (TI) team to ensure proper networking, compute, and storage resources are available for integrated systems and deployments.
  • Containerization and Version Management
  • Champion the use of containerization technologies (e.g., Docker, Kubernetes) to manage software versions and dependencies across different environments.
  • Develop strategies for containerizing ngVLA software components to ensure consistent deployment and execution.
  • Implement effective versioning strategies for software releases and their associated container images.
  • Manage container registries and ensure efficient image storage and retrieval.
  • Provide guidance and support to development teams on container best practices.
  • Automation and Tooling
  • Contribute to the development of the Observatory-wide CI/CD platform and best practices. This is a hybrid system with cloud and on-prem components and consists of integrating various services to a one coherent system. You will be expected to write integrations via REST (or similar) APIs, help define the architecture, and to create robust automation to manage complex environments. This requires good programming skills and the ability to solve problems that are not readily solvable via common AI tools.
  • Identify opportunities for automation across the software development and deployment lifecycle to reduce manual effort and improve efficiency.
  • Evaluate, select, and implement appropriate tools for CI/CD, automation, and infrastructure as code (e.g., Ansible, Terraform).
  • Develop and maintain scripts and utilities to support CI/CD processes and system operations.
  • Collaboration and Knowledge Sharing
  • Work closely with software developers, system architects, and operations staff to ensure seamless collaboration and effective knowledge transfer.
  • Provide training and documentation to development teams on CI/CD processes, containerization, and deployment best practices.
  • Participate in "blameless post-mortems" for any incidents to learn and improve processes.
  • Actively contribute to a culture of continuous improvement and operational excellence.

Benefits

  • AUI’s benefits package addresses the needs of employees and their families with most benefits beginning on the first day of employment.
  • AUI provides excellent paid time off (13 holidays, annual accrual of up to 24 vacation days and 15 sick days, additional time off for doctor/dentist visits, and 8 weeks of paid parental leave).
  • Medical, dental and vision plans are effective on the first day of employment.
  • AUI’s retirement benefit contributes an amount equal to 10 percent of a qualified participant’s base pay with no required employee contribution; we also offer an optional supplemental, tax-deferred plan for employee retirement contributions.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service