Gatsby is a remote-first, community-focused team working to build a high-performance, fun to use, accessible, and astonishingly flexible presentation layer for any data source. Our core values include transparency (we work in public most of the time); creating a safe, high-trust team; building incredible developer experiences; maintaining a healthy working environment; and helping deliver web experiences that feel amazing to use on every device and connection type.
Details of the role
- Type of Work: Full-time employee
- Location: Remote (US or International). Preference for UTC-8 to UTC+4.
- Engineering Level: Staff (see our Engineering Levels Guide)
Why we’re hiring
Gatsby is growing fast, and we need help improving Gatsby.js to help it realize its potential!
As framework maintainers we have the opportunity to make the web more inclusive and accessible for everyone. Your role will be essential for making Gatsby a leading example of “accessibility by default”.
Why this is interesting
Our open source team is shaping the future of web; bringing React, Node.js and GraphQL to the content web; setting new standards for website performance; and unifying the “content mesh” in integrating data sources.
Tens of thousands of users use Gatsby to build beautiful, performant sites every month.
What you’ll do on a day-to-day basis
This is a dual role. First, you’ll share many of the day-to-day responsibilities of the Gatsby core team — the team responsible for Gatsby — by working on assorted features and assist community members in contributing features and bugfixes. This will be about 70% of your time.
Second, as an accessibility expert, you’ll work to ensure Gatsby effectively supports the widest possible range of users by testing regularly in assistive technologies, filing bugs, promoting best practices and developing robust fixes at the framework level. Gatsby is already fast by default — your role is to make it accessible by default. This will be roughly 30% of your time.
Depending on the day, you will:
- Help guide architectural decisions. From image prefetching to themes to a CLI redesign, the future of Gatsby is discussed and planned in our public RFCs and issues. You’ll be helping drive these conversations and guiding Gatsby toward the best possible solutions.
- Contribute to deep, meaningful refactors and feature releases. Gatsby is a complex codebase. Meaningful features we’ve shipped recently, like asset prefixing, structured logging, eliminating memory spikes, caching improvements, per-page manifest, have often required a couple weeks to a month of dedicated, careful work.
- Collaborate with the community. Many small as well as meaningful fixes and features have been contributed by the community. Your role as a Core team maintainer is to draw the best out of the community — to inspire those across the world to create and contribute through your reviews of their issues and pull requests.
- Reduce friction. A large amount of the work of Gatsby is reducing friction and making Gatsby easier to use. This might involve careful API design, identifying and fixing top bugs, creating easier-to-use error messages, and writing documentation and blog posts about features you ship (see “Why we Write” for our philosophy on writing.)
- Experiment and play. Great, unexpected features and heisenbug fixes on the team have come from a number of sources — relentlessly methodical processes of elimination, free-flowing team collaboration, inspiration by adjacent libraries and projects, and difficult-to-explain individual strokes of brilliance. Whatever your preferred style is for creating new things that others might not have thought of, you’ll find a welcome home on the Gatsby core team.
Read our “Day in the Life of a Core Maintainer” blog post for a deeper look!
Experience you should have
- Past work with frontend infrastructure. Perhaps you’ve created your company’s tooling process, written babel or webpack plugins, or dug into the impact of React Suspense or Fiber on loading performance. It would be great if you could address this in your cover letter!
- Ability to dive into complex problems. You should be able to quickly assess, understand, and iterate upon aspects of our codebase.
- Strong written and verbal communication skills. As part of our open source team, you’d both directly and indirectly interface with community members. Clear communication is fundamental in creating intuitive and compelling resources.
- Ready and willing to ask and answer questions. If you’re comfortable saying you’re unsure, asking for help, and reaching out to assist others, you’ll be an incredible addition to our team. Our team thrives because of continuous learning.
Note: This role is called “Staff Software Engineer” because we’re looking for someone who would come in at what we’d internally consider “Staff” level. We have [engineering levels within Gatsby](engineering levels within Gatsby to help share expected levels of responsibility.
Experience it would be nice if you had, but isn’t required
- You’ve maintained an active repository before. Maybe you’ve helped maintain a popular open source repo, or maybe you’ve worked on internal repos that saw contributions from multiple teams. Previous experience with highly active repo workflows is a definite plus for this role.
- You have experience with modern build tools such as Webpack, Buck, or Bazel. Gatsby’s architecture is in many ways inspired by these tools, and you’ll need to incorporate ideas from them into open source on a regular basis.
The best parts of this job
- You’ll be at the cutting edge of website development — working on one of the fastest-growing site building frameworks on the market, digging into the Gatsby’s innovatively architected codebase and build system, using modern tools such as Node, React, and GraphQL.
- You’ll be part of an active, open, friendly community of developers that are really excited about building high-performance, fun-to-use websites.
- You’ll be working in a safe, open environment of talented engineers who have a broad range of experience.
- Your role will be key to making Gatsby the next way to build on the web — and a technology that is accessible to the next billion internet users.
The worst parts of this job
- Gatsby is a large, intricate codebase — 50k+ lines of code in the core package and 300k+ lines of code in maintained plugins. You may bang your head against the wall at times, and then write 10-15 tests.
- The work you would be doing is somewhat unique and idiosyncratic. You probably have not had a similar role before.
- In open source, you’re faced with a nonstop stream of bug reports and support requests.That means you need to develop intuition around what’s most important right now.
Benefits we offer
- 3 months of paid parental leave covering both adoption and foster placement
- Unlimited vacation policy, with a minimum of 15 days paid vacation time
- Amazing health, dental, and vision insurance for you and your family (US only)
- Skip the commute with remote work
- Fly to cool locations 3x/year for company-wide meetups
- Stock options in a fast-growing startup
- Gatsby Sabbatical: 4 weeks paid vacation after 4 years tenure
Our Hiring Process
Gatsby is an equal opportunity employer. We eagerly seek applicants of diverse backgrounds and hire without regard to race, color, gender identity, religion, national origin, ancestry, citizenship, physical abilities (or disability), age, sexual orientation, veteran status, or any other characteristic protected by law. Cultivating inclusivity and diversity is a top priority.
Headhunters and recruitment agencies may not submit resumes/CVs through this website or directly to managers. Gatsby does not accept unsolicited headhunter and agency resumes, and will not pay fees to any third-party agency or company that does not have a signed agreement with Gatsby.