loading...

Back-end Developers RoadMapā¤

harshaambati profile image Harsha Vardhan Updated on 惻2 min read

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

Posted on by:

harshaambati profile

Harsha Vardhan

@harshaambati

Computer Science Cyber security

Discussion

pic
Editor guide
 

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...

 

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

 

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

 

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

 
 
 

šŸ”„šŸ”„šŸ”„

 

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