Desarrollador web Front-end, back-end y full-stack ¿Quien es quien?

Un desarrollador web no es una sola cosa, sino que abarca múltiples conjuntos de habilidades que se traducen en diferentes especialidades. Los tres términos más comunes que se utilizan para nombrar dichas especialidades de forma genérica son: front-end, back-end y full stack.

Desarrollador Front-end:

Trabaja del lado Cliente, en el navegador, en el lado de lo que se ve. Principalmente se ocupa de los componentes externos del sitio web o de la aplicación web. Como consecuencia, deben dominar obligatoriamente:

  • HTML:  HyperText Markup Language, es el componente estructural clave de todas las webs de internet. Sin él las páginas web no pueden existir.
  • CSS: Cascading Style Sheets, es lo que le proporciona estilo a HTML.
  • JavaScript: Usando solo HTML y CSS tus webs serían páginas estáticas, con JS tus páginas web son interactivas.

En general se asocia a los desarrolladores front-end con los principios de diseño y de estructura de páginas. Sin embargo, un desarrollador web va más allá que un diseñador. Obviamente tiene que tener en cuenta la usabilidad  y la legibilidad de la página o de la aplicación web, pero como buen programador es consciente de que su trabajo se ejecutará en el lado Cliente, en la mayoría de los casos, en el navegador. Y la información no se almacena en el lado Cliente.

Desarrollador Back-end:

El desarrollador back-end trabaja del lado Servidor, detrás del escenario, permitiendo con su trabajo que el usuario disfrute de su experiencia. Sin él, el desarrollo llevado a cabo por su anterior compañero no se sostendría.

Para ser programador del lado Servidor, son numerosos los lenguajes y frameworks entre los que elegir, todo dependerá de la empresa en la que caigas. A día de hoy, los más comunes son:

  • ASP.NET: es la plataforma de desarrollo web de Microsoft. Muy utilizada en las empresas. Tiene las variantes Web Forms y MVC.
  • PHP: por ejemplo, el famoso gestor de contenidos WordPress usa por detrás PHP. Laravel es uno de los frameworks usados con este lenguaje.
  • Ruby: junto con su framework Ruby on rails.
  • Python: fácil de aprender. Usado a menudo con Django como framework
  • Node.js: se está haciendo cada vez más popular debido a que usa el mismo lenguaje que en el lado cliente: JavaScript.

Sin embargo, no es suficiente con dominar un lenguaje y un framework. Toda aplicación web debe almacenar datos de alguna manera. Por lo tanto, un desarrollador back-end también debe estar familiarizado con las bases de datos. Entre las más comunes destacan:

  • SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • MongoDB, que es un almacén de datos no-relacional o NoSQL.

Al igual que hemos comentado antes el entorno en el que trabajes te obligará a especializarte en una u otra.

Desarrollador Full stack

En la mayoría de las páginas y aplicaciones webs los errores que se producen ocurren del lado Servidor. ¿Quién era el responsable de esta parte? El desarrollador back-end, el cual a estas alturas del post ya está agotado, por lo tanto es mejor no exigirle nada más y buscarnos a alguien que además de lo anterior tenga conocimientos de arquitectura del servidores y sistemas.

Y esta persona es el desarrollador full stack. Un programador multiusos, responsable del desarrollo del proyecto, desde el montaje de los servidores, hasta el diseño con CSS. Actualmente es prácticamente imposible ser un buen desarrollador full stack. Tal y como evoluciona hoy en día la tecnología, es casi inviable tener una pata en cada lado (Cliente/Servidor/Arquitectura) y dominar todos. Generalmente, los programadores que se hacen llamar full stack están más centrados en una de las dos partes, es decir, dominan una de las partes y de la otra tienen nociones, las justas para defenderse en su día a día. Estos perfiles suelen trabajar en pequeñas empresas donde ellos solos son los encargados de todo el desarrollo web.

En Conclusión:

Como puedes ver el desarrollo web presenta múltiples facetas las cuales además evolucionan con el tiempo. Así que no te presiones ni intentes aprender todo a la vez. recuerda en la mayoría de tus trabajos no estarás solo, sino que formarás parte de un equipo con lo que tu papel estará perfectamente definido. Por lo tanto, escoge en dónde quieres desarrollar tu carrera (Cliente o Servidor) y concéntrate en aprender y perfeccionar tus habilidades y conocimientos de desarrollo web de forma enfocada. No te dejes amilanar por las numerosas novedades que aparecen todos los días, y comprobarás que con perseverancia te convertirás en un profesional.

Lo vi en http://www.campusmvp.es

Acerca del Autor