Job DescriptionThe Department of Astronomy has an outstanding opportunity for a Research Software Engineer to join the LINCC Frameworks Team. Two Positions Available.About this OpportunityThe next generation of astronomical surveys, including those scheduled to be conducted by the NSF-DOE Vera C. Rubin Observatory and the recently announced Schmidt Observatories, will provide unprecedented data sets with the potential to answer fundamental questions about the universe. At the same time, the flood of data will introduce new computational challenges.
We are looking for Software Engineers to work at the intersection of state of the art computer science and cutting edge astrophysics. The engineers will design and build analysis frameworks that run on the cloud or high-performance computing (HPC) systems that can store, search, analyze and annotate data of the volume and complexity of the Rubin Observatory's Legacy Survey of Space and Time (LSST) data. These frameworks will provide an interface for the astronomical community to run real time and batch analyses (e.g. to search for one-in-a-million events in continuous streams of data). You will shape, drive, and execute this vision to build scalable software that can help shape the future of astronomical research.
As a Systems Software Engineer you will work with engineering teams at the University of Washington and Carnegie Mellon University. You will develop new cloud-based and HPC software platforms that will use cutting edge computer science techniques to enable the analysis of time series and static data from the next generation of surveys. You will work with astronomers and scientists to integrate their analysis code into these scalable analysis frameworks utilizing tools such as Spark and Dask. The majority of development will be in Python with some performance critical code in C/C++/Rust. Development will incorporate software best practices such as peer code review, to produce secure, testable, maintainable, and extensible code. You will participate in the hiring process and mentor others - improving their skills, their knowledge of your software, and their ability to get things done.
Core Responsibilities: Software Design and Development (40%): Design, develop, and maintain scalable analysis frameworks for cloud-based and HPC systems using cutting-edge computer science techniques, enabling the astronomical community to store, search, analyze, and annotate large-scale time series and static data from LSST and the Schmidt Observatories. Primary development in Python, with performance-critical components in C, C++, or Rust.
Software Design and Development (40%): Design, develop, and maintain scalable analysis frameworks for cloud-based and HPC systems that enable the astronomical community to store, search, analyze, and annotate large-scale time series and static data from LSST and the Schmidt Observatories. Primary development in Python, with performance-critical components in C, C++, or Rust.
Scientific Integration and Collaboration (20%): Work directly with astronomers and scientists at UW and Carnegie Mellon University to understand research needs and integrate scientific analysis code into scalable frameworks, utilizing tools such as Spark and Dask.
Software Quality and Engineering Best Practices (15%): Implement and uphold software engineering best practices including peer code review, version control, testing, and documentation to produce secure, testable, maintainable, and extensible code. Perform analysis and troubleshooting for software issues and process challenges.
Problem Resolution/Project Tasks (15%):- Perform analysis and troubleshooting for application issues and process challenges
- Responsible for the successful completion of assigned project tasks with minimum supervision
Cross-Functional Team Participation (10%): Function within cross-domain teams spanning astronomy and computer science. Contribute to team discussions aimed at advancing project goals, learn new skills and technologies as needed, and solve meaningful problems through technical innovation
Minimum Requirements: - Bachelor's Degree, computer science or related field
- A minimum of 3 years of experience in software development
- 1-3 years of programming experience in an industrial or academic role
Equivalent education and/or experience may substitute for minimum qualifications except when there are legal requirements, such as a license, certification, and/or registration.
Additional Requirements
- Programming experience with at least one modern language such as Python, Java, C++ including object-oriented design
Desired Qualifications: - Experience with software design and engineering best practices such as source control and code reviews
- Experience with distributed computing frameworks such as Spark or Dask
- Experience developing software for cloud-based or high-performance computing (HPC) environments
- Experience with performance-critical programming in C, C++, or Rust
- Familiarity with astronomical data, surveys, or scientific computing workflows
Compensation, Benefits and Position DetailsPay Range Minimum:$117,600.00 annual
Pay Range Maximum:$142,392.00 annual
Other Compensation:Benefits:For information about benefits for this position, visit ;br>
Shift:First Shift (United States of America)
Temporary or Regular?This is a regular position
FTE (Full-Time Equivalent):100.00%
Union/Bargaining Unit:Not Applicable
About the UW Working at the University of Washington provides a unique opportunity to change lives - on our campuses, in our state and around the world.
UW employees bring their boundless energy, creative problem-solving skills and dedication to building stronger minds and a healthier world. In return, they enjoy outstanding benefits, opportunities for professional growth and the chance to work in an environment known for its diversity, intellectual excitement, artistic pursuits and natural beauty.
Our Commitment The University of Washington is committed to fostering an inclusive, respectful and welcoming community for all. As an equal opportunity employer, the University considers applicants for employment without regard to race, color, creed, religion, national origin, citizenship, sex, pregnancy, age, marital status, sexual orientation, gender identity or expression, genetic information, disability, or veteran status consistent with UW Executive Order No. 81.
To request disability accommodation in the application process, contact the Disability Services Office at or
Applicants considered for this position will be required to disclose if they are the subject of any substantiated findings or current investigations related to sexual misconduct at their current employment and past employment. Disclosure is required under Washington state law.