GitHub is the number one platform for sharing all kinds of technologies, frameworks, libraries, and collections of all sorts. But with the sheer mass also comes the problem to find the most useful repositories. So I have decided to curate this list of ten fantastic repositories that provide great value for all software engineers. All of them have a lot of GitHub stars, underlining their relevance, popularity, and usefulness.
Some of them will help you learn new things, some will help you build cool things, and all of them will help you to become better software engineers.
1. Build Your Own X
GitHub stars: 89,300
This fantastic repository basically is a collection of tutorials on how to build your own technology. There are examples of how to build a command-line tool, an operating system, a search engine, a 3D renderer, and many, many more.
Have you ever wanted to create your own programming language? Or your very own Docker or Git? Then this is the right repository for you.
2. Free Programming Books
GitHub stars: 168,000
Even though the name of this repository is Free Programming Books, it offers much more than that. It is available in many different languages and contains sections for free online courses, interactive programming resources, problem sets and competitive programming, and podcasts and programming playgrounds.
But the majority deals with programming books. And that really is an awesome collection.
3. Oh My Zsh
GitHub stars: 121,000
Oh My Zsh is a community-driven and open-source framework for managing Zsh configurations. Zsh is both an interactive shell and a powerful scripting language that many developers use.
Oh My Zsh comes with powerful plugins and beautiful themes to customize your Zsh setup. It is a bit of work to get it up and running, but there are great tutorials on the web and examples of other developers that will help you find the right settings for you.
4. Coding Interview University
GitHub stars: 146,000
This repository is a multi-month study plan to become a software engineer for a large company like Amazon, Google, or Facebook. It is meant for people who are new to software engineering (where CS knowledge is needed) and also offers advice on how to study to become a reliability engineer or operations engineer.
The author originally created this repo as a personal to-do list to keep track of his learning process. After studying eight to 12 hours a day for several months, he finally got his dream job at Amazon as a software development engineer.
Coding Interview University will help you prepare for technical interviews at companies like Google, Microsoft, Facebook, or similar. Make the best out of it.
5. Gitignore: A Collection of .gitignore Templates
GitHub stars: 111,000
This repository is exactly what the name suggests: a collection of useful .gitignore templates. For every new project you set up as a GitHub repository, it becomes mandatory to have a .gitignore file to filter what gets uploaded. The content of this file varies from project to project and language to language. The repo contains templates for almost any language or framework such as Rails, Python, Perl, Laravel, Java and many more. There even is a template for Fortran!
6. System Design Primer
GitHub stars: 115,000
This is a great repository for software engineers that will help you learn how to design large-scale systems. That will then help you become a better engineer. The repo provides an organized collection of resources for this broad topic.
Because system design often is a required component of the technical interview process at many companies, this repository can also help you to prepare for those interviews with a study guide, advice on how to approach an interview, interview questions with solutions, Anki flashcard sets for interactive learning, and interactive coding challenges.
7. Public APIs
GitHub stars: 104,000
Public APIs is a great list of free APIs that you can use for your projects and applications. It covers various topics such as business, anime, animals, news, finance, games, and more.
There are APIs like cats or dogs APIs that give you pictures of…cats or dogs.
But there are also more useful ones like the Gmail API or the Google Analytics API.
This is really an extensive collection, so go check it out for yourself.
8. The Art of Command Line
GitHub stars: 81,100
Knowing how to work with the command line is often neglected by developers, yet it helps to improve productivity and flexibility as an engineer. This repository contains useful notes and tips on using the command line when working on Linux. There are sections specifically for Windows or macOS, and in general tips, are applicable to other UNIX-based OSs. It is both for beginners and the more experienced.
While the repository seems to not be maintained actively any longer, it still provides very good tips that can help you work with the command line. And you can always fork the repo and maintain it yourself.
GitHub stars: 89,600
10. Developer Roadmap
GitHub stars: 139,000
The last repository contains a set of charts demonstrating different paths to take and technologies to adopt in order to become a front-end, back-end, or dev-ops engineer in 2020. While it seems a bit overwhelming in the beginning, it is a useful guide for what’s possible and needed in this fast-changing industry.
The repo gets updated every year to reflect changes in the ecosystem.
I hope you find these repositories as useful as I do and can use them to become better software engineers. Thanks for reading!
If you like what I write and want to support me and my work, please follow me on Twitter to learn more about programming, making, writing & careers🥰