Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=27767ad5-8e97-4bc7-a8d4-51526a7246f9

Desarrollador web: Front-end, back-end y full stack. ¿Quién es quién?

Full-stackEn los meses de verano siguen siendo muchas las personas que deciden cogerse unas vacaciones, las cuales aprovechan no solo para relajarse y divertirse, sino para pensar en qué harán a la vuelta. Es algo parecido a los propósitos de año nuevo, pero en septiembre y el 90% de ellos están relacionados con la formación. Vamos, que valoran la posibilidad de hacerse un curso, bien sea para encontrar el trabajo que quieres, mejorar el actual, conseguir un primer trabajo o, simplemente, por el placer de aprender.

Y todo esto, ¿qué tiene que ver con el título del post? Muy sencillo. Durante este verano, a través del chat de nuestra web la pregunta que más nos hicieron fue, "quiero ser programador web, ¿por dónde debo empezar?". O "después del verano me van a contratar de programador web junior y quiero hacer un curso ¿cuál debo escoger?" Y entonces comenzaba un diálogo que se repetía una y otra vez "- ¿Cliente o Servidor? - ¿Qué lenguajes conoces? - ¿A qué te gustaría dedicarte? - ...."  Y este es el motivo por el que hemos decidido escribir este post.

Lo único que pretendemos es ayudarte a comprender qué es un desarrollador web, antes de que tomes tu decisión sobre el camino a escoger.

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. En este artículo trataremos de definir cada una de ellas y ver sus diferencias.

Desarrollador Front-end:

Front-endTrabaja 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.

En la actualidad, además, va mucho más allá puesto que las capacidades de los navegadores los han convertido en verdaderos "sistemas operativos" de la Web, con APIs avanzadas que hace que las aplicaciones de lado cliente no tienen mucho que envidiar a las apps nativas, nuevas versiones del lenguaje ECMAScript, multitud de herramientas de desarrollo (npm, yarn, webpack...) y también meta-lenguajes (Sass, TypeScript...) que hacen que sea una disciplina bastante compleja.

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:

  • BackendASP.NET: es la plataforma de desarrollo web de Microsoft. Muy utilizada en las empresas. Tiene las variantes Web Forms y MVC, y ahora también ASP.NET Core 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.
  • Java: el lenguaje clásico y uno de los más demandados.

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.

Keanu-Full-StackY 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.

Este tipo de programador fue popularizado hace unos años por el departamento de ingeniería de Facebook.

Actualmente es prácticamente imposible ser un buen desarrollador full stack. La publicación Tech Crunch lo ilustra perfectamente en los gráficos mostrados en este artículo. 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.

Resumen

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.

Independientemente del tipo de programador web que hayas elegido ser, si quieres destacar entre tus compañeros, no olvides desarrollar tus habilidades sociales, lo que los angloparlantes llaman soft skills frente a las que hemos estado hablando en todo el post que eran hard skills. Las más importantes son: capacidad para aprender rápidamente, capacidad para resolver problemas de forma eficiente, atención al detalle y por supuesto, facilidad a la hora de comunicarse.

Fecha de publicación:
campusMVP campusMVP es la mejor forma de aprender a programar online y en español. En nuestros cursos solamente encontrarás contenidos propios de alta calidad (teoría+vídeos+prácticas) creados y tutelados por los principales expertos del sector. Nosotros vamos mucho más allá de una simple colección de vídeos colgados en Internet porque nuestro principal objetivo es que tú aprendas. Ver todos los posts de campusMVP
Archivado en: Desarrollo Web | General

No te pierdas nada, recibe lo mejor en tu email

Si te ha gustado este art­ículo, únete a miles de desarrolladores que ya reciben cada mes nuestro boletí­n por email. No te pierdas los mejores trucos, noticias y frikadas.

Enviamos poco, pero bueno. Palabra de desarrollador.

Suscríbete aquí­

Sí­guenos también en:

Telegram LinkedIn YouTube
La mejor formación online para desarrolladores como tú

Comentarios (14) -

Morgan Reyes
Puerto Rico Morgan Reyes

Esclarecedora explicación sobre los diferentes campos de acción donde se desenvuelven los desarrolladores web. Está genial el post

