Desarrollador Backend Junior en el 2021
Blog
11 de enero de 20218 min

Desarrollador Backend Junior en el 2021

Aprende bases de datos, lenguajes como Go, Java o PHP y crea APIs de alto rendimiento. Guía completa para empezar en el backend.

backendgobases-de-datoscloudcarrera

En el post anterior hablamos de las tecnologías del frontend. Ahora nos enfocaremos en el backend puro y duro. Si ya manejas el front y quieres ser un "full stack", podrás lograrlo con Node.js y Express para crear APIs. Sin embargo, en el entorno empresarial hay tecnologías que considero más importantes para un backend escalable y robusto.

Lo básico

Debes aprender los fundamentos de ingeniería de software: protocolos, servicios, API REST, SOAP, línea de comandos y seguridad. Sin esta base, todo lo demás será frágil.

Tecnologías y bases de datos

Te recomiendo que aprendas Go, debido a que actualmente es el lenguaje más potente en el backend por su velocidad de procesamiento y su concurrencia nativa. A diferencia de otros lenguajes donde debes crear multi-hilos para paralelizar las tareas, Go maneja la concurrencia de forma nativa, permitiendo empezar tareas incluso cuando la anterior no ha terminado.

Sin embargo, eres libre de elegir la tecnología que más te guste: PHP, Python, Java o C#. Con estas tendrás que aprender un framework por ejemplo:

  • Spring para Java
  • Django para Python
  • Laravel para PHP

Luego que manejes el lenguaje, debes aprender bases de datos. Empieza por las relacionales como PostgreSQL o MySQL y luego aprende las no relacionales como MongoDB. Es importante que entiendas los beneficios de cada una y en qué caso de uso implementarlas.

Optimización: Redis y más

Luego deberás pensar en la optimización. Crear una API podría ser sencillo, pero que tenga un performance decente es otra historia. En entrevistas técnicas, el entrevistador puede estresar tu API para ver su rendimiento y comportamiento — aquí es donde se nota la diferencia de un backend developer.

Debes conocer Redis, que te permitirá guardar datos en caché a través de Keys para que la respuesta de tu API sea mucho más rápida sin tener que ir a la base de datos en cada petición.

También tecnologías como Scala y Akka te permitirán crear aplicaciones basadas en mensajes, altamente concurrentes, distribuidas y resistentes con modelo de actores.

La Nube

Es importante que empieces a conocer plataformas de computación en la nube como AWS, Azure o Google Cloud y los conceptos básicos:

  • ¿Qué es una instancia?
  • Tipos de almacenamiento (EFS o EBS)
  • ¿Qué es una VPC?

Si eliges AWS, te recomiendo que aprendas API Gateway y AWS Lambda.

Docker y Kubernetes

Aprende contenedores. Puedes tomarlo como un plus, pero Docker y Kubernetes como parte de tu propuesta de valor te harán destacar en comparación a otros CVs.

Empieza con Docker y ve creando tus aplicaciones dentro de contenedores para que puedan ser ejecutadas en cualquier servidor. Luego documéntate sobre Kubernetes, que lleva Docker a otro nivel orquestando a través de pods todos los contenedores y creando una plataforma auto-escalable.

¿Estás listo?

En las entrevistas técnicas verás mucha algoritmia y patrones de diseño. Los desarrolladores de backend implementan por lo general la lógica de negocio, por lo cual debes ser una persona con fuertes fundamentos de algoritmos.

Como Junior, esto será suficiente para que puedas empezar a postularte como backend. Debo decir que en tu carrera te esperan muchas cosas por aprender — y por esto considero que la figura del "Full Stack" no existe, pero esto lo discutiremos en otro post.