JavaScript Developer #
Zotero is an open-source project that develops software and web services to help people collect, organize, cite, and share their research. Our software is recommended by most universities and used by millions of students, scholars, scientists, and researchers worldwide.
One of Zotero’s superpowers is its unrivaled ability to extract high-quality bibliographic metadata from across the web. Whether someone is browsing an academic journal, library catalog, database, newspaper, blog, or Twitter, they can save details about what they’re viewing to their Zotero library with a single click, enabling them to keep track of their research and generate accurate citations.
We’re looking for a developer to help make sure Zotero continues to save the best data possible across the largest number of sites.
You’ll spend much of your time writing, improving, and reviewing Zotero “translators” — the bits of JavaScript code that make that saving possible. To do so, you’ll find yourself digging into webpages with the browser devtools, exploring site APIs, and deciphering chains of HTTP requests. Some sites will provide data in common metadata formats; on others, you’ll need to come up with creative ways to extract data that’s designed to be obscured.
When you’re not building translators yourself, you’ll work on the tools that allow Zotero developers and outside contributors to build, debug, test, and submit translators, making it as easy as possible for people to contribute translators for sites they use.
As a core Zotero developer, you’ll also have the ability to work across the ecosystem on other projects that interest you and help shape Zotero’s future.
Throughout it all, you’ll participate in a vibrant global open-source community with amazing community developers and passionate users. Since Zotero translators are used beyond the Zotero ecosystem, your work will benefit other communities as well, such as Wikipedia, where editors rely on Zotero translators to generate citations in articles.
We’re an international team, and in happier times, we meet up occasionally around the world (falafel joint in Paris, fries spot in Luxembourg, cafe in New York City), but you’ll primarily be working remotely, communicating with Zotero developers and users via chat rooms, forums, GitHub, and mailing lists. We have a highly collaborative but asynchronous workflow, and you’ll be fully in control of your own schedule.
What We’re Looking For
- Extensive experience with JavaScript and browser APIs
- Deep understanding of how webpages work — HTTP requests, the DOM, client-side rendering, cookies
- Comfort using the browser devtools to explore and interact with webpages
- Experience working with web APIs
- Willingness to engage directly with users in public forums to troubleshoot problems and with outside developers to review code submissions
Bonus Points
- Experience with web scraping and/or data extraction
- Familiarity with metadata formats (BibTeX, JSON-LD, RDF)
- Previous remote work experience (before all work was remote work…)
- A love of free and open-source software
This is a full-time, open-ended, contract position, but we may be open to a part-time role for the right person.
Interested? Email us at jobs@zotero.org with the subject line “Zotero Developer”, let us know why you’re interested in working with us and why you think you’d be a good fit for this role, and include your résumé.