Los sitios web y las aplicaciones son tan comunes hoy en día que es fácil darlos por sentado. Pero detrás de cada diseño de un sitio o de una nueva función genial hay una combinación de código y tecnología que lo hace funcionar.

La persona responsable de este trabajo entre bastidores se llama desarrollador backend.

Si te suena a un trabajo que podrías querer hacer, tenemos buenas noticias: el desarrollo de backend es una carrera bien pagada con una gran perspectiva laboral.

Pero, ¿cómo se empieza? ¿Qué habilidades necesitas aprender?

Este artículo presenta el desarrollo backend y te permite saber cómo puedes empezar como desarrollador.

¿Qué es un desarrollador backend?

Los usuarios no acceden directamente al backend de una aplicación o sistema informático.

La tecnología, como los servidores, las bases de datos y las API, permite que funcionen funciones como la interfaz de usuario.

Los desarrolladores de backend construyen y mantienen esa tecnología. Puede que los usuarios ni siquiera sean conscientes del trabajo del desarrollador de backend, pero sin él, el sitio web o la aplicación no funcionarán.

Desarrollador backend frente a desarrollador frontend

Los desarrolladores web frontend trabajan en las partes del sitio web que el usuario ve y con las que interactúa. Esto también se llama a veces desarrollo del lado del cliente o del lado del navegador.

Los desarrolladores backend (o del lado del servidor) proporcionan la infraestructura para respaldar eso.

Aunque los desarrolladores de frontend y backend suelen trabajar juntos, tienen un arsenal diferente de lenguajes y habilidades de programación.

Por ejemplo, los lenguajes con los que trabajan principalmente los desarrolladores web frontend son HTML, CSS y JavaScript. Mientras codifican, tienen que pensar en la experiencia del usuario. ¿Cómo se ven las imágenes? ¿Es el sitio accesible? ¿Funciona bien en los principales navegadores?

Los desarrolladores de backend utilizan lenguajes de programación y scripting como Python, Ruby y PHP. Se centran en cuestiones como si el sitio es seguro o cómo se gestionan los datos.

The difference between front end and back end development
La diferencia entre el desarrollo del frontend y del backend. (Fuente: Francesco Lelli)

Hay otro tipo de desarrollador llamado desarrollador full-stack. Full-stack significa que haces tanto desarrollo backend como frontend.

Puede parecer que conocer todas las facetas del desarrollo web es mejor que limitarse a una, pero muchos trabajos buscan especialistas.

¿Qué hace un desarrollador backend?

Un desarrollador web backend trabaja en el servidor, la base de datos y las APIs que hay detrás de una aplicación web.

La descripción del trabajo es diferente a la de un desarrollador frontend, pero los dos trabajan juntos para crear un trabajo que sea funcional y fácil de usar.

Por ejemplo, un desarrollador de frontend crea una página en un sitio web con un botón en el que un cliente puede hacer clic para recuperar datos sobre sus pedidos anteriores.

El desarrollador backend escribiría el código que permite que el botón obtenga los datos correctos de la base de datos. Esos datos se devuelven al frontend, donde el desarrollador del frontend determina cómo se muestran al visitante.

What do back end developers work on?
¿En qué trabajan los desarrolladores del backend? (Fuente: InterviewBit)

Descripción del trabajo de desarrollador backend

Cada trabajo de desarrollador backend será un poco diferente. En general, los desarrolladores de backend se encargarán de tareas como:

  • Desarrollar infraestructura de backend para sitios y aplicaciones web
  • Mantener el backend existente
  • Solucionar problemas y arreglar errores
  • Gestionar entornos de alojamiento
  • Pruebas de control de calidad
  • Trabajar con desarrolladores de frontend para transferir datos de forma eficiente a las aplicaciones web del lado del cliente
  • Colaborar con clientes y departamentos como la gestión de productos, el marketing, las ventas o el servicio de atención al cliente para desarrollar soluciones
  • Actualizar la documentación sobre la arquitectura, los procesos y los sistemas

¿Por qué convertirse en desarrollador backend?

Aprender a ser un desarrollador backend te llevará tiempo y compromiso. Puede que te preguntes si merece la pena.

El desarrollo backend puede ser un campo profesional lucrativo y satisfactorio. He aquí algunas razones.

Demanda de desarrolladores backend

El desarrollo web es un campo de rápido crecimiento.

En todas las especialidades de desarrollo web, se espera un crecimiento del 8% de los puestos de trabajo en la próxima década. Eso supone unos 13.400 puestos de trabajo al año, un crecimiento mucho más rápido que la media.

Salario de los desarrolladores backend

El salario medio de una persona con el título de «Desarrollador Backend» es de 81.161 dólares.

