Educational Resources Library

The Education Resources Library is a collection of resources, books, courses and videos by team mates at Sourcegraph.

The goal is to provide resources for learning and development in line with Sourcegraph company value of continuous growth.

#dev-learn channel

Join the #dev-learn channel in Slack to share and discuss learning resources.

If you come across resources such as links, articles, books, videos or other content that may be useful for learning new topics, post them in #dev-learn to share them with others.

How do I propose resources to be added to this page?

To propose resources to be added, post them in the #dev-learn channel.

Education budget for Sourcegraph teammates

We provide an education budget for Sourcegraph teammates that can be used for the books and paid courses listed on this page. See the Education section on the Spending Company Money page.

These are books relevant to engineers and engineering managers and have been recommended.

Turn the Ship Around! by L. David Marquet

The Manager’s Path by Camille Fournier

Software engineering and software design

A Philosophy of Software Design by John Ousterhout

This book focuses on complexity in the code, covering it from a high level perspective so its teachings are applicable regardlessly of which technology the reader is working with. What makes it really interesting is that the author is providing very concrete examples to illustrate his claims and thoroughly describes his reasonings. It gives the reader the tools to think about complexity on their own so they can make their own decisions instead of following a list of good and bad practices.

Go programming language

The authoritative resource for learning Go is this book:

The Go Programming Language by Alan A. A. Donovan · Brian W. Kernighan

For a long list of other Go books, see: the GoBooks repo.

JavaScript & TypeScript

This O’Reilly book gives a good introduction to TypeScript. It’s aimed at readers who are already familiar with JavaScript.

Programming TypeScript

React learning resources

The Road to React by Robin Wieruch

GraphQL learning resources

We use GraphQL as our API protocol, build on a backend in Go.

The Road to GraphQL Walkthrough: adding a property and mutation to GraphQL, from schema to database, including tests

This course for frontend developers is one of the best comprehensive and detailed CSS resources that we’ve come across.

CSS for JavaScript Developers by Josh W. Comeau

Introduction to Git concepts

This section includes some of our internal Sourcegraph educational resources.

Branches in Git

Branches in Git

Git Diffs

Git Commits

Fixing merge conflicts

Fixing merge conflicts in Git (by Varun Gandhi)