Important Application Requirements
This position is remote. Interested candidates must include a resume and cover letter to be considered for this position.
Applicants must be authorized to work for any employer in the U.S. We are unable to sponsor or take over sponsorship of an employment visa.
About the Stanford Doerr School of Sustainability
The Stanford Doerr School of Sustainability strives to create a future when humans and nature thrive in concert and in perpetuity. The school is made up of a three-part structure to drive global impact: Our academic departments and programs educate students and create new knowledge across areas of research that are crucial for advancing the long-term prosperity of the planet and people; Institutes bridge scholarship at Stanford and beyond, bringing multiple viewpoints to bear on urgent challenges; The Sustainability Accelerator drives new policy and technology solutions through a worldwide network of partners who work with our teams to develop solutions at a global scale. The school is dedicated to creating and supporting a diverse, equitable, and inclusive environment, and to creating solutions that benefit all people, particularly those most affected by environmental damage and climate change.
For more information on the school, please click here.
About The Natural Capital Project
The Natural Capital Project (NatCap) operates as a partnership between Stanford University, the Chinese Academy of Sciences, the University of Minnesota, the Stockholm Resilience Centre, The Nature Conservancy, and the World Wildlife Fund. NatCap’s mission is to pioneer science, technology, and partnerships that enable people and nature to thrive. We do this by developing scientific tools and technology to model and map the distribution of biodiversity and to demonstrate the services provided by ecosystems.
For more information on The Natural Capital Project, please click here.
Position Details
The Natural Capital Project is seeking a thoughtful, curious, and pragmatic Software Engineer to join our software team. The engineer will work closely with scientists and other software engineers to develop and maintain a family of open-source software tools and libraries including InVEST, our suite of models for mapping ecosystem services, and PyGeoprocessing, a library of memory-efficient geoprocessing routines. In addition to ongoing maintenance and science project support, the software engineer will contribute directly to our next-generation software platform to help address critical issues common to ecosystem service analyses. Our next-gen platform involves integrating cloud data services into InVEST, creating a scalable and distributed computational infrastructure for large-scale modeling runs, and developing a reporting framework for scientific results. The engineer can expect to engage in all aspects of the software lifecycle and develop pragmatic solutions to challenging, real-world problems.
The software team is remote and works across time zones, collaborating over Slack, Zoom, and through GitHub pull requests. To fit well into our remote team and interdisciplinary organization, we are looking for someone who can work independently, take initiative, and communicate clearly with other software developers, scientists, and practitioners. The successful candidate will be self-motivated, polite, curious, and pragmatic. We are excited to talk to any engineer with a track record of developing and deploying any kind of software project. Even if you only meet some of the preferred qualifications, we encourage you to apply.
Your Responsibilities will include:
- Developing and maintaining NatCap’s current and future open-source software, including the InVEST and PyGeoprocessing Python libraries.
- Writing efficient, readable, and well-tested code that aligns with our software development methodology.
- Supporting the NatCap science team with data processing, numerical computation, and writing research scripts.
- Collaborating on design documents and code reviews.
- Supporting InVEST users via NatCap’s online forum.
- Contributing to the development of our next-generation software platform.
- Making use of the right programming languages, frameworks, and tools for the problem at hand.
To be successful in this position, you will need:
- Bachelor’s degree and three years of relevant experience or a combination of education and relevant experience.
- Current knowledge of latest software and design standards.
- Ability to define and solve logical problems for technical applications.
- Knowledge of and ability to select, adapt, and effectively use a variety of programming methods.
- Ability to recognize and recommend needed changes in user and/or operations procedures.
- Basic knowledge of software engineering principles.
- Strong knowledge of at least one programming language.
Experience with any of the following preferred qualifications is a plus:
- Fluency in a high-level programming language, including project experience developing in Python.
- Demonstrated ability to work both independently and as part of a team.
- Excellent oral and written communication skills.
- Experience with a distributed version control system, such as git or mercurial.
- Contribution to an open-source project or community, especially for scientific software.
- Scripting or programming for geospatial applications, especially with GDAL.
- Numerical computing, such as with the numpy Python library.
- Distributed computing, container technologies, or cloud development.
- JavaScript and modern web-based UI frameworks such as React, Vue, or Angular.
- A growth mindset and a willingness to learn and grow as a developer.
How to Apply
We invite you to apply for this position by clicking on the “Apply for Job” button.