Awesome Backend Engineer
En A Curated and Opinioned List of Resources (English & Russian) for Backend Developers that Will Help You Orginize & Structure Your Learning Path and Knowledges. Inspired by Awesome CTO.
Ru structured list of resources for studying Backend development, which will help systematize your knowledge and draw up a training plan. It is based on personal experience and independent study of this area. Inspired Awesome CTO.
On advertising, if you are interested in Beckind and want to pump the theoretical base, I advise you to get acquainted with the course "Architecture of modern web applications"
Contents
- Basics
- Computer Science
- Web Development & Networking
- Databases
- Security
- Architecture & Infrastracture
- Related Links
- Books
Basics
- Developer Roadmap
- How Become A Good Backend Engineer (Fundamentals)
- Learn to Become a Backend Developer (2018)
- Advice for Beginner Backend Engineers who Just Started Their New Jobs in Software Companies
Computer Science
| Main Topics | The main topics |
|---|
| What is computer and How It Works? | What is a computer and how it works? |
| Who Do Weed Programming Languages? What Types of Programming Languages are Out there? | Why are programming languages? What types are there? |
| Algorithms & Data Structures | Algorithms and data structures |
| Oop | Object -oriented programming |
| Concurrency & Parallelism | Competitiveness and parallelism |
Resouuses (resources)
- What is computer science
- Map of Computer Science
- CS50 by Harvard. En / ru
- Computer Science Crash Course
- How Do Computers Read Code?
- The Forgotten History of Oop
- Concurrency Is Not Parallelism
- Data structures for the smallest
- Algorithms and data structures. Preparatory course (spring 2016)
- OOP in pictures
- Multiprocessness, multi -plate, asynchronism in Python and not only. What is it and how it works?
- Competitiveness and parallelism. Just about the difficult
Web Development & Networking
| Main Topics | The main topics |
|---|
| What is Client-Server Architecture and Http? | What is a client-server architecture and http? |
| What is tcp/ip? | What is TCP/IP stack? |
| What is DNS? | What is DNS? |
| Howchorization & Authentication Works? What is JWT? | How does authorization and authentication work? What is JWT? |
| Proxy & Reverse proxy | Proxy and reverse proxy |
| Web Servers. Nginx. | Web server. Nginx |
| REST API Design Principles | REST API design principles |
Resouuses (resources)
- Web Development in 2021 - A Practical Guide
- What is tcp/ip?
- Hyper Text Transfer Protocol Crash Course - HTTP 1.0, 1.1, HTTP/2, HTTP/3
- Http Crash Course & Exploration
- TCP vs UDP Crash Course
- REST API Concepts and Examples
- Restful API
- 2 Hours Nginx Crash Course + Bonus Content
- JWT - Json Web Token Crash Course (Nodejs & Postgres)
- Proxy Vs Reverse Proxy Server Explained
- How http/2 works, Performance, Pros & Cons and More
- How DNS Works - Computerphile
- GRPC Crash Course - Modes, Examples, Pros & Cons and More
- Well. Web programming languages
- 6. Web technologies. HTTP protocol | Technostrum
- Web development for beginners How are web applications arranged? (Frontend/Backend)
- Web application architecture / from simple to highly loaded
- Authentication in web applications?
- Introduction to REST API-Restful web services
Databases
| Main Topics | The main topics |
|---|
| What Are Database and DBMS? | What is a database and DBMS? |
| What is a Relational Database? What is sql? | What is a relational database and SQL? |
| What are Indexes & Transactions? | What are indices and transactions? |
| What are Acid Properties? Which ISOLATION LEVELS Are Out There? | What are ACID properties? What are the levels of transaction insulation? |
| What are Nosql Databases? What Are the Differences BetWeen Nosql & SQL? | What is Nosql? What are the differences between NOSQL and SQL? |
| What is databases normalization? | What is the normalization of the database? |
Resouuses (resources)
- What is a database?
- What is Database & SQL?
- SQL Tutorial - Full Database Course for Beginners
- Database Design Course - Learn How to Design and Plan a Database for Beginners
- Database Indexing Explained (with postgresql)
- SQL vs nosql or Mysql vs mongodb
- Introduction to Nosql Databases
- Mongodb Basics
- Mongodb for sql pros
- Acid
- We disassemble the SQL using PostgreSQL - Select, Join, Group, Having, Coalesce, etc.
- Course "Using databases" (2019)
- Course "Database. Laboratory of Tarantool" (2018)
- Guide for beginners: ACID and database transactions
- How would I now explain to a young man why are there ACID requirements for databases?
- Basics of the Rules for Database Design
- Normalization of relations. Six normal forms
- Database design guide (1-3 part out of 15)
Security
| Main Topics | The main topics |
|---|
| What is https and how does it work? | What is https and how does it work? |
| What are Main Types of Attacks and Vulnurabilites in Web Applications? | What are the main types of attacks and vulnerabilities in web applications? |
| What is sql injection? How to Prevent it? | What is SQL injection? How to prevent it? |
| What is XSS Attack? How to Prevent it? | What is the XSS attack? How to prevent it? |
| How to Store Passwords/Secrets in Web App? | How to store passwords/secrets in the web application? |
Resouuses (resources)
- 9. Securing Web Applications
- How sages https work? What's a ca? What's A Self-Signed Certificate?
- Password Cracking - Computerphile
- Running an SQL Injection Attack - Computerphile
- How Not to Store Passwords! - Computerphile
- Cracking Websites with Cross Site Scripting - ComputerPhile
- Cross-Site Scripting (XSS) Explained
- Why Localstorage is Vulnerable to XSS (and cookies are too)
- Owasp Cheat Sheat
- How does https work?
- Safety of Internet applications (2020)
- How to store passwords and keys in the project code? All about the variables of the environment. An example with Django
- SQL Injecting. Defense and attack (part 1)
- What is XSS-vain and how not to miss it as a tester
Architecture & Infrastracture
| Main Topics | The main topics |
|---|
| What Are Distributed Systems? | What are distributed systems? |
| What is scaling? Horizontal VS Vertical Scaling? How to Scale Web Apps and Databases? | What is scaling? Horizontal VS Vertical scaling? How to scale web applications and databases? |
| What is cap Theorem? What are CP and AP Systems? | What is CAP theorem? What do CP and AP systems look like? |
| What are Microservices? What Patterns do they Use? How to Design Microservices Architecture? | What are microservice? What patterns do they use? How to design them? |
| What Ises Driven Architecture? | What is Event-Driven architecture? |
| What is Clean Architecture? How to Implement It using your proming Language / Framework? | What is pure architecture? How to implement it in your Jap / framework? |
| How to Deploy Web Applications? What is vps? What is ssh? | How to deploy a web application? What is VPS? What is SSH? |
| What is docker? Who do we need it? | What is Docker? Why is it needed? |
| What Are Cloud Providers? How Do You Use Them? | What is Claud providers and why are they needed? |
| How to Automize Testing & Deployment? What is ci/cd? How to Implement it? | How to automate testing and outfit? What is CI/CD and how to configure it? |
| What is SSL Certificate? How to set it up for your Web App? | What is SSL certificate? How to configure it? |
| What is kubernetes? When Shoup You Use it? | What is it and why do Kubernetes need? |
| What is DDD? | What is Domain Driven Design? |
Resources (resources)
- Approaching Distributed Systems
- Scalable Web Architectures Concepts & Design
- How to Scale SQL and Nosql Databases
- Scaling Your Web Application
- Cap Theorem in Distributed Systems
- How to Design a Web Application: Software Architecture 101
- Introduction to Microservices
- Microservice Architecture at Medium
- Mastering Chaos - A Netflix Guide to Microservices
- GOTO 2020 • WHEN To Use Microservices (and when Not to!) • Sam Newman & Martin Fowler
- Modern Banking in 1500 Microservices
- Managing Data in Microservices
- What is DDD - Eric Evans - DDD Europe 2019
- The Clean Architecture
- Learn Docker in 12 minute?
- Docker Tutorial for Beginners - A Full Devops Couurse on How to Run Applications in Containers
- What is a multitenancy architecture and will IS it beComing poplar?
- The Twelve-Factor App
- Highload blog
- High load architecture
- CAP theoma is a simple, accessible language
- Creation of program architecture or how to design a stool
- How to get and configure Letsencrypt SSL certificate for the site?
- Raise the Debian server for Python/Django - installation and tuning from scratch. How to configure the server?
- Deet Fullstack Applications [GOLANG+JS]. CI/CD, Digitalocean, Github Actions
- Pure architecture
- Fundamentals of Docker. Great practical release
- Artyom Antonenko "Domain Driven Design"
- We set up the authorization of SSH by key in Linux / UNIX
- We collect the scalable architecture of the web application. Horizontal and vertical scaling
Related Links
- Good Enunch Engineering to Start An Internet Company
- The Boring Technology Behind a One-Person Internet Company
- API AS A Product. HOW to SELL YOURK WHEN All You KNOW IS A BACK-END
- UML for Beginners
- The Other Side of Technical Skill: Domain Knowledge and Long-Term Vision
- Going from Developer to CTO
- What Truly Makes a Senior Developer
- What is behind a simple loading of web pages in a browser
Books
| |
|---|
| Grokking Algorithms | Grunt algorithms |
| "Clean Code" by Robert Martin | "Pure Code" Robert Martin |
| "Clean Architecture" by Robert Martin | "Pure Architecture" Robert Martin |
| "Professional Software Development" by Steve McConnel | "Professional development of the software" Steve Maccconle |
| "Building Microservices" by Sam Newman | "Creation of microservice" Sam Newman |
| "Microservices Patterns" by Chris Richardson | "Microservice. Patterns of Development and Refactoring" Chris Richardson |