Responder

Buen comentario

Responder

UnoQuePasaba
UnoQuePasaba

Yo, soy "full stack not stop", donde trabajo debido a mi jefa experta en repartir marrones sin saber de que van las cosas, pues por más que le he dicho que mi perfil no contemplaba desarrollo back-end (javascript cliente y maquetación), pues nada, luego se quejaba por el retraso y problemas de errores (encima con bajas estimaciones), hice con MVP un curso de Javascript avanzado y ahora, que conozco mejor la forma de desarrollar (ya que soy de .NET y no entendía el concepto de prototipo de Js versus OOP de .NET) van y me ponen a otra cosa.. y es que eso, soy externo y pringatodo, bajo el mandato de unos desarrolladores de INDRA (factoría de Salamanca) que cuando entendí como va el JS, me dí cuenta porque el "jefecillo" de la parte de web, era junior, hacía gambadas y encima, que se lo comentaba, me daba explicaciones de aficionado (le dije de modular un js que tuve extraer de una página aspx de +3000 lineas de script) y que no entendía el concepto... en fin... que no saben lo que es un front-end, ni back-end, solo "pringa-end"...(y eso que estamos desarrollando una aplicación principal para Movistar)

Responder

Excelente artículo! Nunca terminaba de entender claramente cuál era la diferencia entre cada uno, me ayudo mucho a entenderlo!

Responder

Juan Carlos
Juan Carlos

Excelente articulo, me parece que es interesante leerlo me estoy dedicando a Devops y creo que aprender a diferenciar entre back y front y los lenguajes es muy muy difícil ya que cada proyecto representa un desafió y entre variedad de lenguajes difícil convertirte en un experto

Responder

Yeii Zerpa
Yeii Zerpa

Genial,  puede aclarar mis dudas al respecto. ;)

Responder

Daniel Varón
Daniel Varón

Muy buena explicación sobre como podemos separar los tipos de trabajo en el entorno de desarrollo y ser mucho más eficientes en el manejo de nuestras empresas.

Gracias

Responder

Buena descripción del scope de cada rol, pero me llamó la atención que no incluyeras Java tanto en el front como en el back. Por algo en particular?

Responder

José Manuel Alarcón
José Manuel Alarcón

Hola Raul:

La verdad es que en el Front-End Java hoy en día no tiene mucho sentido, ya que ni siquiera se soportan ya los Applets (a dios gracias).

En el backend sí que es un lenguaje importante y seguramente no lo metí por un lapsus. Lo hago ahora, gracias :-)

Saludos!

Responder

Arley Bermudez
Arley Bermudez

Excelente artículo, escrito de forma impecable y con gran claridad, debo decir que me queda muy claro lo del Back y Frontera en.  Muchísimas Gracias

Responder

Me ha encantado el articulo. Ahora que tengo que seleccionar a menudo estw tipo de perfiles, aunqye este tkpo dd procesos debe estar muy apoyado por un responsable técnico, me gustaria aprender de manera sencilla como en el articulo los lenguajes que de manejan y como distinguir las habilidades técnicas.  Que me recomienda para especializarse mas , portales o foros a los que acudir? Y lo mas importante, los proyectos que interesan mas a estos perfiles tecnológicos?

Responder

Que tanto se usa C++ para desarrollo en Back End?

Responder

José Manuel Alarcón
José Manuel Alarcón

No tengo datos, pero seguro que muy poco. Una cosa es crear un producto servidor (un servidor web o de WebSockets o algo así) y otra generar vistas o contenidos en el servidor que es a lo que se refiere el post con Back-End. En ese caso C++ se usará nada o tendiendo a cero.

Responder

Miguel Bolett
Miguel Bolett

Muy buena aclaratoria de loa términos, deberíamos hacer mas post de este tipo dirigidos también a los clientes y empleadores, para que tengan claras las funciones de cada uno al momento de iniciar un desarrollo o contratar a los encargados, en mi caso y por el tiempo que tengo en esto, creo que soy un "Mega Full Stack" y los clientes le sumarían ademas "24/7 - 365" jejej, o al menos eso quieren. Saludos.

Responder

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.