Por supuesto, puedes esperar ganar más dinero a medida que ganas experiencia. Por ejemplo, el desarrollador backend medio de nivel inicial gana 61.042 dólares, mientras que el desarrollador backend medio con cinco a nueve años de experiencia gana 95.000 dólares.

El salario medio de alguien con el título de «Desarrollador Backend Senior» es de 113.687 dólares.

Satisfacción de la carrera de desarrollador backend

El dinero y las oportunidades laborales son estupendos, pero tú quieres un trabajo que realmente disfrutes.

La buena noticia es que la mayoría de los desarrolladores de backend están contentos con lo que hacen.

Los desarrolladores backend califican su satisfacción profesional como mejor que la media.

(En caso de que te lo preguntes, la encuesta mostró que están ligeramente más satisfechos que los desarrolladores frontend y igual de satisfechos como los desarrolladores de full-stack)

Habilidades y lenguajes de programación de los desarrolladores backend

Cada trabajo de desarrollador backend requiere un conjunto de habilidades ligeramente diferente.

Las habilidades y los lenguajes de programación que se indican a continuación son los más demandados por los desarrolladores de backend y te convertirán en un candidato competitivo.

También es una buena idea tener un conocimiento básico de las habilidades básicas del frontend, como HTML y CSS. Aunque no los utilices para el trabajo de backend, necesitarás tener los conocimientos suficientes para comunicarte con tus colegas desarrolladores frontend sobre ellos.

A chart showing programming languages used by professional developers in the last year
Lenguajes de programación utilizados por los desarrolladores profesionales en el último año. (Fuente: StackOverflow)

JavaScript

En términos de popularidad, nada supera a JavaScript.

Es el lenguaje de programación más utilizado en la encuesta de StackOverflow anterior, y también es el lenguaje más popular en GitHub.

Una de las razones por las que JavaScript encabeza la lista es que es útil tanto para los desarrolladores de frontend como de backend. Aunque su uso más común es como lenguaje de scripting renderizado por los navegadores, el entorno de ejecución NodeJS permite a los desarrolladores web utilizarlo también para el desarrollo del backend.

Dicho esto, no es tan esencial para los aspirantes a desarrolladores de backend como para los de frontend.

Empieza con JavaScript si ya lo conoces del trabajo de frontend o si quieres convertirte en un desarrollador full-stack. De lo contrario, es más lógico que un principiante dé prioridad a habilidades como Python y SQL.

Python

Python es un lenguaje de programación que todo desarrollador de backend debería conocer. Lo utilizan grandes empresas como Instagram, Spotify y DropBox, y su popularidad sigue aumentando.

Actualmente, es el segundo lenguaje más utilizado en GitHub después de JavaScript.

Python tiene una sintaxis relativamente sencilla que hace que sea fácil de aprender y que los desarrolladores puedan comunicar su código. Admite múltiples estilos de programación y proporciona una clara visualización de datos.

Python tiene varios frameworks que se utilizan para simplificar el proceso de desarrollo. Aprender un framework común como Django o CherryPy también sería una habilidad útil para un desarrollador de backend.

SQL

El Lenguaje de Consulta Estructurada (SQL) se publicó en 1979 y fue considerado un lenguaje estándar de la industria por el Instituto Nacional de Estándares Americano en 1986.

Hoy en día puede parecer bastante torpe, pero es tan esencial para los desarrolladores como siempre.

El propósito principal de SQL es interactuar con las bases de datos. Casi todos los sitios web requieren la gestión de bases de datos, y SQL es capaz de manejar grandes cantidades de datos. Ejemplos de sistemas de gestión de bases de datos que utilizan SQL son MySQL, MariaDB, SQLite y PostgreSQL.

Estar familiarizado con algunos de esos sistemas será útil para un desarrollador backend.

Una plataforma de código abierto como MySQL proporciona acceso gratuito al código fuente de las bases de datos SQL y puede ayudarte a aprender el lenguaje.

Ruby

Ruby es un lenguaje de scripting interpretado de código abierto. Fue creado para ser sencillo y eficiente para los desarrolladores. Su sintaxis es muy parecida a la del inglés normal, por lo que no es difícil de aprender.

No es tan popular como Python o JavaScript, pero encontrarás muchos trabajos que lo requieren.

Cuando la gente habla de Ruby, a veces se refiere a Ruby on Rails. No son lo mismo, pero están relacionados. Ambos son conocimientos útiles para el desarrollo de backend.

Ruby on Rails es un framework de desarrollo web de código abierto programado en Ruby. Es conocido por facilitar el desarrollo rápido y se utiliza en más de 350.000 sitios web en todo el mundo.

PHP

Alrededor del 79% de los sitios web utilizan el Preprocesador de Hipertexto (PHP) como lenguaje de programación del lado del servidor. En particular, WordPress utiliza PHP.

