DEV Community

Harsha Vardhan
Harsha Vardhan

Posted on • Edited on

Back-end Developers RoadMap❤

Roadmap for Back-End Developers💕

Internet

  1. How does the internet work?
  2. What is HTTP?
  3. Browsers and how they work?
  4. DNS and how it works?
  5. What is Domain Name?
  6. What is hosting?

Basic Front-end Knowledge

  1. HTML
  2. CSS
  3. JavaScript

OS and General Knowledge

  1. Terminal usage
  2. How OSs work in general
  3. Process Mgt.
  4. Threads & concurrency
  5. Basic terminal commands
  6. Memory mgt.
  7. Interprocess comm.
  8. I/O mgt.
  9. POSIX basics
  10. Basic networking concepts

Learn a Language

Make sure to learn it fast and clear. Core details about its runtime e.g concurrency, memory model etc.

  1. Java
  2. Python
  3. PHP
  4. C#
  5. Javascript
  6. Ruby
  7. Rust
  8. Go

Version Control System

  1. Basic usage of Git
  2. Repo hosting services
    I. GitHub
    II. Gitlab
    III. Bitbucket

    Relational Databases

  3. MySQL

  4. PostgreSQL

  5. MariaDB

  6. MS SQL

  7. Oracle

NoSQL Databases

  1. MongoDB
  2. RethinkDB
  3. CouchDB
  4. DynamoDB

More About Databases

  1. ORMs
  2. ACID
  3. Transactions
  4. N+1 Problem
  5. Data Replication
  6. Sharding Strategies
  7. CAP Theorem
  8. Database Normalisation
  9. Indexes and how they work

Learn About APIs

  1. REST
  2. JSON APIs
  3. HATOAS
  4. Open API Spec and Swagger
  5. Authentication
  6. GraphQL

Caching

  1. CDN
  2. Server-side I. Redis II. Memcached
  3. Client-side

Web Security Knowledge

  1. Hashing Algorithm
    • MD5 and why not to use it
    • SHA Family
    • Scrypt
    • Bcrypt
  2. HTTPS
  3. Content Security Policy
  4. CORS
  5. SSL/TLS
  6. OWASP Security Risk

Testing

  1. Integration Testing
  2. Unit Testing
  3. Functional Testing

CI/CD

  1. Jenkins
  2. GitLab
  3. CircleCI
  4. Bamboo
  5. TeamCity
  6. Travis CI
  7. Buddy

Design and Development Principles

  1. SOLID
  2. KISS
  3. YAGNI
  4. DRY
  5. GOF Design Patterns
  6. Domain-Driven Design
  7. Test-Driven Development

Architectural Patterns

  1. Monolithic
  2. Microservices
  3. SOA
  4. CQRS and Event Sourcing
  5. Serverless

Message Brokers

  1. RabbitMQ
  2. Kafka

Containerization

  1. Docker
  2. rkt
  3. LXC

Web Servers

  1. Nginx
  2. Apache
  3. Caddy
  4. MS IIS

Building For Scale

  1. Migration Strategies
  2. Horizontal vs Vertical Scaling

alt text

Top comments (10)

Collapse
 
mdhesari profile image
Mohammad Fazel

The one who knows all of these concepts and has these knowledge is not any more considered to be a back dev it is called devops engineer I suppose...

Collapse
 
ozzythegiant profile image
Oziel Perez

Was about to say that. As soon as I saw sharding, database replication, docker, and cloud computing, it seemed more like devops. I would say that makes back end developers more versatile but those things should be optional

Collapse
 
ashiqcseworld profile image
Ashiqur Rahman

You got this from a twitter thread. You should give credit to the actual author.

Collapse
 
abinash393 profile image
Abinash Panda

roadmap.sh

Collapse
 
samueljoly profile image
samuel-joly • Edited

There is a repo where Back-end Front-end and DevOps roadmap are shown with a graph
github.com/kamranahmedse/developer...

Collapse
 
picwellwisher12pk profile image
Amir Hameed

waaow

Collapse
 
tominekan profile image
Tomi Adenekan

Could you please put some links as a helpful reference, thanks. ☺

Collapse
 
bawa_geek profile image
Lakh Bawa

if backend developer has to know all of these technologies, I doubt if any backend developer exists in this world :)

Collapse
 
ekanadily profile image
Esam A Kanadily

some of these things are beginner ,others are mid or advanced. some of those things are considered niche / specialization . in some of the categories you need to know at least one of them (e.g. programming languages) , in others you need to know all of them (e.g. Architectural Patterns ).

Collapse
 
andrewbaisden profile image
Andrew Baisden

🔥🔥🔥