Backend Development

Backend Development aka as server-side development details everything that a users doesn't see. It contains behind-the-scenes activities that occur when performing any action on a website. It is often considered the grittier part of software or web development and you can begin your journey towards becoming a Backend Developer with this roadmap.

To make your journey easier, pick a path

All about the internet

Mark as done

Done

All about the internet

Begin your backend programming journey by learning all about the internet. Use the resources below but extend your scope past it.

How Does the Internet Work?

A simple Introduction: How the internet works

What is HTTP?

Mark as done

Done

What is HTTP?

The Hypertext Transfer Protocol (HTTP) is an application layer protocol designed to transfer information between networked devices. Learn more about this from the resources below.

An Overview of HTTP

What is HTTP?

What is HTTPS?

Mark as done

Done

What is HTTPS?

Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol. It is used for secure communication over a computer network. Learn more.

What is HTTPS?

HTTPS Explained

HTTPS Tutorial

DNS and how it works?

Mark as done

Done

DNS and how it works?

DNS (Domain Name System) is basically the phonebook of the Internet. DNS turns domain names into IP addresses, which browsers use to load internet pages. Learn more about DNS with the resources below.

What is DNS and How Does It Work?

How a DNS Server Works

Understanding How DNS Works

Web Hosting

Mark as done

Done

Web Hosting

Learn about Web Hosting. See the resources below.

Web Hosting Explained

What is Hosting? optional

What is Web Hosting? optional

How browsers work?

Mark as done

Done

How browsers work?

Curious about how browsers work? You can learn more about this from the resources below.

How Browsers Work

Web Browsers Demystified

Populating the Page: How Web Browsers Work

Terminal usage:

Mark as done

Done

Terminal usage:

Learn how to use command line basics and more using the resources below.

Beginner's Guide to Using Terminal

Basic Terminal Usage Cheatsheet

What is Terminal in Linux OS optional

Memory management

Mark as done

Done

Memory management

Learn about Memory Management in programming with the resources below.

Memory Management Tutorial

Memory Management in Operating Systems

Memory Management in OS Explained

Basic terminal commands

Mark as done

Done

Basic terminal commands

Learn about basic terminal commands and their uses. See the resources below.

Basic Linux Commands You Should Know

How to use Command Line

Terminal Commands to Note

I/O management

Mark as done

Done

I/O management

I/O Management which stands for "Input/Output Management". It is a major component of operating system design and operations and you can learn more about this from the resources below

What is Input and Output Management in Operating Systems

I/O Management

Inter-process Communication

Mark as done

Done

Inter-process Communication

Inter-process communication refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Learn more about this from the resources below.

Inter Process Communication Tutorial

Inter Process Communication Explained

Threads and concurrency

Mark as done

Done

Threads and concurrency

A thread is an active entity which executes a part of a process. Multiple threads execute simultaneously with each other. Concurrency is the execution of multiple instruction sequences at the same time. Learn more about these concepts from the resources below.

Threads and Concurrency

Introduction to Threads

Concurrency in Operating Systems

Processes, Threads and Concurrency in Operating Systems optional

Python

Mark as done

Done

Python

Python is a computer programming language often used to build websites and software, automate tasks, and conduct data analysis. Its design philosophy emphasizes code readability with the use of significant indentation. Learn more about this from the resources below and also check out the Java standalone roadmap as well.

Crash Course on Python

Python Crash Course for Beginners

The Complete Vanilla Python Course

A Crash Course on Python by Google

Python Roadmap

Java

Mark as done

Done

Java

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. Learn more about this from the resources below and also check out the Java standalone roadmap as well.

Java Tutorial

Java Tutorial for Beginners

Java -A Simple Tutorial optional

Learn Java in 5 Minutes optional

Java Roadmap

C#

Mark as done

Done

C#

C# is an open source, simple, modern, flexible, and versatile Object-Oriented Programming language. Learn more about this from the resources below.

C# Tutorial

Learn C#

C# Full Course

C# Tutorial for Beginners optional

PHP

Mark as done

Done

PHP

PHP is an open-source server-side scripting language used for web development. Learn more about this from the resources below.

Learn PHP

PHP Tutorial for Beginners

PHP Full Course

Ruby

Mark as done

Done

Ruby

Ruby is an open-source, object-oriented, general-purpose programming language which was designed with an emphasis on programming productivity and simplicity. Learn more about this from the resources below.

Ruby Programming Language Full Course

Ruby Crash Course

Ruby on Rails

The Complete Vanilla Ruby Course

Got feedback?