Job Posting: Frontend developer with design skills

Update: This role has been filled. If you’re interested in working with us, we’re always happy to hear from you, but we aren’t actively hiring for this role currently.

Thanks for your interest in working at Read the Docs. We are a small team of less than 10, and we’re looking to add 1-2 people in 2022, 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 as continuous integration for software docs. We serve over 500 million pageviews each year. This role will have a large impact on millions of users. Our codebase is almost entirely open source, and we feel strongly about supporting the open source community while sustaining the project in an ethical manner.

We have two primary products:

We are pretty excited to be paid to work on a large open source project, and we hope you will be too!

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 hope you will grow to lead our efforts in this area over time.

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

  • Around half your time will be spent working on work related to scientific software. This focuses on improving our documentation embedding client in JavaScript, and working to integrate it into widely used scientific development platforms (eg. Jupyter).
  • 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 long-standing UX and design issues.

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 finished. This project 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 open source web application. The current technologies that we’re using are:

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

You don’t need to be familiar with these exact technologies, but having experience with a web-based stack is helpful (eg. Rails, Node, PHP).

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.

Everyone on our team does customer support

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. This means you will learn a lot about the functioning of a small (but mighty!) company and open source project.

User support is one of the main things you will be handling that spans the company. 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 the first line of support one day a week, but you can always ask the team for help with issues.

Hiring and interview process

You would be hired as a contractor and not an employee, because that is all we can support currently. We would contract you to work 4-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. We do offer the ability to expense work-related computer equipment, home office gear, and other approved expenses.

After an initial set of 2-3 interviews, we normally do a small paid project (4-6 hours, $500) to see how we work together. Assuming that goes well, we will offer a contract until the end of the calendar year. This contract then would be renewed yearly, along with evaluating pay and other benefits.

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. Most of the members of our team have worked with us for more than 4 years, and we strive to have a stable team working to build something meaningful.

We are a fully remote company and our team is currently based in the US, South America, and 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.

Applying

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

Update: This role has been filled. If you’re interested in working with us, we’re always happy to hear from you, but we aren’t actively hiring for this role currently.