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.
*- The job duties listed are typical examples of work performed by positions in this job classification and are not designed to contain or be interpreted as a comprehensive inventory of all duties, tasks, and responsibilities. Specific duties and responsibilities may vary depending on department or program needs without changing the general nature and scope of the job or level of responsibility. Employees may also perform other duties as assigned
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.
Salary and Benefits
This role is open to candidates anywhere in the United States. Stanford University has five Regional Pay Structures. The compensation for this position will be based on the location of the successful candidate.
The expected pay range for this position is $80,000 to $135,000 per annum for the Stanford Work Location.
The expected pay range for this position is $82,000 to $124,000 per annum for all other locations.
Stanford University provides pay ranges representing its good faith estimate of what the university reasonably expects to pay for a position. The pay offered to a selected candidate will be determined based on factors such as (but not limited to) the scope and responsibilities of the position, the qualifications of the selected candidate, departmental budget availability, internal equity, geographic location, and external market pay for comparable jobs.
At Stanford University, base pay represents only one aspect of the comprehensive rewards package. The Cardinal at Work website (https://cardinalatwork.stanford.edu/benefits-rewards) provides detailed information on Stanford’s extensive range of benefits and rewards offered to employees. Specifics about the rewards package for this position may be discussed during the hiring process.
How to Apply
We invite you to apply for this position by clicking on the “Apply for Job” button.
The job duties listed are typical examples of work performed by positions in this job classification and are not designed to contain or be interpreted as a comprehensive inventory of all duties, tasks, and responsibilities. Specific duties and responsibilities may vary depending on department or program needs without changing the general nature and scope of the job or level of responsibility. Employees may also perform other duties as assigned.
Consistent with its obligations under the law, the University will provide reasonable accommodations to applicants and employees with disabilities. Applicants requiring a reasonable accommodation for any part of the application or hiring process should contact Stanford University Human Resources by submitting a contact form.
Stanford is an equal employment opportunity and affirmative action employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, protected veteran status, or any other characteristic protected by law.