Roadmap for Back-End Developers💕
Internet
- How does the internet work?
- What is HTTP?
- Browsers and how they work?
- DNS and how it works?
- What is Domain Name?
- What is hosting?
Basic Front-end Knowledge
- HTML
- CSS
- JavaScript
OS and General Knowledge
- Terminal usage
- How OSs work in general
- Process Mgt.
- Threads & concurrency
- Basic terminal commands
- Memory mgt.
- Interprocess comm.
- I/O mgt.
- POSIX basics
- 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.
- Java
- Python
- PHP
- C#
- Javascript
- Ruby
- Rust
- Go
Version Control System
- Basic usage of Git
-
Repo hosting services
I. GitHub
II. Gitlab
III. BitbucketRelational Databases
MySQL
PostgreSQL
MariaDB
MS SQL
Oracle
NoSQL Databases
- MongoDB
- RethinkDB
- CouchDB
- DynamoDB
More About Databases
- ORMs
- ACID
- Transactions
- N+1 Problem
- Data Replication
- Sharding Strategies
- CAP Theorem
- Database Normalisation
- Indexes and how they work
Learn About APIs
- REST
- JSON APIs
- HATOAS
- Open API Spec and Swagger
- Authentication
- GraphQL
Caching
- CDN
- Server-side I. Redis II. Memcached
- Client-side
Web Security Knowledge
- Hashing Algorithm
- MD5 and why not to use it
- SHA Family
- Scrypt
- Bcrypt
- HTTPS
- Content Security Policy
- CORS
- SSL/TLS
- OWASP Security Risk
Testing
- Integration Testing
- Unit Testing
- Functional Testing
CI/CD
- Jenkins
- GitLab
- CircleCI
- Bamboo
- TeamCity
- Travis CI
- Buddy
Design and Development Principles
- SOLID
- KISS
- YAGNI
- DRY
- GOF Design Patterns
- Domain-Driven Design
- Test-Driven Development
Architectural Patterns
- Monolithic
- Microservices
- SOA
- CQRS and Event Sourcing
- Serverless
Message Brokers
- RabbitMQ
- Kafka
Containerization
- Docker
- rkt
- LXC
Web Servers
- Nginx
- Apache
- Caddy
- MS IIS
Building For Scale
- Migration Strategies
- Horizontal vs Vertical Scaling
Top comments (10)
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.
roadmap.sh
There is a repo where Back-end Front-end and DevOps roadmap are shown with a graph
github.com/kamranahmedse/developer...
waaow
Could you please put some links as a helpful reference, thanks. ☺
if backend developer has to know all of these technologies, I doubt if any backend developer exists in this world :)
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 ).
🔥🔥🔥