Gatsby’s Learning team is looking for a software engineer to help learners of all skill levels enjoy the experience of making sites with Gatsby.
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 (our work is 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 (Preference for UTC-8 to UTC+4)
Engineering Level: Staff L5/L6 (see our Engineering Levels Guide)
Why we’re hiring
Gatsby is growing fast, and we need help improving Gatsby’s learning experience to help it realize its potential!
We’ve invested heavily in documentation, with 800+ pages worth of documentation & a beautiful and intuitive UI (if we do say so ourselves!). Yet Gatsby’s surface area is so large that the #1 request from the community is still for more and better documentation.
Why this is interesting
Gatsby’s Learning team is shaping the future of web through documentation and best practice examples; bringing React, Node.js and GraphQL to the content web; setting new standards for website performance and accessibility; and showing the potential of “content mesh” in integrating data sources.
Tens of thousands of users use Gatsby to build beautiful, performant sites every month. The Learning team are guides for these users.
What you’ll do on a day-to-day basis
As a Learning team member, your work will mostly be a mix of four things:
Create targeted, methodical documentation. We’ve identified key learning workflows to help people of all skill levels build Gatsby sites, and you’ll be tweaking and sometimes overhauling these. You’ll think carefully about key user types and creating written content, example code & repos, and audiovisual material to address their needs.
Work with the community and create community-driven documentation. We keep our pulse on the pain points the community is experiencing in order to guide our work. Perhaps a thread on Twitter reveals a patchy article that can be cleaned up with a couple hours of work and thought. In addition, much of Gatsby’s functionality is driven by the community via the plugin ecosystem. The documentation should provide an up-to-date, helpful overview of community plugins available in a given area and direct the user to further resources, even as the ecosystem rapidly grows richer.
Provide documentation-related development. We’ve been focused recently on the thousand little details that go into a beautiful and accessible UI — from a nested sidebar that expands and remembers where you are, to floating table of contents, feedback box, next/previous buttons at the bottom, breadcrumbs, a dedicated search page, and so on. We’re soon going to be crossing the boundary to creating next-generation developer documentation — allowing users to automatically track their learning journey as they complete Gatsby tutorials, bootstrapping a test suite from human-readable docs, and so on.
Support other Gatsby teams. Other teams at Gatsby, such as core (Open Source) and themes, are quickly shipping features. Everyone is expected to document their feature (see “why we write”), so they contribute documentation PRs, and the Learning team works with them to polish them, flesh them out, help them get merged, and create additional, richer material as necessary.
In addition, you will
Streamline and simplify. Like code, sometimes the best documentation PRs remove more lines than they add. Especially with much of the documentation contributed by independent community efforts, it can he helpful to constantly ask if docs should be combined or culled.
Help people contribute to open source. The docs are often the easiest and most accessible way for Gatsby users to give back. We believe that “you belong here” and that open source is great for developers — the learning team is in a position to facilitate positive experiences.
Bring novel ideas to the table. New techniques. A great new library you’ve had your eye on. Insightful feedback on other learning and ecosystem improvements.
Share your expertise with others—internally and in the Gatsby community. As the Gatsby team grows, you’ll have mentorship opportunities as well.
Experience and skills you should have
The Learning team is composed of people with skills in multiple areas: content, development, and collaboration.
A track record of producing high-quality, written technical communication. Whether produced for your personal blog, or for a company (externally or internally), you’ve spent significant amounts of time writing deeply technical material for a technologist audience. You also should enjoy writing. A big part of creating high-quality documentation is a team that takes pride in tightly crafted content. You have to care.
Ability to dive into complex problems and corpuses of text. Norris numbers apply to content, not just codebases. Writing three good paragraphs is significantly less complex than writing a comprehensive essay, which is significantly less complex than writing a five-part series, which is significantly less complex than writing a book. For this role we’re looking for demonstrated aptitude somewhere between “comprehensive essay” and “five-part series” (more is a big plus!). With that experience, you should be able to quickly assess, understand, and iterate upon aspects of our docs codebase.
Ability to adjust learning content for a specific audience or outcome. Gatsby has docs in multiple types and formats, each accommodating a different learning style or skill level.
Professional experience shipping production code and solving user/customer problems. We’ll have to build for new platforms (an Electron app on the desktop!) and create materials in new formats as our ambitions and standards continue to rise.
Experience editing content produced by others (technical or non-technical) . Perhaps you’ve taken a bunch of assorted READMEs and crafted them into an onboarding guide. Perhaps you spontaneously take a red pen to friends’ essays or blog posts. Perhaps you notice yourself editing Google Docs sent out by colleagues to make them more clear.
Strong personal communication skills. As part of our Learning team, you’d both directly and indirectly interface with community members. Clear, friendly, and professional 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 and a willingness to work together.
Experience it would be nice if you had, but isn’t required
You have done public speaking, developer advocacy, or teaching. On the Gatsby learning team, we often have opportunities to present on Gatsby topics at conferences and workshops. While the opportunity to grow into this skillset will still be there, experience as a public speaker would help you ramp up faster. Experience recording development screencasts is also helpful.
You have a passion for web accessibility. As maintainers of a website framework, we have an opportunity to make the web more inclusive and accessible for everyone. Previous experience with accessible web development and content creation would help you to stand out from other candidates.
You have maintained documentation in 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.
The best parts of this job
You’ll be empowered to propose ideas for new learning content and ecosystem improvements for key learning workflows.
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 docs system and codebase, 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
As the Learning team for a fast-paced startup, we are often tasked with supporting multiple teams for product launches and events. This requires balancing priorities and working together to ensure we’re working on things that provide the most value.
In open source, you’re faced with a nonstop stream of issues and pull requests. That means you need to develop an intuition of how to prioritize tasks for Learning/Core team needs and those from the community.
When working in the open–including fielding user feedback on social media–it can sometimes be difficult to remain professional when things don’t go as planned. Gatsby team members are expected to act as bridges between communities even when it’s hard, because we’re all better off for it.
Benefits you will receive
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