Overview

npm is the world’s largest software repository, with with more than 10 million users and over 26 billion software package downloads every month. When you type “npm install”, our services send you the right packages and any relevant security advisories. We host public packages, private packages, and private cloud-hosted registries. The platform team creates, maintains, and scales these services.

What You’ll Do

The npm registry is a complex ecology of microservices and data sources.  It is critical to the daily work of millions of JavaScript programmers. Our software and systems are in constant flux as we adapt to nearly exponential growth and develop new services for the JavaScript community. We need you to help us with this never-ending, always-changing work.

In this position, you’ll get to:

  • Improve and simplify existing services, and build new ones from scratch
  • Scale our systems to handle the load we expect to see next year, not merely the load we’re handling today
  • Investigate problems and determine how to solve them
  • Write internal documentation. This includes RFCs for new features as well as descriptions of APIs.
  • Collaborate with teams across the company – from Sales and Marketing to Support
  • Help keep the registry running smoothly with the support of your colleagues

Your work at npm will help JavaScript developers around the world work faster and be more empowered to build great things.

Our team values empathy for the people we work with and the community we work for. We support each other. We are purposeful in our actions and effective at collaboration. Clear documentation is a part of our process from our READMEs to our pull requests. We love pairing and actively seek out one another’s input.

Our Code of Conduct

npm exists to facilitate sharing code by making it easy for JavaScript module developers to publish and distribute packages. npm is a piece of technology, but more importantly, it is a community.

We believe that our mission is best served in an environment that is friendly, safe, and accepting; free from intimidation or harassment. We do not tolerate abusive behavior. See our unabridged code of conduct here.

Why You Should Join

In joining the npm team, you’ll become an important part of a small but dedicated engineering team. We strive to provide a sensible working environment that doesn’t ask for or encourage habitual overtime. We offer flexibility in schedule. We have a progressive parental leave policy and vacation time is not just encouraged, but celebrated and enforced. We understand that healthy schedules lead to better outcomes. To help ensure this balance we have contracted support night coverage so we don’t interrupt anyone’s sleep.

We know that high-performing teams include people from different backgrounds and experiences who can challenge each other’s assumptions with fresh perspectives. We actively seek a diverse pool of applicants, including those from historically under-represented groups — women, people with disabilities, people of color, formerly incarcerated people, people who are lesbian, gay, bisexual, transgender, and/or gender nonconforming, first and second generation immigrants, and people from low-income families.

Where We Can Hire

npm Engineering is a distributed team. npm’s headquarters is in Oakland, California, but the majority of our teammates are remote. We are currently hiring in the United States. We cannot currently sponsor new work visas other than TN-1s, but we can transfer existing H-1Bs.