Scientific Software Developer
We are excited to announce that we are hiring a Scientific Software Developer position focused on building open source tools for geospatial data analysis in the Jupyter ecosystem. This position is a close collaboration between The Eric and Wendy Schmidt Center for Data Science and Environment (DSE) and the Berkeley Institute for Data Science (BIDS) and part of a larger community effort to build collaborative cloud based tools to analyze and visualize geospatial data with JupyterLab.
New Project Opportunity
Rooted in our core values, we believe that geospatial data analysis should be accessible for everyone, this is at the core of why we are working in this space. Building on the shoulders of the open geospatial community and within the Jupyter software ecosystem, our goal is to create more options for geospatial data analysis that is free, extensible, cloud agnostic, and has live collaborative editing features.
We are looking to build, on the foundation laid by Jupyter and JupyterLab, a set of tools for exploring, manipulating, analyzing and visualizing earth-related data of any kind. This is not an effort to replicate the traditional UI of Geographic Information Systems (GIS) applications, but rather to imagine how can we best leverage the cloud-agnostic design of Jupyter and the extensible, collaborative architecture of JupyterLab, to offer a modular, composable toolkit for data-driven explorations of our planet and environment. Jupyter tools run equally well locally, on hosted hardware such as HPC centers or in the cloud, and the extensible, collaborative architecture of JupyterLab isn't just about notebooks but about building entire analysis environments.
In this blog post, our QuantStack colleagues described how they rapidly built a prototype for a CAD application using these same foundations. Relying on these same ideas, we want a new generation of reproducible, scriptable tools for exploring data about our planet that may include tasks traditionally done with GIS applications, but also as part of analysis pipelines that go beyond typical GIS uses: not just mapping, but working with any dataset about our planet that has spatio-temporal structure, from climate models to subsurface data acquired with remote sensing instruments, for example.
Recently, the QuantStack team announced how, thanks to funding from the European Space Agency and in collaboration with Simula Research Labs, they are building a prototype to expose core functionality from the open source QGIS application through JuptyerLab. The goal of our DSE-funded work is to complement this effort with the development of additional tools in JupyterLab that aren't only bound to the traditional GIS desktop paradigm, and that are driven by our research needs. One of the properties of existing GIS tools, that is common to many other complex graphical applications (such as 3d modeling or complex photo/video editing) is that they tend to have extremely rich graphical user interfaces (GUIs) paired with a scripting language, but for most use cases, the GUI comes first. If you look at most QGIS tutorials, they explain how to accomplish most tasks by showing screenshots of which menu/dialog to click on. And while QGIS does include support for command-line usage, it is effectively managing a Qt application off-screen (trying to run full pyqgis scripts in standalone mode is possible but effectively requires the same manual Qt application state handling).
This is not a critique of QGIS, far from it - it's a wonderful project and it evolved in a natural way from a Desktop foundation. The QuantStack team will be our bridge to the QGIS community, and we hope that collaboration will grow in multiple ways. But we also want to rethink what is possible today for exploring data about our planet, given the architecture of Jupyter and the tools available to us now. This means thinking of something which is first and foremost scriptable and reproducible, accessible equally easily from a (Python) script, a Jupyter Notebook or a GUI as appropriate, where tutorials can be executable narratives that users can easily modify, changing a few parameters at the start and end up with something immediately reusable, and where real-time collaboration is a native feature from the start.
Imagine a future where a climate scientist, an ecologist and a local community manager can seamlessly collaborate, through the cloud, on exploring land management strategies for their county that combine data from future climate projections with species evolution models and land usage boundaries. They can bring AI tools trained locally to assist in their analysis without relinquishing their privacy (JupyterAI is open source, vendor agnostic and can work with local models). The notebooks they generate can go directly to an agency website as reports, while they also produce standalone maps for end users who only need the spatial data.
That future isn't here yet, but we have the pieces to build it, and we want to get started with a small prototype that serves our immediate research needs. At DSE and BIDS, we have scientists working on concrete problems involving data about the Earth, and at Berkeley we have multiple partners with research and educational GIS workloads, including the Geospatial Information Facility (GIF). We are now recruiting a software engineer to help us start building this foundation, in partnership with the ESA-funded effort from QuantStack and Simula, as well as other partners who have expressed early interest in this collaboration, including teams at 2i2c, DevSeed and Glue.
We want you to join us!
Overall we are looking for someone who is passionate about building on a team, learning, and passionate about openness and accessibility. Ideally, you have a background using and developing in the Jupyter ecosystem (including JavaScript/TypeScript extensions for JupyterLab), and have experience with geospatial data analysis (but please apply even if you don't have all these skills already, we invest in talent!). We want to hire someone who is passionate about user-centered design, community input, and has a desire to build a tool that will be used, maintained, and loved by the open source community.
You will not be building alone. In addition to working with DSE’s technical staff of software engineers, data scientists, and researchers, you will join a world wide community of developers from our partners above, and furthermore, this is meant to be a 100% open effort, so we hope many others will join. There will be opportunities to work directly on current research at UC Berkeley and beyond. Together, we will push the boundaries of geospatial research in fields such as atmospheric science, biodiversity monitoring, and environmental health.
Applications
To learn more and apply to this position, please visit the UC Berkeley Jobs site and follow the instructions for Scientific Software Developer (0652U) #70365.
Salary & Benefits
This is a 100% full-time (40 hrs a week) exempt career position, which is paid monthly and eligible for full UC Benefits.
For information on the comprehensive benefits package offered by the University, please visit the University of California's Compensation & Benefits website.
Under California law, the University of California, Berkeley is required to provide a reasonable estimate of the compensation range for this role and should not offer a salary outside of the range posted in this job announcement. This range takes into account the wide range of factors that are considered in making compensation decisions including but not limited to experience, skills, knowledge, abilities, education, licensure and certifications, analysis of internal equity, and other business and organizational needs. It is not typical for an individual to be offered a salary at or near the top of the range for a position. Salary offers are determined based on final candidate qualifications and experience.
The budgeted salary or hourly range that the University reasonably expects to pay for this position is $95,300.00 - $128,000.00.
Other Information
- This is not a visa opportunity.
- DSE supports flexible working arrangements, including onsite and remote options.