🚀 A curated and opinionated list of resources (English & Russian) for Backend developers | Структурированный список ресурсов для изучения Backend разработки
3,485
34 commits
updated Apr 17, 2026
EN A curated and opinionated list of resources (English & Russian) for Backend developers that will help you organize & structure your learning path and knowledges. Inspired by Awesome CTO.
RU Структурированный список ресурсов для изучения Backend разработки, который поможет систематизировать свои знания и составить план обучения. Основан на личном опыте и самостоятельном изучении данной области. Вдохновлено Awesome CTO.
| Main topics | Основные темы |
|---|---|
| What is a computer and how it works? | Что такое компьютер и как он работает? |
| Why do we need programming languages? What types of programming languages are out there? | Зачем нужны языки программирования? Какие типы бывают? |
| Algorithms & Data Structures | Алгоритмы и структуры данных |
| OOP | Объектно ориентированное программирование |
| Concurrency & Parallelism | Конкурентность и параллелизм |
| Main topics | Основные темы |
|---|---|
| Which language should you pick as a backend engineer? | Какой язык выбрать backend-инженеру? |
| Trade-offs between compiled vs interpreted, typed vs dynamic | Компромиссы: компилируемые vs интерпретируемые, типизированные vs динамические |
| Language-specific backend ecosystem (frameworks, package managers, tooling) | Экосистема бэкенд-разработки для конкретного языка (фреймворки, пакетные менеджеры, тулинг) |
| Main topics | Основные темы |
|---|---|
| Processes, threads, memory management | Процессы, потоки, управление памятью |
| File systems, I/O, syscalls | Файловые системы, I/O, системные вызовы |
| Linux fundamentals for backend engineers | Основы Linux для backend-инженеров |
| Shell scripting | Shell-скриптинг |
| Main topics | Основные темы |
|---|---|
| Git fundamentals: commits, branches, merge, rebase | Основы Git: коммиты, ветки, merge, rebase |
| Git workflows (trunk-based, GitFlow, GitHub Flow) | Git-воркфлоу (trunk-based, GitFlow, GitHub Flow) |
| Resolving conflicts and undoing mistakes | Разрешение конфликтов и отмена ошибок |
| Main topics | Основные темы |
|---|---|
| What is client-server architecture and HTTP? | Что такое клиент-серверная архитектура и HTTP? |
| What is TCP/IP? | Что такое стек TCP/IP? |
| What is DNS? | Что такое DNS? |
| How authorization & authentication works? What is JWT? | Как работает авторизация и аутентификация? Что такое JWT? |
| Proxy & Reverse Proxy | Прокси и обратный прокси |
| Web servers. Nginx. | Веб-сервер. Nginx |
| REST API Design Principles | Принципы проектирования REST API |
| Main topics | Основные темы |
|---|---|
| REST API design principles and maturity model | Принципы проектирования REST и модель зрелости |
| GraphQL: when to use, trade-offs | GraphQL: когда использовать, компромиссы |
| gRPC and Protocol Buffers | gRPC и Protocol Buffers |
| API versioning strategies | Стратегии версионирования API |
| OpenAPI/Swagger for documentation | OpenAPI/Swagger для документации |
| Idempotency and error handling | Идемпотентность и обработка ошибок |
| Main topics | Основные темы |
|---|---|
| What are database and DBMS? | Что такое база данных и СУБД? |
| What is a relational database? What is SQL? | Что такое реляционная БД и SQL? |
| What are indexes & transactions? | Что такое индексы и транзакции? |
| What are ACID properties? Which Isolation levels are out there? | Что такое свойства ACID? Какие есть уровни изоляции транзакций? |
| What are NoSQL Databases? What are the differences between NoSQL & SQL? | Что такое NoSQL? Какие различия между NoSQL и SQL? |
| What is databases normalization? | Что такое нормализация БД? |
| What is Caching? What is Redis? | Что такое кэширование? Что такое Redis? |
| What are replication and sharding? | Что такое репликация и шардирование? |
| How to read query plans (EXPLAIN/ANALYZE)? | Как читать план запроса (EXPLAIN/ANALYZE)? |
| What is Change Data Capture (CDC)? | Что такое Change Data Capture (CDC)? |
| What are vector databases and when do you need them? | Что такое векторные БД и когда они нужны? |
| Main topics | Основные темы |
|---|---|
| What is HTTPS and how does it work? | Что такое HTTPS и как он работает? |
| What are main types of attacks and vulnurabilities in web applications? | Какие существуют основные типы атак и уязвимостей в веб-приложениях? |
| What is SQL Injection? How to prevent it? | Что такое SQL инъекция? Как ее предотвратить? |
| What is XSS Attack? How to prevent it? | Что такое XSS атака? Как ее предотвратить? |
| How to store passwords/secrets in web app? | Как хранить пароли/секреты в веб приложении? |
| How do OAuth2 and OpenID Connect work? | Как работают OAuth2 и OpenID Connect? |
| What is CSRF and how to prevent it? | Что такое CSRF и как его предотвратить? |
| How to manage secrets (Vault, KMS, env vars)? | Как управлять секретами (Vault, KMS, env vars)? |
| Rate limiting as a defense against abuse and DoS | Rate limiting как защита от злоупотреблений и DoS |
| Main topics | Основные темы |
|---|---|
| The test pyramid: unit, integration, e2e | Пирамида тестирования: unit, integration, e2e |
| Test-Driven Development (TDD) | Разработка через тестирование (TDD) |
| Mocks, stubs, fakes — when to use which | Mocks, stubs, fakes — когда использовать что |
| Contract testing for microservices | Контрактное тестирование для микросервисов |
| Property-based testing | Property-based тестирование |
| Load and performance testing | Нагрузочное и performance тестирование |
| Main topics | Основные темы |
|---|---|
| SOLID principles | Принципы SOLID |
| GoF patterns: creational, structural, behavioral | GoF паттерны: порождающие, структурные, поведенческие |
| Enterprise application patterns (PoEAA) | Паттерны корпоративных приложений (PoEAA) |
| Anti-patterns and when NOT to apply a pattern | Антипаттерны и когда НЕ нужно применять паттерн |
| Main topics | Основные темы |
|---|---|
| What are distributed systems? | Что такое распределеные системы? |
| What is scaling? Horizontal vs Vertical scaling? How to scale web apps and databases? | Что такое масштабирование? Горизонтальное vs Вертикальное масштабирование? Как масштабировать веб-приложения и базы данных? |
| What is CAP Theorem? What are CP and AP systems? | Что такое CAP теорема? Как выглядят CP и AP системы? |
| What are Microservices? What patterns do they use? How to design microservices architecture? | Что такое микросервисы? Какие паттерны они используют? Как их проектировать? |
| What is Event-Driven Architecture? | Что такое Event-Driven архитектура? |
| What is Clean Architecture? How to implement it using your programming language / framework? | Что такое Чистая Архитектура? Как имплеменировать ее в вашем ЯП / фреймворке? |
| How to deploy web applications? What is VPS? What is SSH? | Как развертывать веб-приложения? Что такое VPS? Что такое SSH? |
| What is Docker? Why do we need it? | Что такое Docker? Зачем он нужен? |
| What are cloud providers? How do you use them? | Что такое клауд провайдеры и зачем они нужны? |
| How to automize testing & deployment? What is CI/CD? How to implement it? | Как автоматизировать тестирование и деплоймент? Что такое CI/CD и как его настроить? |
| What is SSL Certificate? How to set it up for your web app? | Что такое SSL сертификат? Как его настроить? |
| What is Kubernetes? When should you use it? | Что такое и зачем нужен Kubernetes? |
| What is DDD? | Что такое Domain Driven Design? |
| What are Message Queues? What is Kafka? | Что такое очереди сообщений? Что такое Kafka? |
| What is Observability? What are logs, metrics and traces? | Что такое наблюдаемость? Что такое логи, метрики и трейсы? |
| What are Saga, Outbox, CQRS, Event Sourcing patterns? | Что такое паттерны Saga, Outbox, CQRS, Event Sourcing? |
| What is idempotency? Why does it matter in distributed systems? | Что такое идемпотентность? Почему она важна в распределённых системах? |
| What are circuit breakers, retries, timeouts, bulkheads? | Что такое circuit breaker, retry, timeout, bulkhead? |
| Main topics | Основные темы |
|---|---|
| What is DevOps? What does a DevOps culture look like? | Что такое DevOps? Как выглядит DevOps-культура? |
| Infrastructure as Code (IaC): Terraform, Pulumi, Ansible | Инфраструктура как код (IaC): Terraform, Pulumi, Ansible |
| CI/CD pipelines: GitHub Actions, GitLab CI, ArgoCD | CI/CD пайплайны: GitHub Actions, GitLab CI, ArgoCD |
| GitOps principles | Принципы GitOps |
| Cloud providers: AWS, GCP, Azure fundamentals | Клауд-провайдеры: основы AWS, GCP, Azure |
| Main topics | Основные темы |
|---|---|
| How to approach a system design interview | Как подходить к system design интервью |
| Designing for scale: back-of-envelope estimates | Проектирование под нагрузку: оценки «на салфетке» |
| Common building blocks: LB, cache, queue, DB, CDN | Типовые строительные блоки: LB, кэш, очередь, БД, CDN |
| Trade-offs and capacity planning | Компромиссы и планирование ёмкости |
| 📚 | 📚 |
|---|---|
| Grokking Algorithms | Грокаем Алгоритмы |
| "Clean Code" by Robert Martin | "Чистый Код" Роберт Мартин |
| "Clean Architecture" by Robert Martin | "Чистая Архитектура" Роберт Мартин |
| "Code Complete" by Steve McConnell | "Совершенный Код" Стив Макконелл |
| "Building Microservices" by Sam Newman | "Создание Микросервисов" Сэм Ньюман |
| "Microservices Patterns" by Chris Richardson | "Микросервисы. Паттерны разработки и рефакторинга" Крис Ричардсон |
| "Designing Data-Intensive Applications" by Martin Kleppmann | "Высоконагруженные приложения" Мартин Клеппманн |
| "System Design Interview" Vol I & II by Alex Xu | — |
| "Database Internals" by Alex Petrov | — |
| "Release It!" by Michael Nygard | — |
| "The Pragmatic Programmer" by Hunt & Thomas | "Программист-прагматик" |
| "Understanding Distributed Systems" by Roberto Vitillo | — |
| "Fundamentals of Software Architecture" by Richards & Ford | — |
45 followers · starred Feb 2025
27 followers · starred Aug 2023
129 followers · starred Mar 2024
19 followers · starred Nov 2023
🚀 A curated and opinionated list of resources (English & Russian) for Backend developers | Структурированный список ресурсов для изучения Backend разработки
3,485
34 commits
updated Apr 17, 2026
EN A curated and opinionated list of resources (English & Russian) for Backend developers that will help you organize & structure your learning path and knowledges. Inspired by Awesome CTO.
RU Структурированный список ресурсов для изучения Backend разработки, который поможет систематизировать свои знания и составить план обучения. Основан на личном опыте и самостоятельном изучении данной области. Вдохновлено Awesome CTO.
| Main topics | Основные темы |
|---|---|
| What is a computer and how it works? | Что такое компьютер и как он работает? |
| Why do we need programming languages? What types of programming languages are out there? | Зачем нужны языки программирования? Какие типы бывают? |
| Algorithms & Data Structures | Алгоритмы и структуры данных |
| OOP | Объектно ориентированное программирование |
| Concurrency & Parallelism | Конкурентность и параллелизм |
| Main topics | Основные темы |
|---|---|
| Which language should you pick as a backend engineer? | Какой язык выбрать backend-инженеру? |
| Trade-offs between compiled vs interpreted, typed vs dynamic | Компромиссы: компилируемые vs интерпретируемые, типизированные vs динамические |
| Language-specific backend ecosystem (frameworks, package managers, tooling) | Экосистема бэкенд-разработки для конкретного языка (фреймворки, пакетные менеджеры, тулинг) |
| Main topics | Основные темы |
|---|---|
| Processes, threads, memory management | Процессы, потоки, управление памятью |
| File systems, I/O, syscalls | Файловые системы, I/O, системные вызовы |
| Linux fundamentals for backend engineers | Основы Linux для backend-инженеров |
| Shell scripting | Shell-скриптинг |
| Main topics | Основные темы |
|---|---|
| Git fundamentals: commits, branches, merge, rebase | Основы Git: коммиты, ветки, merge, rebase |
| Git workflows (trunk-based, GitFlow, GitHub Flow) | Git-воркфлоу (trunk-based, GitFlow, GitHub Flow) |
| Resolving conflicts and undoing mistakes | Разрешение конфликтов и отмена ошибок |
| Main topics | Основные темы |
|---|---|
| What is client-server architecture and HTTP? | Что такое клиент-серверная архитектура и HTTP? |
| What is TCP/IP? | Что такое стек TCP/IP? |
| What is DNS? | Что такое DNS? |
| How authorization & authentication works? What is JWT? | Как работает авторизация и аутентификация? Что такое JWT? |
| Proxy & Reverse Proxy | Прокси и обратный прокси |
| Web servers. Nginx. | Веб-сервер. Nginx |
| REST API Design Principles | Принципы проектирования REST API |
| Main topics | Основные темы |
|---|---|
| REST API design principles and maturity model | Принципы проектирования REST и модель зрелости |
| GraphQL: when to use, trade-offs | GraphQL: когда использовать, компромиссы |
| gRPC and Protocol Buffers | gRPC и Protocol Buffers |
| API versioning strategies | Стратегии версионирования API |
| OpenAPI/Swagger for documentation | OpenAPI/Swagger для документации |
| Idempotency and error handling | Идемпотентность и обработка ошибок |
| Main topics | Основные темы |
|---|---|
| What are database and DBMS? | Что такое база данных и СУБД? |
| What is a relational database? What is SQL? | Что такое реляционная БД и SQL? |
| What are indexes & transactions? | Что такое индексы и транзакции? |
| What are ACID properties? Which Isolation levels are out there? | Что такое свойства ACID? Какие есть уровни изоляции транзакций? |
| What are NoSQL Databases? What are the differences between NoSQL & SQL? | Что такое NoSQL? Какие различия между NoSQL и SQL? |
| What is databases normalization? | Что такое нормализация БД? |
| What is Caching? What is Redis? | Что такое кэширование? Что такое Redis? |
| What are replication and sharding? | Что такое репликация и шардирование? |
| How to read query plans (EXPLAIN/ANALYZE)? | Как читать план запроса (EXPLAIN/ANALYZE)? |
| What is Change Data Capture (CDC)? | Что такое Change Data Capture (CDC)? |
| What are vector databases and when do you need them? | Что такое векторные БД и когда они нужны? |
| Main topics | Основные темы |
|---|---|
| What is HTTPS and how does it work? | Что такое HTTPS и как он работает? |
| What are main types of attacks and vulnurabilities in web applications? | Какие существуют основные типы атак и уязвимостей в веб-приложениях? |
| What is SQL Injection? How to prevent it? | Что такое SQL инъекция? Как ее предотвратить? |
| What is XSS Attack? How to prevent it? | Что такое XSS атака? Как ее предотвратить? |
| How to store passwords/secrets in web app? | Как хранить пароли/секреты в веб приложении? |
| How do OAuth2 and OpenID Connect work? | Как работают OAuth2 и OpenID Connect? |
| What is CSRF and how to prevent it? | Что такое CSRF и как его предотвратить? |
| How to manage secrets (Vault, KMS, env vars)? | Как управлять секретами (Vault, KMS, env vars)? |
| Rate limiting as a defense against abuse and DoS | Rate limiting как защита от злоупотреблений и DoS |
| Main topics | Основные темы |
|---|---|
| The test pyramid: unit, integration, e2e | Пирамида тестирования: unit, integration, e2e |
| Test-Driven Development (TDD) | Разработка через тестирование (TDD) |
| Mocks, stubs, fakes — when to use which | Mocks, stubs, fakes — когда использовать что |
| Contract testing for microservices | Контрактное тестирование для микросервисов |
| Property-based testing | Property-based тестирование |
| Load and performance testing | Нагрузочное и performance тестирование |
| Main topics | Основные темы |
|---|---|
| SOLID principles | Принципы SOLID |
| GoF patterns: creational, structural, behavioral | GoF паттерны: порождающие, структурные, поведенческие |
| Enterprise application patterns (PoEAA) | Паттерны корпоративных приложений (PoEAA) |
| Anti-patterns and when NOT to apply a pattern | Антипаттерны и когда НЕ нужно применять паттерн |
| Main topics | Основные темы |
|---|---|
| What are distributed systems? | Что такое распределеные системы? |
| What is scaling? Horizontal vs Vertical scaling? How to scale web apps and databases? | Что такое масштабирование? Горизонтальное vs Вертикальное масштабирование? Как масштабировать веб-приложения и базы данных? |
| What is CAP Theorem? What are CP and AP systems? | Что такое CAP теорема? Как выглядят CP и AP системы? |
| What are Microservices? What patterns do they use? How to design microservices architecture? | Что такое микросервисы? Какие паттерны они используют? Как их проектировать? |
| What is Event-Driven Architecture? | Что такое Event-Driven архитектура? |
| What is Clean Architecture? How to implement it using your programming language / framework? | Что такое Чистая Архитектура? Как имплеменировать ее в вашем ЯП / фреймворке? |
| How to deploy web applications? What is VPS? What is SSH? | Как развертывать веб-приложения? Что такое VPS? Что такое SSH? |
| What is Docker? Why do we need it? | Что такое Docker? Зачем он нужен? |
| What are cloud providers? How do you use them? | Что такое клауд провайдеры и зачем они нужны? |
| How to automize testing & deployment? What is CI/CD? How to implement it? | Как автоматизировать тестирование и деплоймент? Что такое CI/CD и как его настроить? |
| What is SSL Certificate? How to set it up for your web app? | Что такое SSL сертификат? Как его настроить? |
| What is Kubernetes? When should you use it? | Что такое и зачем нужен Kubernetes? |
| What is DDD? | Что такое Domain Driven Design? |
| What are Message Queues? What is Kafka? | Что такое очереди сообщений? Что такое Kafka? |
| What is Observability? What are logs, metrics and traces? | Что такое наблюдаемость? Что такое логи, метрики и трейсы? |
| What are Saga, Outbox, CQRS, Event Sourcing patterns? | Что такое паттерны Saga, Outbox, CQRS, Event Sourcing? |
| What is idempotency? Why does it matter in distributed systems? | Что такое идемпотентность? Почему она важна в распределённых системах? |
| What are circuit breakers, retries, timeouts, bulkheads? | Что такое circuit breaker, retry, timeout, bulkhead? |
| Main topics | Основные темы |
|---|---|
| What is DevOps? What does a DevOps culture look like? | Что такое DevOps? Как выглядит DevOps-культура? |
| Infrastructure as Code (IaC): Terraform, Pulumi, Ansible | Инфраструктура как код (IaC): Terraform, Pulumi, Ansible |
| CI/CD pipelines: GitHub Actions, GitLab CI, ArgoCD | CI/CD пайплайны: GitHub Actions, GitLab CI, ArgoCD |
| GitOps principles | Принципы GitOps |
| Cloud providers: AWS, GCP, Azure fundamentals | Клауд-провайдеры: основы AWS, GCP, Azure |
| Main topics | Основные темы |
|---|---|
| How to approach a system design interview | Как подходить к system design интервью |
| Designing for scale: back-of-envelope estimates | Проектирование под нагрузку: оценки «на салфетке» |
| Common building blocks: LB, cache, queue, DB, CDN | Типовые строительные блоки: LB, кэш, очередь, БД, CDN |
| Trade-offs and capacity planning | Компромиссы и планирование ёмкости |
| 📚 | 📚 |
|---|---|
| Grokking Algorithms | Грокаем Алгоритмы |
| "Clean Code" by Robert Martin | "Чистый Код" Роберт Мартин |
| "Clean Architecture" by Robert Martin | "Чистая Архитектура" Роберт Мартин |
| "Code Complete" by Steve McConnell | "Совершенный Код" Стив Макконелл |
| "Building Microservices" by Sam Newman | "Создание Микросервисов" Сэм Ньюман |
| "Microservices Patterns" by Chris Richardson | "Микросервисы. Паттерны разработки и рефакторинга" Крис Ричардсон |
| "Designing Data-Intensive Applications" by Martin Kleppmann | "Высоконагруженные приложения" Мартин Клеппманн |
| "System Design Interview" Vol I & II by Alex Xu | — |
| "Database Internals" by Alex Petrov | — |
| "Release It!" by Michael Nygard | — |
| "The Pragmatic Programmer" by Hunt & Thomas | "Программист-прагматик" |
| "Understanding Distributed Systems" by Roberto Vitillo | — |
| "Fundamentals of Software Architecture" by Richards & Ford | — |
45 followers · starred Feb 2025
27 followers · starred Aug 2023
129 followers · starred Mar 2024
19 followers · starred Nov 2023