Sites that commonly use PHP, including CMS sites and social platforms
Sitios que suelen utilizar PHP, incluyendo sitios CMS y plataformas sociales.

PHP ha perdido algo de terreno frente a otros lenguajes, especialmente Python. De hecho, la gente se ha preguntado:«¿Ha muerto PHP?» desde hace al menos una década.

Aclaremos esto: no lo está. PHP es rápido, potente y está muy extendido en el desarrollo web de backend.

.NET

.NET (pronunciado «dot net») es un marco de desarrollo de software creado por Microsoft en 2002. Incluye varios lenguajes de codificación, bibliotecas y editores. El lenguaje .NET más útil para los desarrolladores de backend es C#, uno de los más utilizados en la actualidad.

Lo utilizan muchos sitios web conocidos, como Starbucks y match.com.

Aunque .NET no es tan esencial como JavaScript o Python, es una buena habilidad para tener en tu caja de herramientas como desarrollador de backend. Microsoft proporciona tutoriales para que puedas empezar.

Java

Java parece estar estrechamente relacionado con JavaScript, pero no lo está.

Java es un lenguaje de programación de propósito general, y aunque puede ejecutarse en un navegador, está pensado principalmente para el desarrollo de backend.

Java no es tan fácil de aprender como otros lenguajes más nuevos, y su rendimiento no es tan bueno. En general, su popularidad está en declive. Pero todavía lo verás utilizado en muchos sitios web, y habrá trabajos de desarrollador de backend que lo requieran.

No descartes todavía a Java.

API SOAP y REST

Una API (interfaz de programación de aplicaciones) permite a una aplicación o servicio acceder a un recurso dentro de otra aplicación o servicio.

Por ejemplo, las API son utilizadas por los sitios de reservas de viajes que agregan información de varias aerolíneas y hoteles. La API obtiene los datos del proveedor de vuelos u hoteles y los muestra en el sitio web de viajes. Si alguien reserva un vuelo, la API lo confirmará con el sitio de reservas.

Dos paradigmas comunes de API son SOAP y REST. Como desarrollador de backend, te será útil entender ambos.

SOAP (Simple Object Access Protocol) es un protocolo basado en estándares que fue desarrollado originalmente por Microsoft. Utiliza XML para hacer peticiones y recibir respuestas.

Las API RESTful se basan en el estilo arquitectónico REST (Representational State Transfer). A diferencia de SOAP, REST no requiere XML: puedes obtener la salida en un lenguaje que funcione bien para tu proyecto. Por ejemplo, puede utilizar CSV, JSON o RSS.

REST es más rápido que SOAP, y a muchos desarrolladores les resulta más fácil trabajar con él. Sin embargo, SOAP tiene mayor seguridad que REST e incluye una lógica de reintento incorporada para compensar cuando falla la comunicación.

NoSQL

Ya hemos mencionado que a muchos desarrolladores no les interesa el SQL.

Existen alternativas. NoSQL se refiere a las bases de datos que almacenan la información de forma distinta a una tabla relacional. NoSQL no es un lenguaje en sí, sino una colección de opciones de almacenamiento de bases de datos que no utilizan el modelo tradicional.

Las bases de datos NoSQL más utilizadas son:

  • MongoDB
  • Cassandra
  • Amazon DynamoDB
  • Apache HBase

Aunque las bases de datos NoSQL pueden ser útiles y los desarrolladores a menudo prefieren no utilizar SQL, NoSQL no es tan popular como SQL.

Es una habilidad que queda bien en el currículum, pero primero deberías aprender SQL.

Sistemas de gestión de contenidos (CMS)

La mayoría de los sitios web utilizan un sistema de gestión de contenidos (CMS) para crear, modificar y gestionar el contenido. Un CMS permite al propietario del sitio web trabajar en su propio sitio, aunque no tenga conocimientos técnicos.

Four of the core functions of a CMS
Cuatro de las funciones principales de un CMS.

Como desarrollador de backend, sabes cómo crear un sitio web sin un sistema de gestión de contenidos. Pero muchos de los sitios web en los que trabajas tienen uno o necesitan implementarlo. A menudo se llama a los desarrolladores de backend para que añadan nuevas funciones de CMS o depuren un CMS existente.

Incluso pueden crear un CMS desde cero. Pero la mayoría de las veces, trabajarás con los sistemas de gestión de contenidos populares existentes, entre ellos:

  • WordPress
  • Drupal
  • ¡Joomla!
  • Magento
  • Wix

Merece la pena convertirse en un experto en desarrollo para al menos una de estas plataformas (Pista: creemos que debería ser WordPress).

Sistemas de control de versiones

Los sistemas de control de versiones te ayudan a gestionar los cambios realizados en el código de tu proyecto. Si trabajas en cualquier tipo de equipo, probablemente necesitarás utilizar una herramienta de control de versiones como Git o Apache Subversion. Estar familiarizado con uno de esos sistemas es un requisito para algunos trabajos de desarrollador.

