Software Engineer II-IV (4499)

Computers/Software Charlottesville (or TBD), Virginia





Position Description:


Position Summary


Join the software team that tests and deploys the software used to operate the ALMA Telescope. The Atacama Large Millimeter Array (ALMA) is an array of 66 radio antenna located high in the Chilean Andes. Its scientific capabilities are, by a large factor, better than any other millimeter wave radio telescope. It was commissioned in 2013 and is, to date, the largest ground-based astronomical project. ALMA is supported by a diverse team of people in 4 continents (North America, South America, Europe and Asia).


We are seeking a Software Test Engineer to join the ALMA software team. The software that is developed for the ALMA telescope requires testing to ensure that it works as expected at the ALMA Regional Centers (ARCs). This position will also be responsible for developing a new test suite for the ALMA software at the ARCs to help ensure that software delivered to scientific staff is working as expected prior to the software moving into production. This position will be based in North American (NA) and will work closely with the Integration and Release Management (IRM) team in Chile (CL).


The successful applicant will have the opportunity to develop and explore new technologies in support of testing and testing infrastructure. The applicant will also work closely with software developers in NA to provide testing and verification for North America deliverables and design new testing suites as needed. There will be opportunities for software development, especially in support of testing.


Job Duties Summary


The successful applicant will join the ALMA NA software team and work closely with the CL IRM team. Initially they will help build and maintain test infrastructure in North America, perform automated and manual verification tests of the software, develop test suites as needed, and interact with colleagues at various locations to ensure the software is operating across regions.


They will also help maintain the internal test systems used, daily, for initial testing of the software. It is expected that the successful candidate will engage in technical discussions with colleagues at remote locations to help troubleshoot problems.


Longer term, the successful applicants may move into implementing, testing and maintaining a more diverse range of software as part of the ALMA software team, such as web-based services and user interfaces.




The successful applicant will:

  • Run software verification tests to confirm required functionality
  • Run software deployment tests to ensure software is working as expected in NA
  • Work with staff to build and maintain a test environment
  • Develop new software test suites, both locally and project-wide
  • Gather requirements for testing by working with engineers and technical staff at multiple locations
  • Proactively diagnose and troubleshoot problems found in the verification and validation of software
  • Utilize continuous integration to automate builds and testing
  • Participate in multi-country ALMA-wide software meetings
  • Communicate effectively with staff at all ALMA sites


Work Environment

This position will be located at one of the NRAO facilities in Charlottesville (VA), Socorro (NM), or Albuquerque (NM). The successful candidate will join a team of professionals engaged in research and development in the fields of science, engineering, software development, and education.  Work is typically performed in a research or development environment. International travel and work at high altitudes is required.


Position Requirements:


Minimum Education

Bachelor's degree in computer science, engineering, scientific or related field.


Minimum Experience

At least three years of experience in software testing (or development).  In addition:

  • Familiarity with Linux or Unix operating systems
  • Experience with continuous integration practices and platforms
  • Experience with automated testing
  • Experience with version control software and testing methodologies
  • Strong interpersonal and communications skills
  • Experience working with large, existing applications in a distributed team


Preferred Experience

  • Familiarity with databases, such as Oracle or MySQL
  • Familiarity with Docker
  • Familiarity with build farms, such as Jenkins or Bamboo
  • Familiarity with basic astronomical principles and observatory operations


Application Instructions:


Select the “Apply” button below. Applicants are required to submit a CV/Resume and cover letter describing interest and suitability for the position. Please upload your CV/Resume with the ‘Add Resume’ button and your cover letter with the ‘Additional Files’ button at the beginning of the application process.