The ultimate README template for effective remote onboarding

Quod AI
Quod AI
Mar 1 · 3 min read

Getting someone new on a team is always exciting. Developer teams have shifted to Slack and Zoom and it has been quite challenging. We’ve seen collaboration slow down 3x during WFH. Yet, a solid README could increase developer’s productivity by 1.7x. This could lead to informed questions by new teammates on Slack and Zoom and better pull requests.

This article was originally posted at:

What’s onboarding? It’s the ultimate knowledge transfer. getting someone new from knowing nothing to pushing code in production.

The goal of this post is to establish a template for the ultimate README.

Sections of the README should be easy and helpful for both readers (new developers) and writers (more experienced developers):

  • Easy to write & update
  • A powerful orientation guide for new developers

How to onboard onto complex code

Onboarding onto large code is not about understanding a lot of code. It’s about understanding the structure, concepts and abstractions of the system.

There are basically 2 approaches to onboarding:

  • Top down: from a high level system down to specific code.
  • Bottom up: from specific code up to the layers of the system. We navigate from code to layers of abstractions.

Onboarding is about mapping what your new developers doesn’t know (unknown unknowns).

When onboarding, you need both.

  • The top down approach is more about the big picture. This is helpful to avoid pitfalls and side effects of the system (what you don’t know you don’t know — unknowns unknowns). It won’t help close tickets but is tedious to self teach.
  • The bottom up approach is more pragmatic. Give someone a ticket and starting point in the code and let your new developers navigate to the answer. The risk is that your new developers may not be aware of unknown unknowns… his code could have unintended consequences (like side effects).

A good README is about giving a top down approach and pointing your new developers to the starting point of the bottom up approach (specific code locations).

Your new developer is successful when he pushes his first code to production. The goal of a good onboarding guide is to help him to be effective in that process.

So how do we pave the path for your new developers' success?

What makes a good README?

So how do we set up your new developer for success?

A good README explains what’s already in place: the existing code, the processes and the team with the goal that your new developer can evolve it. Here are some of the high characteristics of a good README:

What should a README answer?

The ultimate README template

So here goes the template. It should be quick to write from scratch if you know your repo.

‍The ultimate README for nodetube

One of the problems with nodetube’s README is that it is aimed towards users and not contributors.

Known unknowns about nodetube:

  • It’s a web app but I don’t know how the front end, API, DB architecture are organized
  • It can host videos but I don’t know how the hosting is managed

Unknowns unknowns: we hope to clarify by applying our README template

Quod AI

The smartest way to search & navigate code

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store