Job Posting: Frontend developer with design skills

Thanks for your interest in working at Read the Docs. We are a small team of 5, and we’re looking to add 2-3 people in 2021, and we’d love for you to be one of them.

About the company

Read the Docs is a large open source project providing documentation building and hosting. You can think of it a continuous integration for docs. We do around 500 million pageviews each year. We are a small team, but this role will have a large impact of millions of users. Our codebase is almost entirely open source, and we feel strongly about supporting the community while sustaining the project in an ethical manner.

We have two primary products:

This role would primarily be working on the core Read the Docs codebase and extensions to Read the Docs that we maintain.

About the job

This job will be our first frontend developer hire. We have a couple members of the team who have some knowledge in this space, but we will expect you to lead our efforts in this area.

At the beginning of the year, we received a grant to support scientific software. Given this grant, the job will have two major parts:

  • For 2021, around half your time will be spent working on work related to our grant. This focuses on building a documentation embedding client in JavaScript, and working to integrate it into Sphinx and other widely used platforms.
  • The other half of your time will be spent working on Read the Docs itself, outside of the grant funding. We are working on a site redesign, along with many other places where we have low-hanging UX and design work.

We have two major places that users interact with Read the Docs:

  • Our application, where users manage their documentation builds.
  • The “documentation pages” which we publish, where 99% of users only read docs, and might not even know Read the Docs is hosting.

Our goal is to improve both of these experiences for our users.

We are working on a full dashboard redesign which is around 80% finished. One of our first priorities would be for you to come onboard and help us get it over the line to completion. You would be working with one of our founders on this project, and it will give you a very wide understanding of the platform from the start.

The other major priority with the grant work will be a greenfield implementation of a JavaScript client to embed documentation from the Read the Docs API. We have some initial prototypes of this work, but you will be responsible for architecting and shipping this new library for the grant. We have some ideas on the direction we want to go here, but you’ll have a lot of influence in this major new initiative.

Technical Details

Read the Docs is a large Python & Django web application. The current technologies that we’re using are:

  • Django templates for our application views
  • Jinja templates for our marketing content and Sphinx theme design
  • Semantic UI for views and styles in our application
  • Knockout for view/model binding
  • Webpack for bundling of CSS and JavaScript

Our team has more experience with Python and Django than with JavaScript, so our application UI is driven by a hybrid system that primarily relies on application code and Django templates for display. Most of the work that will go into maintaining our application views will be working with Semantic UI inside Django templates, with Knockout connecting HTML to client side code where client side rendering and interaction is preferred.

Our marketing and landing page content will be a separate project that will use some of the same underlying technologies, but will have very few visual constraints compared to our application. We will be looking for your guidance here in building this project out.

Separate from our application, we also maintain a widely used Sphinx theme. You’ll share some of the maintenance effort on this theme, however it is also a fairly mature project that mostly requires bug fixes.

Additional Responsibilities

All of our team members are responsible for some of the basic operations of the project. As a small team, there are a lot of jobs to be done and not many hands to fill them. You will be responsible for owning projects in your area of the team, but also working on many other things.

User support is one of the main things you will be handling that spans the business. We have GitHub issues and emails that come in each day, and we have a support rotation for dealing with them. You can expect being primarily responsible for handling support one day a week, along with following up with users each day as necessary.

Requirements

We want someone with experience and vision to improve the product as a whole, and can contribute across multiple domains. We are a small team and you will be given a lot autonomy in building and improving things, so being self-driven is an asset.

Being familiar with some or most of the tools listed above would be great, however we believe experience with similar tools should translate easily as well. Having some knowledge of the data science community is also useful, given the grant work that will be part of this role. We realize that you might not know all of our tools, please reach out if you think you’d be a good fit.

We are a fully remote company and our team is currently based in the US, South America, and in Europe. We hope to work with people that are based in timezone where we have some overlap with the entire team, which is around UTC-8 to UTC+1.

Structure

We are currently only able to offer contracts to work on the project. The plan would be for us to contract with you to work between 3-5 days a week. Half of our team works 4 days, and the other half works 5 days, and we are happy to be flexible with whatever works best for you.

After an initial interview, we normally do a small paid project to see how we work together. If that goes well, we will move towards a longer term contract. We plan for this role to continue after 2021, working on Read the Docs fully after the grant funding expires.

The pay rate will vary with experience and the number of days worked. As a small, self-sustaining open source project we are not able to pay as much as large companies. We are able to provide a supportive and very flexible work environment, with a strong sense of mission. All of the members of our team have worked with us for more than 2 years, and we strive to have a stable team working to build something meaningful.

Applying

We will be accepting applications on an ongoing basis until the position is filled.

Please fill out the below form to apply for this role. Normal response time is around 2-3 weeks, and we intend to reply to all candidates.

Thanks for your interest, and we hope to hear from you soon.