GitHub is a goldmine for developers, offering countless resources, projects, and guides to boost their skills and stay ahead in the ever-evolving tech world. Among its treasures, some repositories stand out for their depth, practicality, and inspiration. Hereβs a curated list of the top 5 GitHub repositories that every developer should explore in 2025:
1. awesome-design-patterns
DovAmir / awesome-design-patterns
A curated list of software and architecture related design patterns.
Awesome Software and Architectural Design Patterns
A curated list of software and architecture related design patterns.
Software design pattern - A general, reusable solution to a commonly occurring problem within a given context in software design. It is a description or template for how to solve a problem that can be used in many different situations.
Contents
- Programming language design patterns
- General Architecture
- Cloud Architecture
- Serverless Architecture
- Micro services & Distributed Systems
- Internet of things
- Big Data
- Machine Learning
- Databases and storage
- DevOps & containers
- Mobile
- Front End Development
- Security
Programming Language Design Patterns
-
AngularJS
-
C#
- design-patterns
- design-patterns-for-human - ultra simplified explanation to design patterns.
- Design Patterns Library
-
C++
-
Closure
-
Go
-
Java
- sourcemaking - patterns and anti patterns.
- oodesign - patterns catalog with UML diagrams.
- design-patterns
- effective-java patterns - patterns from the Effective Java book.
- Design patterns implemented in Java
- Effective-Java-3rd-Joshua-Bloch
-
JavaScript
Why It's Awesome: Design patterns are the cornerstone of software engineering, helping developers craft maintainable and scalable applications. This repository compiles a comprehensive list of design patterns across various programming languages. Itβs a one-stop resource for understanding how to structure your code effectively.
Key Features:
- Patterns explained in detail for languages like Java, Python, C++, and more.
- Links to high-quality articles, tutorials, and videos.
- Helps bridge the gap between theory and practice.
Ideal For: Developers aiming to write cleaner, more efficient, and reusable code.
2. build-your-own-x
codecrafters-io / build-your-own-x
Master programming by recreating your favorite technologies from scratch.
Build your own <insert-technology-here>
This repository is a compilation of well-written, step-by-step guides for re-creating our favorite technologies from scratch.
What I cannot create, I do not understand β Richard Feynman.
It's a great way to learn.
- 3D Renderer
- Augmented Reality
- BitTorrent Client
- Blockchain / Cryptocurrency
- Bot
- Command-Line Tool
- Database
- Docker
- Emulator / Virtual Machine
- Front-end Framework / Library
- Game
- Git
- Network Stack
- Neural Network
- Operating System
- Physics Engine
- Programming Language
- Regex Engine
- Search Engine
- Shell
- Template Engine
- Text Editor
- Visual Recognition System
- Voxel Engine
- Web Browser
- Web Server
- Uncategorized
Tutorials
Build your own 3D Renderer
- C++: Introduction to Ray Tracing: a Simple Method for Creating 3D Images
- C++: How OpenGL works: software rendering in 500 lines of code
- C++: Raycasting engine of Wolfenstein 3D
- C++: Physically Based Rendering:From Theory To Implementation
- C++: Ray Tracing in One Weekend
- C++: Rasterization: a Practical Implementation
- C#β¦
Why It's Awesome:
Want to challenge yourself by building a compiler, operating system, or even your own programming language? This repository is a hands-on guide to mastering the art of creation by re-implementing some of the most iconic software tools.
Key Features:
- A categorized list of projects with detailed instructions.
- Encourages learning by doing, fostering deeper understanding.
- Covers diverse areas such as databases, game engines, and shells.
Ideal For: Developers looking to level up their skills through challenging, project-based learning.
3. project-based-learning
practical-tutorials / project-based-learning
Curated list of project-based tutorials
Project Based Learning
A list of programming tutorials in which aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages.
To get started, simply fork this repo. Please refer to CONTRIBUTING.md for contribution guidelines.
Table of Contents:
- C#
- C/C++
- Clojure
- Dart
- Elixir
- Erlang
- F#
- Go
- Haskell
- HTML/CSS
- Java
- JavaScript
- Kotlin
- Lua
- OCaml
- PHP
- Python
- R
- Ruby
- Rust
- Scala
- Swift
- Additional resources
C/C++:
- Build an Interpreter (Chapter 14 on is written in C)
- Memory Allocators 101 - Write a simple memory allocator
- Write a Shell in C
- Write a FUSE Filesystem
- Build Your Own Text Editor
- Build Your Own Lisp
- How to Program an NES Game in C
- Write an OS from scratch
- How to create an OS from scratch
- Building a CHIP-8 Emulator
- Beginning Game Programming with C++ and SDL
- Implementing a Key-Valueβ¦
Why It's Awesome:
Theory is essential, but practical experience is where the real learning happens. This repository offers a wealth of project-based tutorials, enabling developers to build real-world applications while mastering new tools and technologies.
Key Features:
- Covers a wide range of languages and frameworks like JavaScript, Python, Go, and Rust.
- Beginner to advanced-level projects to suit all expertise levels.
- Encourages portfolio-building for aspiring developers.
Ideal For:
Developers seeking structured learning paths and portfolio-worthy projects.
4. every-programmer-should-know
mtdvio / every-programmer-should-know
A collection of (mostly) technical things every software developer should know about
Join our community for professional Software Developers and get more control over your life and career!
Every Programmer Should Know π€
A collection of (mostly) technical things every software developer should know.
βοΈ These are resources I can recommend to every programmer regardless of their skill level or tech stack
Highly opinionated π£. Not backed by science Comes in no particular order β»οΈ
U like it? β it and share with a friendly developer U don't like it? Watch the doggo πΆ
P.S. You don't need to know all of that by heart to be a programmer. But knowing the stuff will help you become better! πͺ
P.P.S. Contributions are welcome!
Introduction
- π₯ Map of Computer Science
- π₯ 40 Key Computer Science Concepts Explained In Laymanβs Terms
- π Computer Science Roadmap
Falsehoods
- Awesome Falsehoods π Curated list of falsehoods programmers believe in Check for things you do not know aboutβ¦
Why It's Awesome:
Programming is not just about writing code; itβs about solving problems, optimizing performance, and understanding the intricacies of computing. This repository is a curated collection of resources that every programmer should know to excel in their career.
Key Features:
- Topics range from algorithms and data structures to security and scalability.
- Links to influential articles, books, and research papers.
- A focus on foundational knowledge that transcends languages and frameworks. Ideal For: Developers striving for a deeper understanding of computer science fundamentals.
5. engineering-blogs
kilimchoi / engineering-blogs
A curated list of engineering blogs
Companies
# companies
- 8th Light https://8thlight.com/blog/
A companies
- AdRoll http://tech.adroll.com/blog/
- Advanced Web Machinery https://advancedweb.hu/
- Airbnb https://medium.com/airbnb-engineering
- Algolia https://blog.algolia.com/
- Appnexus https://techblog.appnexus.com/
- Arkency http://blog.arkency.com/
- Artsy http://artsy.github.io/
- Asana https://blog.asana.com/category/eng/
- Atlassian https://developer.atlassian.com/blog/
- Atomic Object https://spin.atomicobject.com/
- Auth0 https://auth0.com/blog/
- Avenue Code http://blog.avenuecode.com/
- AWS https://aws.amazon.com/blogs/aws/
B companies
- Babbel https://bytes.babbel.com/en/
- Badoo https://techblog.badoo.com/
- Bandcamp https://bandcamptech.wordpress.com/
- Base Lab https://lab.getbase.com/category/engineering/
- Bazaarvoice https://blog.developer.bazaarvoice.com/
- BBC https://medium.com/bbc-design-engineering/
- Benchling https://benchling.engineering/
- Bigcommerce http://www.bigeng.io/
- Blender https://code.blender.org/
- Booking.com https://blog.booking.com/
- Brandwatchβ¦
Why It's Awesome:
Stay updated on the latest industry trends, engineering challenges, and innovations by exploring blogs from top tech companies. This repository serves as a directory of engineering blogs written by some of the brightest minds in the industry.
Key Features:
- Blogs from companies like Google, Netflix, and Uber.
- Insights into real-world problems and solutions.
- Regularly updated to keep you informed about emerging technologies.
Ideal For:
Developers interested in gaining insights from industry leaders and staying ahead in tech.
Final Thoughts
GitHub repositories like these are more than just collections of codeβthey're treasure troves of knowledge, inspiration, and opportunities for growth. Whether youβre an aspiring developer or an experienced engineer, these repositories will help you stay curious, keep learning, and excel in your journey.
ππππππππππππππππππππππ
Top comments (0)