Roadmap Backend
Este es un “paso a paso” de cosas que recomiendo aprender en orden para convertirte en todo un desarrollador backend.
Esta es mi opinion, un poco enfocada en mi experiencia como Desarrollador e Instructor de Backend.
Indice:
- Internet
- ¿Cómo funciona internet?
- ¿Qué es HTTP?
- Los navegadores ¿Cómo funcionan?
- DNS ¿Cómo funcionan?
- ¿Qué es un Dominio?
- ¿Qué es el Hosting?
- Conocimientos Básicos de FrontEnd
- HTML
- CSS
- JavaScript
- Sistemas Operativos(OS) y conocimientos generales
- Uso de la terminal
- ¿Cómo trabajan generalmente los OS?
- Manejo de Procesos
- Hilos y concurrencia
- Comandos basicos de terminal: grep, awk, sed, lsof, curl, wget, tail, head, less, find, ssh, kill
- Manejo de Memoria
- Comunicación entre procesos
- Manejo de dispositivos de entrada y salida (I/O)
- Aprende un lenguaje, Aprende sus peculiaridades, Tiempo de ejecucion, concuttencia, manejo de memoria, etc…
- Rust
- Go
- JavaScript
- Python
- Ruby
- Java
- C#
- PHP
- Control de versiones
- Uso basico de Git
- Servicios de Hosting de repositorios
- GitHub
- GitLab
- Bitbucket
- Bases de datos Relacionales
- PostgreSQL
- MySQL
- MariaDB
- MS SQL
- Oracle
- Mas acerca de bases de datos
- Bases de datos NoSQL
- Documentos
- MongoDB
- CouchDB
- Columnas
- Cassandra
- Temporales
- InfluxDB
- TimescaleDB
- Tiempo real
- Firabase
- RethinkDB
- Documentos
- ORMs
- ACID
- Transacciones
- Problema N+1
- Normalizacion
- Indices y como funcionan?
- Replicación de Datos
- Estrategias de Fragmentación
- Teorema de CAP
- Bases de datos NoSQL
- Aprende sobre API’s
- REST
- JSON APIs
- SOAP
- gRPC
- Autenticacion
- HATEOAS
- Open API y Swagger
- Memoria Cache
- CDN
- Del lado del cliente
- Del lado del servidor
- Redis
- Memcached
- Conocimiento en seguridad Web
- Algoritmos de Hasheo
- MD5 y porque no usarlo
- Familia SHA
- scrypt
- bcrypt
- HTTPS
- Política de seguridad de contenido
- CORS
- SSL/TLS
- Riesgos de Seguridad OWASP
- Algoritmos de Hasheo
- Testing
- Test Unitario
- Test de Integracion
- Test Funcional
- Test de inicio a fin
- CI / CD
- Principios de Diseño y desarrollo
- SOLID
- KISS
- YAGNI
- DRY
- Patrones de Diseño GOF
- Domain Driven Design
- Test Driven Development (TDD)
- Patrones de Arquitectura
- Aplicaciones Monoliticas
- Microservicios
- SOA
- Serverless
- CQRS y abastecimiento de eventos
- Patrones de Arquitectura
- Motores de Busqueda
- Elasticsearch
- Solr
- Message Brockers
- RabbitMQ
- Kafka
- Containerization vs Virtualization
- Docker
- LXC
- GraphQL
- Apollo
- Relay Modern
- Base de datos de grafos
- Neo4j
- WebSockets
- Servidores
- Nginx
- Apache
- Caddy
- MS IIS
- Escalabilidad
- Entender la diferencia entre:
- Instrumentación
- Monitoreo
- Telemetría
- Estrategias de migracion
- Escalado vertical y horizontal
- Construir con Observabilidad en mente
- Entender la diferencia entre: