Software Engineer II-III (4469)
The National Radio Astronomy Observatory (NRAO) is recruiting a Software Engineer I-III to join the development team that created and maintains the online software used to operate the Atacama Large Millimeter Array (ALMA) Telescope. The ALMA telescope 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 to lead the Integrated Computing Team (ICT) ALMA Scheduling Software team. This position works with a distributed group and leads the software development effort, but has no direct managerial responsibilities. 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
Initially, the ICT lead will be responsible for maintaining and improving applications that are: a) written in Java and JavaFX that are used by astronomers to observe scientific projects on the telescope and b) written in Python that optimize the long-term scheduling of projects on the telescope based on a variety of factors. 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.
The successful applicant will:
- Maintain and improve Java, JavaFX, and Python applications that schedule projects on the ALMA Telescopes
- Manage and contribute code to large projects within the ALMA code base
- Gather requirements by working with engineers and scientists 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
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 will be considered for a higher level position ranking.
- Experience developing software in JavaFX
- Graphical user interface development using Swing, Eclipse RCP & SWT
- Familiarity with web applications
- Experience with database administration for Oracle
- Familiarity with Spring, Hibernate, 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 Java and Python using various frameworks
- 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 dispersed team
For consideration, please select the "Apply" button below. 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 email@example.com.
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.