Back-end Developers RoadMap❤
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. Bitbucket
Relational 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
Â