Hay algunas razones por las que el control de versiones es esencial. Por un lado, puedes utilizar un sistema de control de versiones para volver a una versión anterior de tu código si algo va mal.

Eso puede ahorrar mucho tiempo en caso de error. En lugar de buscar el error y corregirlo manualmente, puedes simplemente revertir el proyecto a una versión anterior.

Los sistemas de control de versiones también son fundamentales cuando varios usuarios trabajan en el mismo proyecto. Evitan que acabes con versiones conflictivas de la aplicación.

Git es el sistema de gestión de control de versiones más popular. Puedes familiarizarte con Git instalándolo en tu ordenador y creando una cuenta en GitHub.com.

Habilidades de resolución de problemas

Las habilidades técnicas son lo primero que un empleador busca en un candidato a un puesto de trabajo, pero saber codificar no lo es todo.

Los desarrolladores de backend tienen que ser buenos solucionadores de problemas. Tienen que ser flexibles y capaces de encontrar soluciones creativas a los problemas que surjan.

Si buscas un trabajo de desarrollo backend, debes estar preparado para hablar con un entrevistador sobre las veces que resolviste problemas en tu anterior trabajo de desarrollo web.

Habilidades de comunicación

El programador estereotipado se pasa el tiempo trabajando solo delante de un ordenador, y no hay duda de que eso es una gran parte del trabajo.

Pero la comunicación es también un aspecto importante de la mayoría de los trabajos de desarrollador backend. Probablemente trabajarás en proyectos con un equipo de compañeros desarrolladores. Es posible que tengas que incorporar ideas de clientes, gestores de productos u otras partes interesadas.

Prepárate para hablar con el entrevistador sobre las veces que has colaborado con éxito en un proyecto o has dirigido un equipo.

Cómo convertirse en un desarrollador backend

En su mayor parte, la clave del éxito como desarrollador web no es tener las credenciales adecuadas, sino aprender las habilidades adecuadas.

Es posible ser un desarrollador backend sin formación formal (aunque la mayoría tiene alguna). Pero tendrás que ser capaz de demostrar que sabes codificar.

El primer paso para convertirte en un desarrollador de backend es asegurarte de que tienes las habilidades mencionadas anteriormente.

Formación en desarrollo backend

Hoy en día, hay un montón de recursos online que pueden enseñarte a codificar. Por ejemplo, echa un vistazo:

El autoaprendizaje es la norma ahora. 40.39% de los desarrolladores web profesionales actuales realizaron un curso de codificación online, el 31,62% aprendieron en foros online y el 59,53% utilizaron otros recursos online como blogs o vídeos.

Dicho esto, la mayoría de los desarrolladores también tienen formación formal. El 80% de los desarrolladores profesionales han completado algún tipo de educación superior.

Where current developers learned to code according to StackOverflow
Dónde aprendieron a codificar los desarrolladores actuales. (Fuente: StackOverflow)

Muchos trabajos de backend requieren o prefieren una titulación relevante, pero no todos. Si eres totalmente autodidacta, deja que tu trabajo hable por sí mismo. Pon un proyecto personal o dos en GitHub para que los posibles empleadores puedan revisar tu código.

Encontrar trabajos para desarrolladores backend

LinkedIn es un buen lugar para empezar a buscar trabajos de desarrollo web.

El 78% de los desarrolladores dicen que es el lugar al que acuden para buscar ofertas de trabajo. También es la plataforma más utilizada por los reclutadores.

A chart showing where web developers find jobs according to CodeinGame
Donde los desarrolladores web encuentran trabajo. (Fuente: CodeinGame)

A medida que los principales motores de búsqueda de empleo, como Indeed y ZipRecruiter, siguen creciendo, varias bolsas de trabajo de nicho para desarrolladores web ya no son populares, pero StackOverflow sigue siendo un buen lugar para encontrar trabajos de desarrollo de calidad.

La creación de redes siempre es importante. Los hackathons y otros eventos tecnológicos pueden ponerte en contacto con tu próximo trabajo de desarrollador backend.

Resumen

El desarrollo backend es un campo profesional divertido y de rápido crecimiento. Hay muchas razones para amarlo.

Mientras la gente necesite sitios web, se necesitarán buenos desarrolladores web. Puedes aprender por ti mismo las habilidades y la paga es buena.

La mejor manera de empezar el camino para convertirse en desarrollador de backend es aprender un lenguaje de programación o de scripting. Python, JavaScript, SQL y PHP son habilidades que verás en muchas ofertas de trabajo de desarrollador backend.

Si quieres convertirte en un desarrollador de backend para WordPress, PHP es un buen lugar para empezar. Consulta los 27 mejores tutoriales para aprender PHP en 2021.

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.