Skip to main content Skip to secondary navigation

The Natural Capital Symposium is back! Registration is now open.

Learn more

Open Positions

Main content start

Join Our Team

Thanks for your interest in the Natural Capital Project! Our current job openings can be found here on this page. If you are interested in being notified by email about opportunities as they become available, please register for our email notification list. We are committed to inclusivity and promoting an equitable environment that values and respects the uniqueness of all members of our organization. We therefore encourage applications from members of groups that have been marginalized on any grounds. Whatever your intersection of identities, you are welcome at the Natural Capital Project.


Job Openings

Software Engineer
 


Software Engineer

The Natural Capital Project at Stanford University (NatCap) 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, our geoprocessing pipeline. They can expect to engage in all aspects of the software lifecycle, from design, implementation, and testing, to deployment and maintenance. The software engineer will also support our science teams by applying their skills as a programmer to help with data processing, numerical computation, and writing research scripts. Day-to-day, the engineer will write efficient, readable, well-tested code, collaborate on design documents and code reviews, support users via our online forum, and develop pragmatic solutions to challenging, real-world problems.

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. This will include integrating cloud data services into InVEST, creating a scalable, distributed computational infrastructure for large-scale modeling runs, and developing a reporting framework for scientific results. We are looking for a candidate with experience in areas such as scientific software development, numerical programming, and cloud development, but we are excited to talk to any engineer with a track record of developing and deploying any kind of software project.

The majority of 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. 

Feel free to take a look at our work on GitHub (https://github.com/natcap). Our stack is mostly Python, NumPy, GDAL, and JavaScript, but we’ll use whatever language and libraries makes sense for the problem at hand.

Requirements:

  • 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 is a plus:

  • Fluency in a high-level programming language, including project experience developing in Python.
  • Experience with a distributed version control system, such as git or mercurial.
  • Open-source software development for scientific software applications.
  • Contribution to an open-source project or community.
  • Scripting or programming for geospatial applications, especially with GDAL.
  • Distributed computing, container technologies, or cloud development.
  • JavaScript and modern web-based UI frameworks such as React, Vue, or Angular.
  • Developing desktop software for multiple operating systems.
  • A growth mindset and a willingness to learn and grow as a developer.
  • Experience developing and deploying a software project.
  • Excellent oral and written communication skills.
  • Demonstrated ability to work both independently and as part of a team.
  • To have initiative, be thoughtful and proactive.
  • Ability to identify and solve logical problems for technical applications.

To apply, go to https://careersearch.stanford.edu/jobs/software-engineer-24496 and submit a cover letter describing why you would be a good fit for this position along with a 1-2 page resume with your work and education experience. Even if you only meet some of the qualifications, we encourage you to apply. If possible, please include examples of a code portfolio or links to any software you have developed. We are also interested in other products or projects you have created such as books, art, designs – anything that shows a standing dedication to long-term projects, even if they were a long time ago.

 


We are committed to inclusivity and promoting an equitable environment that values and respects the uniqueness of all members of our organization. We therefore encourage applications from members of groups that have been marginalized on any grounds, including sex, sexual orientation, gender identity or expression, racialization, disability, political belief, religion, marital or family status, age, and/or status as a First Nation, Metis, Inuit, or Indigenous person.