Software Engineer II-III (4470)
Would you like to be writing mission-critical software for the largest radio telescope on the planet? Would you like to be part of a highly skilled international team of software engineers and scientists pushing the boundaries of humankind’s knowledge of the universe?
Join the development team that created and maintains the online 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 Engineer (II-III) to join the ALMA Control Software development team as part of the National Radio Astronomy Observatory (NRAO). Collectively, the online software team designs, implements and maintains online software used to operate ALMA. This includes the software for automatically selecting what to observe (Scheduling software), software that decomposes the high level parameters to the commands sent to each piece of hardware (Control software) and software that collects the data and processes it down to a manageable volume (Correlator software). This requires close interaction with a diverse range of people in a number of continents. The software team frequently diagnoses and corrects difficult & subtle problems that can affect the data quality.
The successful applicant will have the opportunity to contribute to the next generation of significant software upgrades to the ALMA telescope, which will incorporate new hardware and software. The potential exists to lead significant software infrastructure upgrades and tackle obsolescence by designing and prototyping new software technologies.
Job Duties Summary
The successful applicant will join the ALMA Control software team. Initially they will be responsible for maintaining and improving applications written in C++11 that configure, control and monitor the hardware devices on the ALMA telescopes. The successful candidate will develop new features and improve and maintain others already implemented.
Testing is an integral part of the development process and it is expected that the applicant will write and maintain test software that will be run in an automated way. 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 designing, implementing, testing and maintaining a more diverse range of software in the ALMA online software team, such as web-based services and user interfaces. This may require programming in Java or Python and require the use of other software technologies.
Essential responsibilities and duties will include, but not limited to:
- Maintaining and improving C++11 applications that control devices on the ALMA Telescopes
- Managing and contributing code to large projects within the ALMA code base
- Gathering requirements by working with engineers and scientists at multiple locations
- Proactively diagnosing and troubleshooting problems found in the verification and validation of software
- Utilizing continuous integration to automate builds and testing
- Participating in multi-country ALMA-wide software meetings
- Communicating effectively with staff at all ALMA sites
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, with international travel and work at high altitudes.
Bachelor’s degree in computer science, engineering, scientific or related field is required; highly relevant experience may be considered in lieu of Bachelor’s degree.
Advanced degree in computer science engineering, scientific or related field.
At least one year of direct or related experience in software development commensurate with stated qualifications. Candidates with progressively more responsible experience with be considered for a higher level position ranking.
- Graphical user interface development
- Familiarity with web applications
- Familiarity with Java, XML & CORBA technologies
- Familiarity with basic astronomical principles and observatory operations
- Familiarity with Linux or Unix operating systems
- Understanding of object-oriented design and development
- Experience developing software using C++11
- 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
Apply online at the NRAO Careers page (http://jobs.jobvite.com/nrao/jobs). You will need to be prepared to upload your current resume and a cover letter describing interest and suitability for the position. Applications review will continue until the position is filled.
Equal Opportunity Employer Statement:
AUI is an equal opportunity employer. Women, Minorities, Vietnam-Era Veterans, Disabled Veterans, Veterans and Individuals with Disabilities are encouraged to apply. To view our complete statement, please visit http://jobs.jobvite.com/nrao/jobs. If you require reasonable accommodation for any part of the application or hiring process due to a disability, you may submit your request by sending an email to firstname.lastname@example.org.
The NRAO is an equal opportunity employer (M/F/D/V)
The National Radio Astronomy Observatory is a facility of the National Science Foundation operated under cooperative agreement by Associated Universities, Inc.