Position Description:
Position Summary
The National Radio Astronomy Observatory (NRAO) is a prestigious research and development organization that plays a vital role in the study of the universe. Associated Universities, Inc. (AUI) is a nonprofit organization that manages and operates the NRAO under a cooperative agreement with the National Science Foundation. The Observatory is a hub for technological and scientific collaboration, operating state-of-the-art radio telescope facilities for use by the international scientific community. The Observatory has been instrumental in the study of black holes, galaxies, and the early universe.
The NRAO develops and maintains software used by the astronomy community for proposing, planning, scheduling, and analyzing observations made with these telescopes. We are seeking a mid-level Software Engineer with strong software testing experience to join the Science User Applications Group (SUA). SUA builds some of the Observatory’s most visible user-facing software, including the NRAO Science Archive and the Science Proposal applications. You will help ensure that these applications are reliable, well tested, and easy to change with confidence.
You will have the opportunity to contribute to the next generation of tools critical to the Observatory, for both current telescopes and the next generation Very Large Array (ngVLA).
This position will be based in Albuquerque, NM; Socorro, NM; Charlottesville, VA; or Green Bank, WV. For well-qualified candidates, a remote work arrangement may be considered.
What You Will be Doing:
Your initial focus will be on the NRAO Science Archive, working with the Archive Team. Over time, your work may extend to other SUA teams, including the team responsible for Proposal Submission. Your responsibilities will include, but are not limited to:
Designing, building, and maintaining a robust, automated test infrastructure covering unit, integration, and end-to-end testing
Writing and maintaining automated tests for both backend services and web user interfaces
Integrating testing into CI/CD pipelines so problems are caught early and releases are dependable
Identifying performance bottlenecks and regressions through profiling and load testing
Working with developers to improve testability, diagnose defects, and raise code quality across the group’s applications
Contributing to the design and delivery of key components of these systems
Team members also maintain and upgrade existing software and develop new tools that support the Observatory’s evolving observing methods, helping keep the Observatory at the forefront of science and technology.
Work Environment
You will join a team of professionals engaged in research and development in science, engineering, software development, and education. Work is typically performed in a research or development environment.
Who You Are:
You have:
A bachelor's degree in computer science, engineering, a scientific field, or related field; highly relevant experience may be considered in lieu of a bachelor's degree. An advanced degree is not required but is welcome.
A minimum of one year experience in the development of software applications.
At least three years of professional experience in software development or software testing is preferred, with a significant portion focused on test automation and quality practices.
Must be able to communicate effectively both verbally and in writing.
Must be familiar with standard software engineering concepts, practices and procedures through academic training or internship experience(s).
Competencies
Professional experience designing and implementing automated tests, including unit, integration, and end-to-end tests
Experience with testing frameworks and tools, such as pytest, JUnit, Jasmine/Karma, Cypress, Playwright, or Selenium
Experience with version control and with building and maintaining CI/CD pipelines that run automated tests
Experience developing software in Python, Java, or a…