Leyendo las ofertas de empleo para desarrolladores web, nos damos cuenta de que un desarrollador puede ocuparse de la parte front-end, back-end o incluso de ambas partes de un sitio web.

Pero, ¿qué significa ser un desarrollador front-end o back-end? La pregunta es importante para quienes quieran trabajar en este ámbito, no solo para comprender cuáles son los requisitos necesarios, sino también para entender lo que piden los anuncios y solicitudes de las empresas.

Definición de los roles del desarrollador front-end y back-end                     

Aquí están las definiciones: 

El desarrollador front-end es el que crea la parte visible del sitio, la interfaz a través de la cual navegamos, vemos fotos y videos, leemos textos o realizamos otras actividades

El desarrollador de back-end se encarga de la parte trasera del sitio, crea todo lo que hace que la interfaz funcione, pero que el usuario no ve. 

Luego hay un tercer rol llamado full-stack, es decir el desarrollador que sabe cómo crear tanto el front-end como el back-end. Aunque suele trabajar con otras figuras especializadas en una del las dos partes,  un full stack tiene que saber intervenir en el desarrollo de ambas partes de un sitio o de una aplicación para que funcionen bien juntas. 

Siendo tres diferentes tipos de desarrolladores web, las habilidades requeridas también son diferentes. Así que veamos a continuación el conocimiento específico que deben tener los programadores de front-end, back-end y full-stack.  

Los lenguajes del desarrollador front-end: HTML, CSS, Javascript 

El programador front-end desarrolla la interfaz de la página web. Sin embargo, es importante subrayar que no se trata solamente de idear el diseño gráfico (que es responsabilidad del diseñador web), sino sobre todo de definir la experiencia del usuario, es decir, hacer agradable y funcional la experiencia de quien tenga que navegar por el sitio o use la aplicación. Esto significa que el usuario debe poder utilizar el sitio o la aplicación de la manera más simple y rápida posible, en todas las plataformas y con todos los dispositivos: PC, tableta, smartphone, etc. 

Hay 3 lenguajes que un desarrollador front-end debe dominar: 

  1. HTML (HyperText Markup Language): es el lenguaje que define y organiza la estructura del contenido visible del sitio para que los navegadores puedan “leerlo”. Todos los sitios están construidos con HTML. 

  1. CSS (Cascading Style Sheets): define cómo se ve el sitio, es decir, la apariencia de las páginas web: colores, fuentes, fondos, etc. 

  1. JavaScript: es el lenguaje que marcó el punto de inflexión en la construcción de sitios web, ya que permite agregar elementos interactivos y dinámicos a las páginas, como pop-ups y animaciones. No hay que confundirlo con Java, utilizado para el desarrollo de aplicaciones y que en cambio forma parte de los lenguajes de programación de quienes se ocupan del back-end.

JavaScript tiene una serie de herramientas que facilitan el trabajo del programador: 

  • Bibliotecas: conjuntos de funciones pre compiladas y especializadas que aceleran el desarrollo. Son fiables, porque los programadores JavaScript las prueban continuamente, y muchas también son gratuitas.

  • Frameworks: infraestructuras lógicas ya configuradas para desarrollar una aplicación. También en este caso, la ventaja es el ahorro de tiempo, combinado con la seguridad de estas arquitecturas. Los frameworks JavaScript más utilizados son Angular2, AngularJS, Backbone, Ember y Meteor. 

Los lenguajes del desarrollador back-end: PHP, Java, Python e database

El desarrollador de back-end trabaja «entre bastidores»: su trabajo, por lo tanto, debe ser funcional a lo que tendrá que hacer su compañero que se encarga del front-end. Los dos roles son complementarios y trabajan en estrecha colaboración para garantizar que el sitio sea eficiente, fiable y también agradable. El desarrollador back-end debe tener dos habilidades principales: lenguajes de programación y conocimiento de bases de datos

Entre los lenguajes de programación más solicitados para el back-end se encuentran: 

  1. Java: es el lenguaje del que ningún programador back-end puede prescindir porque, al ser independiente de los sistemas operativos, es el más utilizado para desarrollar aplicaciones web. 

  1. PHP: fue creado para crear páginas web dinámicas (originalmente el acrónimo significaba Personal Home Page, es decir  «página de inicio personal») y utilizado para desarrollar aplicaciones web del lado del servidor, es decir, back-end; 

  1. C #: es el lenguaje derivado de C y C ++ para la plataforma .NET, utilizado para desarrollar aplicaciones de Microsoft, pero también para teléfonos inteligentes y videojuegos;

  1. Python: considerado el «rival» de Java, es utilizado no solo para aplicaciones, sino también para análisis de datos;

  1. Ruby: también para aplicaciones, cuenta con varios frameworks, el más conocido de los cuales es «Ruby on Rails». 

El conocimiento de las bases de datos es importante para un desarrollador de back-end, ya que los sitios suelen tener que administrar datos (como por ejemplo en el comercio electrónico). Entre los lenguajes para crear y operar una base de datos mencionamos SQL, Oracle MySQL, Microsoft SQL Server, MongoDB. 

El desarrollador full-stack: la suma de front-end y back-end 

Por último, el desarrollador full-stack es la figura “completa” que sabe cómo crear ambas partes de un sitio y, por lo tanto, combina las habilidades de los dos colegas compañeros de trabajo que acabamos de examinar. El desarrollador full-stack deberá entonces conocer: 

  1. HTML, CSS y JavaScript (con bibliotecas y frameworks) para el desarrollo del front-end.

  2. Java (pero posiblemente también otro lenguaje) para el desarrollo de aplicaciones back-end. 

  3. Al menos un lenguaje para crear y gestionar bases de datos, como por ejemplo MySQL

Convertirse en desarrollador: recursos en línea para empezar 

Comprender las diferencias entre el front-end y el back-end también ayuda a elegir qué estudiar para convertirse en el tipo de desarrollador web que más nos guste. No hay escuelas específicas: una licenciatura en informática es sin duda una base útil para aprender a programar, pero luego es necesario estudiar los lenguajes requeridos, dependiendo de si se elige uno u otro «lado» de la web.

Muchos desarrolladores aprenden del trabajo, aunque la web ofrezca cada vez más recursos para los autodidactas, que son muy numerosos en este ámbito. Estos recursos son un excelente punto de partida para adquirir conocimientos básicos de programación web.

A continuación hemos seleccionado tres sitios autorizados y fiables donde se pueden encontrar cursos en línea para desarrolladores de back-end y front-end: 

Codecademy

45 millones de personas han aprendido a codificar con los cursos gratuitos de Codecademy: se pueden elegir por tema (por ejemplo, “desarrollo web”) o por lenguaje. Las ofertas «pro» son de pago y van desde software individual hasta cursos completos para expertos. En inglés. 

QuickCode

Contiene decenas de cursos gratuitos, actualizados diariamente. La mayoría son en inglés, pero también hay algunos en español, como por ejemplo los cursos básicos de JavaScript, HMTL y CSS: solo hay que seleccionar «spanish» en el filtro de búsqueda «language selection». 

Quickstart

Incluye más de 80 cursos gratuitos solo para desarrolladores web y de aplicaciones. Quick Start es un socio de Microsoft y Cisco y, en muchos casos, proporciona una certificación al final del curso. También en este caso las lecciones son todas en inglés. 

Las propuestas que hemos enumerado son obviamente para aspirantes desarrolladores de front-end y back-end: aquellos que deseen convertirse en desarrollador full-stack tendrán que construir un camino un poco más complejo, en el que conseguir un buen número de conocimientos y habilidades relacionados con ambas figuras.