Astronauts + Astrophysicists need you! Wanted Cloud-based Software Engineer for Solar System Map.
B612 Foundation’s Asteroid Institute is looking for a software engineer who will help build the first open, extensible, cloud-based solar system mapping platform. This is an opportunity for someone interested in the development of space to create new methods to use the cloud for large-scale numerical simulations and analyses of asteroids orbits. The candidate should have experience working in cloud-based software development and be able to work with researchers and developers in a collaborative environment.
This work entails building and improving on a software platform that researchers and eventually other users will use to map the dynamics of the solar system. The Asteroid Decision Analysis and Mapping (ADAM) platform is used to model and analyze asteroid orbits and to study candidate space missions including commercial, scientific and deflection missions. ADAM’s orbit propagation and astrodynamics algorithms are hosted on the Google Cloud Services Platform, which enables many parallel computations. Researchers use ADAM to run orbit analyses at large scale to build a statistical understanding of the future locations and trajectories of asteroids. Since many thousands of cases may be run at a time, there are challenges in how jobs are spread out, how progress is monitored, and how the results are combined to form meaningful information. We are looking for a lead software developer who can help us build the computational systems to carry out these calculations, make the data useful and accessible, and allow users to interface with the system via an API.
We are open to this position being virtual/remote. Ideally the candidate would reside near SF, Seattle, or Maryland but it is not a requirement.
The Background of ADAM - Charting the High Frontier of Space
What does it mean to chart the high frontier of space? The crucial element for mapping objects in space, as opposed to the traditional requirements of mapping the surface of a planet like Earth, is that we must take into account that celestial bodies in space are continuously moving in three dimensions. Like floating islands in an ever-changing archipelago on a sea, the celestial bodies in our solar system circulate around the Sun, obeying the laws of celestial mechanics. On solar-system-length scales, this additional element of mapping trajectories in space is the most critical, as the most important aspect of identifying and navigating to celestial bodies is knowing where the body is going to be when you get there. The fundamental base layer on which a solar system map will be built is this location and trajectory information.
One can think of this solar system space map as a four-dimensional (three spatial dimensions plus time) rendering of locations and velocities of the millions of celestial bodies in our solar system. The time dimension can be specified so that these locations and velocities are depicted either at the present, times in the past, or most importantly, at times in the future. The predictive nature of the space map (aka ADAM) is possible because we understand the laws of celestial mechanics under which trajectories of bodies in space move under the influence of gravity (with some small contribution from other non-gravitational effects). The more accurately we know the current orbital state of a body, the further we can accurately project where it will be located in the future. At present, for well-tracked solar system bodies, we can reliably predict their motion about a century into the future. Having this predictive ability is crucial because space missions generally take months to years to reach their destinations, and planning begins years prior to launch. That means we must target not where our destination is now, but where it will be at the time we arrive, perhaps years in the future. You can learn more about our vision for the space map here.
The software engineer will lead a team of developers building the back-end system for the solar system map. Many of the numerical algorithms underlying the platform were originally developed for use on single core computers and designed to be run by subject matter experts. These computer and numerical algorithms were not intended to scale up to the potential offered by modern cloud-compute engines, nor were they designed to run automatically and transparently in the background. The software team will architect a system to take advantage of cloud-compute capability to tackle astrodynamics problems that previously have only been solved approximately because of computational limitations.
Because the ADAM platform makes thousands (or even millions) of simultaneous runs, these threads present challenges of contention, synchronization, and monitoring. The ADAM software uses a combination of Google Cloud Services (CloudSQL, Compute Engine, AppEngine, PubSub) and organizes client and server code in a set of open-source as well as closed projects using GitHub and BitBucket. ADAM software also integrates with commercial and open-source libraries. In addition to the cloud compute algorithms running on the server, we are also creating client-side software to interact with the ADAM cloud services via REST APIs. This client-side data must interact with ADAM and present useful results to the analyst. This work is being done in Python, with the major interface for the analysts being Jupyter Notebooks.
The software engineer will provide vision and guidance for the software platform project, and will architect the solar system mapping platform with the goal of having a working system within a year.
The candidate will not only individually contribute directly to the code base, but also coordinate the activities of a team of volunteers and academic researchers. The candidate will also work closely with scientists at the B612 Asteroid Institute and the Data Intensive Research in Astrophysics and Cosmology (DIRAC) at the University of Washington, and at Duzina Luka (Luxembourg).
She/he will work with and extend an existing system as needed to support the efforts of several cross-disciplinary teams and develop a product to be used by a wider community:
- Provide vision for the architecture to support large-scale computing
- Coordinate feature development with a team of volunteers, review code and contribute her/his own
- Propose and implement architectural extensions of the system, such as support of new types of analyses and external tool integrations
- Organize feature releases, package software for ease of use by other team members and wider community
- Participate in regular video meetings & collaboration with a team of developers and subject matter experts (Astronomers, Astrodynamicists, Engineers, Astronauts)
- 3 or more years experience
- Ability to speak and write effectively in English, including preparation of technical reports
- Experience using and setting up software development infrastructure
- Code repositories (GitHub/BitBucket)
- Continuous integration systems
- Software deployment and release management
- Documentation for users and developers
- Experience with Cloud architectures
- Understanding of storage and compute options and tradeoffs, e.g. blob storage vs relational databases vs non-SQL databases
- Understanding of tiered architectures and load balancing
- Understanding of failure management in a distributed system
- Experience with Java and Python
- Ability to write server-side code
- Understanding of logging, profiling, and performance optimization
- Ability to establish good coding practices and lead external contributors in developing client code and server libraries
- Experience working in and leading distributed teams of volunteer developers
- Coordinating feature dependencies and release schedules
- Improving code, providing feedback and guidance to other developers & volunteers
- Independent worker and able to collaborate with other remote workers & volunteers
- Independent problem solver; able to investigate and use new technologies unassisted
Other activities to help demonstrate how open-source scientific software, data digitization and new collaborative approaches (e.g. hackathon, data challenges) contribute to successful interdisciplinary research.
The position is full-time and has funding for two years. Additional funding is being secured for subsequent years. The employment conditions for this position follow the legal regulations in California. The company is an equal opportunity employer and in particular, strives to increase the percentage of women and minorities in leading positions. Therefore, qualified women and minority researchers are particularly encouraged to apply.
We are open to this position being virtual/remote. Ideally the candidate would reside near San Francisco, Seattle, or Maryland but it is NOT a requirement.
Candidates with the appropriate qualifications are invited to submit their applications including:
- Curriculum vitae
- Lists of publications and any past research funding (if any & not a requirement),
- Vision Statement of no more than 1 page about data science and its application to space and astronomy
- Please submit your CV and cover letter ensuring you address the selection criteria in the position description when you submit your materials.
This position will work closely with B612 Asteroid Institute researchers and staff members. B612 Foundation is coordinating the search process.
Application Deadline: Applications accepted on a rolling basis
Current Status of Position: Accepting Applicants
Please submit your complete application via email to both email@example.com and firstname.lastname@example.org. If you are in academia or intend to pursue an academic path, the title can be adjusted (Fellowship for example) and independent academic research activities can be pursued that are generally aligned while developing ADAM. No phone calls, please.
The Asteroid Institute is a program of B612 and is designed to be the international center of excellence for scientific collaboration on the discovery and deflection of asteroids as well as an incubator for new technologies. Current major projects within the Institute include: postdoctoral research fellowships; ADAM, an open source cloud-based platform for asteroid data analysis and mapping; and the use of synthetic tracking as a means of increasing the rate of asteroid discovery. A key focus is the creation of a dynamic map of the inner solar system. The map will be a critical resource for planetary defense, while contributing to our understanding of the origins of our Solar System and future space exploration.
The work the Asteroid Institute is made possible through the support of a community of donors around the world including Tito’s Handmade Vodka, the William K. Bowes, Jr. Foundation and three anonymous donors in addition to donors from 46 countries.