GitHub is a treasure trove of useful resources. You just need to know where to look. This article will collect 19 of the most valuable GitHub repositories for programmers. Let's go.

Free Programming Books

Free Programming Books does what it says on the tin. It's a list of free ebooks on a huge number of technologies in a wide variety of languages. Want to learn more about Elasticsearch? There's a free book for that. Markdown? There's a free book for that. Neo4j? Yes, there's a free book for that.

Coding Interview University

Coding Interview University is a step-by-step plan for web developers who want to become full-blown software engineers. It's a curated list of resources that teaches you computer science and prepares you for tech interviews.

Tech Interview Handbook

Tech Interview Handbook dedicates itself to the tech interview. This is for anyone who's new to tech interviews, but who wants to land a job at a tech company. Different from other tech interview repos, this repo doesn't link to other resources. Instead, it presents all the useful info directly inside the repo.

Free For Dev

Free For Dev is a list of SaaS, PaaS, and IaaS software that have free tiers for developers. The free tier cannot be a trial and, if it is time-bucketed at all, has to last for at least a year. The list has a useful ToC to quickly find what you're looking for.

JavaScript Questions

JavaScript Questions is a list of questions that test how well you know JavaScript. This is a great repo to refresh your JS knowledge. Questions move from basic to advanced as you progress.

Public APIs

Public APIs is a collection of free APIs in a wide variety of categories. A cat fact API? Check. An API that tracks delays in the metro of Lisbon? Check. An API that serves random pictures of food dishes? Also check.


Gitignore is a collection of useful .gitignore templates that work well with specific programming languages, frameworks, tools, or environments. Categorized in root folder templates, global templates for IDEs, tools, and operating systems, and community templates for more specific use cases.

JavaScript Algorithms

JavaScript Algorithms is a list of popular algorithms and data structures implemented in JavaScript. Each algo has its own README that explains how the algo works, as well as links for further reading. Caution: not meant for production.


If you're a programmer, you've probably heard of Awesome. Every Awesome repo is a curated list of technologies, plugins, and other resources for a particular technology. The repo we've linked here is a list of all the Awesome repos on GitHub.

You Don't Need

You Don't Need is a list of things you probably don't need as a programmer. For example, you might not need jQuery if you're only targeting modern browsers. Warning: this is opinionated and might trigger some developers.

Front-End Checklist

Front-End Checklist is a must-have for any web developer. It's a checklist of all elements that you need to have and test before you push your website into production. Each element comes with a recommended, highly recommended, and can't be omitted tag.

Node.js Best Practices

Node.js Best Practices is a summary of the top-ranked content about Node.js best practices, as well as some content that the collaborators of the repo wrote. This repo features a growing list of 80+ best practices, style guides, and architectural tips.

Big List of Naughty Strings

Big List of Naughty Strings is a list of strings that have a high probability of causing issues when the user inputs them. Useful to test your software and potentially uncover underlying issues.

Project Based Learning

Project Based Learning is a list of programming tutorials where you can learn how to build an application from scratch. The list is divided into primary programming languages. Pick the language you want to code in, fork the repo, and get started.

30 Seconds of Code

30 Seconds of Code is a collection of short code snippets in JavaScript, CSS, and Python. Learn about JavaScript array methods, CSS menu overlays, Python's named tuples, etc... in less than a minute.  

Build Your Own X

Build Your Own X is a list of resources for building whatever it is you want to build. Want to build a Discord bot with Node.js? Check. Want to build your own OS with C++? Check. A text editor with Ruby? Also check.


JavaScript is a relatively straightforward language. But it certainly has its quirks. WTFJS, inspired by this dotconferences video, is a collection of those quirks. These  quirks are great to deepen your understanding of JavaScript.

App Ideas

There's no better way to learn how to code than by building something. But coming up with project ideas isn't always easy, so the App Ideas repo brings you a list of app ideas that you can use to improve your coding skills.


Sometimes, creating a TODO app doesn't cut it as a project idea. That's where RealWorld comes in. This repo helps you build an exact clone with different front-ends and back-ends. A great repo if you want to step up your project game.

We hope you found a useful new repo in this list. What useful repos do you browse regularly? Let us know by replying to this tweet below 👇