/Backend-Roadmap-2022

Roadmap For Backend Development in 2022

Backend Roadmap 2022


Roadmap of the backend group updated for 2022

Index:

  1. Computer Science Essentials & Basics
  2. UML & Modeling
  3. Necessary Development Tools
  4. Introduction To Web Development
  5. Dive Into Technology & Tools - PHP & Laravel
  6. Dive Into More Computer Science Essentials & Basics
  7. Write Great Software

1. Computer Science Essentials & Basics - Entry Level

Notes:

1. Don't study this section sequentially, study all topics altogether at the same time.

2. Before you start, you should know that you are going to learn a lot of things about computer science.

3. DON'T GO AND RUSH TO A TECHNOLOGY!

Introduction to Computer Science

There are two great courses, One provided by MIT, the second provided by Harvard

both are great!

  1. Introduction to Computer Science and Programming Using Python

OR

  1. CS50's Introduction to Computer Science

please note that you can audit the course and take it for free!

please note that you can use subtitle if you find it hard to understand only in english

_If you want CS 50 Translated

  1. مترجم بالعربي CS50 2020

Data Structure and Algorithms

Videos

  1. Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer

OR

  1. Data Structures Full Course In Arabic

Books

  1. Grokking Algorithms - Entry Level

  2. Algorithms Unplugged - More Advanced

Introduction to Databases

Videos

  1. SQL Tutorial - Full Database Course for Beginners
  2. Database Design Course - Learn how to design and plan a database for beginners

OR

  1. مقرر أساسيات قواعد البيانات - DB 1

2.المقرر العملى

Books

  1. First 6 Chapters of Fundamentals of Database Systems Seventh Edition

Introduction to Operating Systems

Videos

  1. CS 162, 2019, UC Berkeley - This is very comprehensive course, it's okay if you study it along with the other materials.

Books

  1. Introduction to Operating System Design and Implementation - Entry Level

OR

  1. OPERATING SYSTEMS THREE EASY PIECES - Entry Level

How Internet Works?

  1. How the Internet Works - Entry Level

2. UML & Modeling - Requirements Analysis - Beginner Level:

Notes:

you should never start coding without first thinking and modeling what you will actually be coding.

Articles

  1. Software Requirements Analysis with Example

Videos

  1. UML Diagrams Full Course (Unified Modeling Language)

Books

  1. UML Distilled

3. Development Tools & IDEs - Beginner Level:

Git & GitHub

  1. Git & GitHub - English, Freecodecamp

OR

  1. Git & GitHub - Arabic, Elzero

Editors


4. Introduction To Web Development - Beginner Level:

  • Client-Server Model
  • HTTP
  • Dynamic vs Static Sites
  • Intro to HTTP Methods
  • Inside the Web Application: MVC
  1. Eyad Hamza, CIS - Backend Group Video
  2. Eyad Hamza, CIS - Backend Group Slides 1
  3. Eyad Hamza, CIS - Backend Group Slides 2

HTML & CSS

  1. HTML - Arabic
  2. CSS - Arabic

OR

  1. HTML - English
  2. CSS - English

5. Backend Web Technologies PHP & Laravel - Beginner & Intermediate Level:

PHP - Baiscs

Videos

  1. Getting to know the basics - Arabic
  2. Getting to know the basics - English
  3. What is new in PHP 7
  4. What is new in PHP 7.1
  5. What's New in PHP 7.4
  6. What is new in PHP 8
  7. What is new in PHP 8.1

Instead of studying playlist 3 - 7 you can read this book: Paid

Books:
  1. Front Line PHP

PHP - OOP

Videos:
  1. OOP - Arabic
  2. OOP - English
  3. OOP - English
Books:
  1. programming php 4th edition - Oreilly

Laravel - Intermediate Level:

Beginner Level - The basics and beyond

Books
  1. laravel up and running 2nd edition
Videos
  1. laravel 8 from scratch

After you finish, Watch & Apply in section number 14 in this playlist

  1. laravel 6 from scratch

After you implement Tweety app (in the laravel 6 series) you will follow these tutorials where you will build an instagram clone.

  1. Build an instagram clone

After you finish, It's time to finish things on your own with two projects:

Project 1:

Use this document as reference to system requirements and build your own system.

Project 2:

Use a design template and turn it to a complete website:

note that admin dashboard is required - you may use Orchid or you can use any other dashboard you like.

Project 3:

Build a website to show your cv where you can add your works, services, portfolio, biography and all to be controlled using a dashboard you can use any of these templates :

now you must have basic understanding to the framework that could get you to the next level

Intermediate Level - Beyond the basics

now you need to be familiar with some advanced topics such as:

Master your editor:
Read about laravel best practices
- https://github.com/alexeymezenin/laravel-best-practices
testing laravel:
  1. Laravel Testing

OR

  1. Laravel Testing

after you finish those try this framework for easier testing:

PEST framework:
  1. Learn Pest
Mastring ORM: Paid
  1. Eloquent performance patterns
Building API
  1. Laravel API - 1

  2. Laravel API - 2

Laravel package development :
  1. Laravel Package Development
Deployment
  1. Deploy on digital oceans

  2. Deploy on shared hosting

Useful laravel packages
  1. Laravel packages

6. Dive Into More Computer Science Essentials - Intermediate & Advanced Level:

More Data Structures and Algorithms

  1. Data Structures and Algorithms - MIT

More Database Systems

  1. Intro To Database Systems - CMU
  2. Designing Data-Intensive Applications (book) - Graduate level)

More Operating Systems

  1. Operating Systems - Berkeley

7. Write Great Software - Intermediate & Advanced Level:

Object-Oriented Analysis and Design

  1. Head First Object-Oriented Analysis and Design

Design Patterns

  1. Head First Design Pattern 2nd Edition

Clean Code & Refactoring

  1. Clean Code
  2. Refactoring To Patterns
  3. Martin Fowler