Software Engineer II-III
Job Description
Build real-time software that powers major radio telescopes. The National Radio Astronomy Observatory (NRAO) Monitor and Control (M&C) Software Group is hiring a Software Engineer II-III to design, implement, test, and maintain monitor and control capabilities that configure and control the VLA, VLBA, and GBT telescopes. This is a role centered on mission-critical systems that support 24/7 scientific facilities, working in close collaboration with engineers and scientists who own the underlying subsystems.
Join a team with strong support for work-life balance and benefits. The role includes excellent paid time off with 13 holidays and an annual vacation accrual of up to 24 days. Medical, dental, and vision plans are effective on the first day of employment. NRAO also offers a retirement benefit through AUI that contributes an amount equal to 10% of a qualified participant’s base pay with no required employee contribution.
Responsibilities
- Design, implement, test, and maintain monitor and control software components that configure and control the VLA, VLBA, and GBT in real time.
- Develop and extend the interface layer that communicates with hardware and electronics, including IF-chain configurations, antenna motion commands, and digital signal processing configurations for instruments such as VEGAS, WIDAR, and DiFX.
- Model antennas and associated hardware/electronics in software by supporting frequency setups, subband and baseband layouts, polarization products, timing and integration structure, and implementing rules, constraints, and legality checks that define achievable configurations per component.
- Use interface control documents and hardware specifications to ensure that the M&C system emits commands, alerts, and data that are correct and complete, working closely with subsystem owners.
- Diagnose and resolve issues spanning from observing specifications to the command stream sent to the telescope, often alongside telescope operators, engineers, and scientific staff.
- Support evolution of the monitor and control system for new observing paradigms, including work that informs and feeds into the next generation ngVLA.
- Write and maintain critical documentation, including requirements, software design documents, interface control documents, and user documentation.
- Participate in code review, testing, and release processes for software running mission-critical, 24/7 scientific facilities.
- Contribute to maintenance and upgrades of existing software and development of new products aligned with emerging observing paradigms.
Requirements
- Bachelor’s degree in computer science, engineering, scientific or related field (highly relevant experience may be considered in lieu of a Bachelor’s degree).
- 1+ year of experience developing software applications.
- Relevant experience with radio astronomy operating software and procedures is preferred.
- Knowledge of radio astronomy theories and practice would be valuable.
- Proficiency with C, C++, and Python; Java proficiency is valuable.
- Strong object-oriented design and development fundamentals.
- Ability to learn and apply new software languages and unfamiliar domains.
- Networking knowledge including multicast, TCP, UDP, HTTP, XML, JSON, and REST.
- Experience with version control, testing methodologies, and CI/CD.
- Strong interpersonal and communication skills, including working effectively with scientists and hardware engineers.
- Comfort working in a Linux (RHEL) environment.
- Authorization to work in the United States is required.
- The Observatory cannot sponsor H-1B visas for this position.
Location and appointment
Hybrid work is available in Socorro, NM; Albuquerque, NM; and Green Bank, WV. Work is typically performed in a research and development office environment, with occasional domestic and international travel. For well-qualified candidates, a remote work arrangement may be considered. This position is a one-year appointment with possible renewal based on observatory needs, budget, and mutual agreement.
Highly Desirable
- Skill in domain modeling and clearly expressing complex validation rules and constraints in code.
- Experience with distributed systems, or with SCADA software for scientific, industrial, or other physical instruments.
- Comfort with mathematics and unit-bearing quantities (coordinate transformations, frequency and time calculations, and careful handling).
- Familiarity with signal processing concepts, digital IF chains, or correlator architectures.
- Familiarity with basic astronomical principles, radio astronomy, or interferometry.
- Experience collaborating in an Agile/Scrum environment, including sprint planning, estimating tasks, and breaking down requirements into user stories.
Compensation
$87,000 - $121,000 yearly salary.
Technologies
C, C++, Python, Java, multicast, TCP, UDP, HTTP, XML, JSON, REST, CI/CD, Linux (RHEL), VEGAS, WIDAR, DiFX, VLA, VLBA, GBT, ngVLA