Ayman KheirEldeen [Link]@gmail.
com Software Engineer
Full stack web developer road map
Table of Contents
Introduction: .................................................................................................................................... 2
Study System: ............................................................................................................................... 3
1 Basics:............................................................................................................................................ 4
1.1 ImportantNotes...................................................................................................................... 4
1.2 Description: ............................................................................................................................ 4
1.3 Content: ................................................................................................................................. 5
2 BackEnd ......................................................................................................................................... 7
2.1 ImportantNotes...................................................................................................................... 7
2.2 ReadingList. ............................................................................................................................ 7
2.3 Courslist.................................................................................................................................. 8
3 FronEnd ......................................................................................................................................... 9
3.1 ReadinList ............................................................................................................................... 9
3.2 CoursList ................................................................................................................................. 9
4 GeneralTopics .............................................................................................................................. 10
4.1 Content: ............................................................................................................................... 10
Ayman KheirEldeen [Link]@[Link] Software Engineer
Introduction:
This plan is designed to be studied in parallel and it is divided into 4 main parts you will have to
study them at the same time.
The first and the most important part is the basics this is the most critical part that most of the
developers ignore, and they regret ignoring it after a period.
The second part is the back end, and, in this part, you have a variety of technologies in this plan, I
recommended Dot Net because of the Egyptian market. There are also good options like NodeJS, PHP-
Laravel, Ruby-Rails … etc. we will go deep into Dot net but also, we will take an overview of the other
technologies as well as “know one thing about everything and know everything about one thing”.
The Third part is the Front end, in this part, you will know everything to know to become a good
front-end developer along with the backend, there are also a lot of front-end frameworks, and we will
focus on React and Angular because of the Egyptian market after learning them you can learn VueJS as
well.
Finally, there are general skills that are required for any developer, and you will have to have the
knowledge of them.
VIP: Always apply what you learn in a side project and after each month you have to build a full
project on your own.
VIP: this plan is still in progress and didn’t finish yet so keep tracking the URL I attached for the
plan pdf.
Ayman KheirEldeen [Link]@[Link] Software Engineer
Study System:
This plan is for anyone that managed to give all his time and focus to be a successful software
engineer, so you must be free to be able to focus on it and get the best results. You will need to
allocate at least 8 – 12 hours per day.
Each Part will have some books to read and some courses to take there will be a time for reading
and time for the courses.
Weekdays No. Of Hours Part To Study
Saturday, Monday, and Wednesday • In the Case of 8 hours per Front End
day:
o 3 hours for courses
o 2 hours for the
reading list.
• In the Case of 12 hours per
day:
o 6 hours for courses.
o 3 hours for reading.
Sunday, Tuesday, and Thursday • In the Case of 8 hours per Back End
day:
o 3 hours for courses
o 2 hours for the
reading list.
• In the Case of 12 hours per
day:
o 6 hours for courses.
o 3 hours for reading.
Every Day 3 hours Basics
Friday 3 Hours for each • Part 4
• Applying Front end
• Applying back end
• Basics
Ayman KheirEldeen [Link]@[Link] Software Engineer
1 Basics:
1.1 Important Notes
• If you found any recommended course boring for you go ahead and search for any good
one on the same topic but it must cover the same content as the recommended course.
• When you solve problems you will allocate 1 hour every day for the problems to solve
only 30 min max time to solve the problem if you didn’t solve it you must see the solution
and study it don’t waste the whole day solving the problem.
1.2 Description:
In this part, our goal is to deeply understand the programming basics, and to earn the problem-
solving skills, you must allocate at least 3 hours per day for this part 1 hour for problem-solving and 2 hours
for learning from the basics content.
You must learn any programming language to solve problems with it, I recommend using C++
because it’s a low-level programming language and you will learn a lot from it.
Ayman KheirEldeen [Link]@[Link] Software Engineer
1.3 Content:
What to Study Courses
A Programming Language for Problem • Start Learning C++
Solving o Mastering 4 critical SKILLS using
C++ 17
Problem Solving • After Finishing the first part you must start
solving problems for 1 hour every day.
• Solve from one of these websites:
1. URL Judge
2. Code Signal
3. Hacker rank
4. Code Wars
5. Code Forces
6. LeetCode
Data Structures • This Stage will be started immediately
after finishing C++ Course and you must
allocate 2 hours every day for it.
• Start Studying this course:
1. Mastering critical Skills in Data
Structures using C++.
Algorithms • Start this after finishing Data Structures
1. Mastering Critical Skills in
Algorithms using C++: Part 1
2. Mastering Critical Skills in
Algorithms using C++: Part 2
Advanced Problem Solving • Earn Advanced Problem-Solving Skills by
solving hard problems.
Ayman KheirEldeen [Link]@[Link] Software Engineer
• Mastering Critical Skills for Coding
Interviews C++: Part 1
Go Deep in Data Structures and • Read A book on Data Structures and
Algorithms Algorithms
1. Grokking algorithms.
2. Algorithms Unplugged
Coding Quality Skills • In This Stage You reached an advanced
level stage and you have to have the
knowledge for a critical skills for any
successful software engineer.
1. Clean Code for Robert C. Martin.
2. Headfirst object-Oriented
Programming.
3. Headfirst Design Patterns.
4. Domain Driven Design Tackling
Complexity in the heart of
software implementing Domain
Driven Design.
Software Engineering and • Agile Principles, Patterns, and Practices in
C#.
Ayman KheirEldeen [Link]@[Link] Software Engineer
2 Back End
2.1 Important Notes
• This part has a reading list you will study it in the reading time that we mentioned in the study
system.
2.2 Reading List.
Part Book To Read Related Path
C# Pro C# 10 with dot net 6.
Entity Framework. Entity Framework Core in Action
2nd edition.
Dot Net
[Link] Core 6. Pro [Link] Core 6.
Microsoft Identity Pro [Link] Core Identity.
Microservices Pro Microservices in dot net 6.
Ayman KheirEldeen [Link]@[Link] Software Engineer
2.3 Course list.
Part Courses Related Path
C# Mosh Hamadani Courses:
• C# Basics for Beginners:
Learn C# Fundamentals
by Coding.
• C# Intermediate:
Classes, Interfaces and
OOP.
• C# Advanced Topics:
Prepare for Technical
Interviews.
Data base فالجزء ده محتاج تعرف اسااساتاد داتا زتز
كوتس و ازاي تعرف تعمل تصمتم كوتس
:لداتا زتز زDot Net
.ITI كورس زاشمهندس رامي.1
2. MS SQL Server: Learn
MS SQL Server from
Scratch
LINQ LINQ Tutorial: Master the Key C#
Library
Entity Framework Core Complete guide to [Link] Core
MVC (.NET 6)
[Link] Core MVC Complete guide to [Link] Core
MVC (.NET 6)
[Link] Core API Ultimate [Link] Core Web API
Development Guide.
Ayman KheirEldeen [Link]@[Link] Software Engineer
3 Front End
This front-end list will be updated.
3.1 Reading List
Part Book to Read
JavaScript You Don't Know JS Yet
3.2 Course List
Part Course
Html & CSS Build Responsive Real-World Websites with HTML
and CSS
Java Script In this JS part you will need to read the JS
tutorial I mentioned a long with the
JavaScript part.
1. JavaScript - The Complete Guide 2022
(Beginner + Advanced)
2. Read this JavaScript Tutorial Along with
the above Course
CSS Frameworks 1. Boot Strap 5
a. Master Bootstrap 5 with 6
projects and Sass
customization
Advanced CSS & CSS predecessors 1. Advanced CSS and Sass: Flexbox,
Grid, Animations and More!
2. The Complete Sass & SCSS Course:
From Beginner to Advanced
JavaScript Frameworks -> React React - The Complete Guide (incl Hooks,
React Router, Redux)
JavaScript Frameworks -> Angular Angular - The Complete Guide (2022
Edition)
Ayman KheirEldeen [Link]@[Link] Software Engineer
4 General Topics
These general topics is like basics that are important to know for any software engineer.
4.1 Content:
Topic Courses – what you need to learn
Git & Gitlow.
Unit Testing Learn Unit Testing in C# after finishing C#.
Learn Unit Testing in JS after finishing JS.
Linux Learn Red hat Admin 1.
Learn Red hat Admin 2.
Operating Systems. Read about Computer Hardware Architecture.
Read about How memory works.
Read about How CPU works.
Read about Operating System Architecture.
Read about How Operating System manage
processes.
Learn about Threads.
APIs Read About these topics:
• HTTP Restful
• HTTP Interceptors
• Web Sockets
• gRPC
Networking You must Learn these topics:
• Network basics.
• Protocols.
• TCP
• OSI
• Network Sockets
• Web Sockets
Web Servers (Nginx)
Ayman KheirEldeen [Link]@[Link] Software Engineer
Web servers – Apache
Deployment and Cloud Learn AWS Basics.
Learn Docker.
Read about Virtualization.
Learn Docker Compose.
Learn Kubernetes.