Are you looking to navigate the ever-evolving world of Backend development? Whether you're a beginner or an experienced developer, understanding the key technologies, tools, and concepts that are essential for success is crucial. This comprehensive roadmap provides you with a clear direction for your learning journey and covers the core aspects of Backend development.
This roadmap assumes that You have already studied the following topics:
- At least one programming language, such as JavaScript, C++, or Java, and a basic understanding of the concepts of programming, such as variables, loops, and functions.
- Fundamental of Algorithms and Data Structures, such as Big O Notation, Arrays, Linked Lists, Stacks, Queues, Sorting, and Searching.
- Understanding of Object-Oriented Programming (OOP) concepts, such as classes, inheritance, and polymorphism.
Here are some resources to learn these topics:
- FreeCodeCamp - Introduction to Programming and Computer Science | English
- FreeCodeCamp - C++ Tutorial for Beginners | English
- Elzero Web School - Fundamentals Of Programming With C++ | Arabic
- Abdelrahman Gamal - CS50 course | Arabic
- FreeCodeCamp - Algorithms and Data Structures | English
- Adel Nasim - Data Structures Full Course | Arabic
- Omar Ahmed - OOP - ุจุงูุนุฑุจู | Arabic
๐ Entry - Computer Science Essentials & Basics
๐ Beginner General
๐ Beginner & Intermediate Web Technologies
๐ Intermediate & Advanced General
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!
๐น Introduction to Computer Science and Programming Using Python
OR
๐น 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
Data Structure and Algorithms
๐น Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer
OR
๐น Data Structures Full Course In Arabic
Introduction to Databases
๐น SQL Tutorial - Full Database Course for Beginners
๐น MySQL Tutorial for Beginners [Mosh]
๐น Database Design Course - Learn how to design and plan a database for beginners
OR
๐น ู ูุฑุฑ ุฃุณุงุณูุงุช ููุงุนุฏ ุงูุจูุงูุงุช - DB 1
๐น ู ูุฏู ุฉ ุงูู ููุงุนุฏ ุงูุจูุงูุงุช - ู ูุงุฑุงุช ุชู
๐ First 6 Chapters of Fundamentals of Database Systems Seventh Edition
Introduction to Operating Systems
- CS 162, 2019, UC Berkeley - This is very comprehensive course, it's okay if you study it along with the other materials. ๐น Videos
๐ Resources
๐ Introduction to Operating System Design and Implementation - Entry Level
OR
๐ UML & Modeling - Requirements Analysis
๐ Introduction To Web Development
๐ Frontend Basics
you should never start coding without first thinking and modeling what you will actually be coding.
Software Requirements Analysis & UML
๐ Software Requirements Analysis with Example
๐น UML Diagrams Full Course (Unified Modeling Language)
๐ UML Distilled
How Internet Works?
Basics of API and REST architectural style
๐น What is an API
Basics of Web Development
๐น Harvard - Web Basics
Backend Group Video
HTML & CSS Course With Two Projects
Javascript & Ajax & JSON
๐น JavaScript Intro - English
๐น AJAX Crash Course - English
๐น JSON Crash Course - English
OR
- Choose only one of the following options.
- Consider the job market requirements when making your choice.
- While Laravel and PHP are recommended for those in Egypt, it's still essential to search employment websites to determine the current demand for tech stacks before making a decision.
- Keep in mind that stack requirements may vary in different regions
๐ Laravel & PHP
๐ Django & Python
๐ ASP.net & C#
PHP - Baiscs
๐น Getting to know the basics - PHP 8 - Arabic
OR
๐น Getting to know the basics - PHP- FreeCodeCamp - English
PHP - MVC
๐น Getting to know the basics - English
OR
๐น PHP MVC project in arabic
AND
Note that It is a very important Course, you should see it even you watch either of the previous ones.
Laravel Basics
Laravel Projects
After you finish, Watch & Apply in section number 14 in this playlist
- ๐นย laravel 6 from scratch
After you implement Tweety app (in the laravel 6 series) you will follow these tutorials for more projects
After you finish, It's time to finish things on your own with two projects:
Use thisย documentย as reference to system requirements and build your own system.
Use aย design templateย and turn it to a complete website:
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ย :
Admin Panels
Note that admin dashboard is required - you may useย Filamentย or you can use any other dashboard you like.
๐นย ย Laravel Filament Full Tutorial
๐นย ย Laravel Filament Roles and Permissions Full Tutorial
Laravel API
๐นย ย Laravel API - 1
๐นย ย Laravel API - 2
๐นย Laravel API & Sanctum Authentication
๐นย Laravel API Crash Course
now you must have basic understanding to the framework that could get you to the next level
Read about Laravel best practices & Tips
Laravel Advanced Concepts
Mastring ORM: Paid
Laravel Testing
๐น Laravel Testing - LaravelDaily
๐น Laravel Testing - Laracasts
OR
๐น Laravel Testing
after you finish those try this framework for easier testing:
๐น Learn PEST
Laravel package development
Useful laravel packages
๐น Laravel packages
Python - OOP
Django - Basics
Django - Projects
๐น Build a Social Media App with Django
๐น How to Build an E-commerce Website with Django and Python
Django - Testing
Django - ORM
C# - OOP
Asp.net - Basics
๐น C# Full Course - Learn C# 10 and .NET 6
๐น Introduction to ASP.NET Core MVC in C# plus LOTS of Tips - IAmTimCorey
ASP.net - Projects
๐น Create a C# Application from Start to Finish - IAmTimCorey
ASP.net - API
๐น Industry Level REST API using .NET 6 - Freecodecamp - English
Useful ASP.net Package
Best Practices
๐น Best Practices for Building Async APIs with ASP.NET Core
ASP.net Testing
๐น ASP.NET Core C# - Unit Testing, Mocking, Integration Testing
ASP.net Different topics
ASP.net Advanced topics
๐ Dive Into More Computer Science Essentials
๐ Write Great Software
๐ Integration and Deployment
More Data Structures and Algorithms
More Database Systems
๐น Intro To Database Systems - CMU
๐น MySQL for Developers In Depth - English
๐น Advanced Database Systems - CMU
๐ Designing Data-Intensive Applications (book) - Graduate level)
๐น Designing data intensive applications chapter summary playlist - English
๐น Designing data intensive applications chapter summary playlist - Arabic
Operating Systems
Distributed Systems
๐น Distributed Systems University of Cambridge - Martin Kleppmann
๐ Lecture Notes
Web Application Security
Object-Oriented Analysis and Design
Design Patterns & SOLID Principle
๐ Head First Design Pattern 2nd Edition
๐น Mosh Design Pattern
๐น Arabic Creational Design Pattern
๐น Arabic Structural Design Pattern
๐น Arabic PHP Design Pattern
๐น Head First Design Pattern As an English Playlist
๐๏ธ Refactoring GURU Design Pattern
Cloud
๐น AWS - Free Code Camp
Interview Questions
๐น Software Engineering Full Mock Interview - freeCodeCamp
๐๏ธ Backend Interview Questions - Fullstack Cafe
๐๏ธ Laravel Interview Questions - Guru99
Resume & CV
๐ Resume & Cover Letter Tips and Templates
๐ Document on CVs and Cover Letters
๐๏ธ A GOOD Resume - Career CUP