Saltar al contenido
EconomíaTIC

Desarrollador web: Diferencias entre front end, back end y full stack developer

Hoy en día, le perfil de desarrollador web es uno de los más demandados por las empresas. Con el auge de la economía digital y el comercio online, las empresas necesitan cada vez más, de mano de obra cualificada en este ámbito.

Muchas personas no conocen todo lo que implica el desarrollo web y la cantidad de variantes y  salidas profesionales que puede ofrecer este trabajo. Por ello, hoy vamos a explicar 3 ramas con las que podrás empezar a diferenciar qué hace un programador web. Estas son las de front end, back end y full stack developer.

Desarrollador front end

Un desarrollador front-end se enfoca en el manejo de HTML, CSS y javaScript. Dicho de otra forma, su trabajo está centrado en traducir diseño y las funcionalidades propuestas para una interfaz de usuario, con el uso de las tecnologías mencionadas.

Para ello utilizará una serie de  librerías, frameworks y patrones de diseño creados por comunidades y testeados, con los que trabajar de manera eficiente.

Su trabajo también está relacionado con la optimización de los recursos consumidos por una aplicación, a través del servidor. Un ejemplo de ello, es el tiempo de carga. A menor tiempo de carga, mejor experiencia de usuario.

¿Cuáles son los desafíos de programador web front-end?

  • Mejorar el tiempo de carga: Medio segundo de carga de una página puede afectar de manera importante la conversión de usuarios. Por tanto, el tiempo es primordial en toda página web. A nadie le gusta esperar, y menos a usuarios cada vez más acostumbrados a la velocidad. El front end developer, se encarga de mejorar los tiempos de carga, para mejorar la experiencia de usuario y, como objetivo último, conseguir mayores leads o ventas.
  • Código mantenible: Escribir un código mantenible con las tecnologías HTML y CSS puede representar todo un reto por ser estas poco dinámicas. En ellas no hay ciclos, funciones, objetos o condiciones. Es decir, todas aquellas herramientas disponibles en lenguajes de programación para la creación de un código mantenible no se encuentran a tu disposición en dichas tecnologías. Pero sigue siendo posible el escribir uno, gracias a la ayuda de procesadores para CSS como Stylus, LESS o SASS, que pueden extender las capacidades de CSS. Mientras que para HTML, hay disponibles engines para cada lenguaje de backend. De trabajar con un framework esto ya vienen con motores de render predefinidos como son los casos de ERB y HAML (en Rails), JADE y ectjs (en NodeJS) o Blade (en Laravel). Dichos motores de render trabajan al añadir código de lenguaje en el template. Al llegar una petición al servidor, éste se encargará de procesar el template, y transformar el código incrustado (HTML puro) y lo manda al navegador.
  • Soporte de navegadores múltiples: En programación web algo es muy cierto, no es fácil crear páginas capaces de verse bien en todo tipo de navegadores. Este es un punto complicado para cualquiera que deba lidiar con dicha asignación. La idea es no perder al tráfico aunque se use Internet Explorer 7, sobre todo si el servicio o producto está enfocado en un público que usa ese determinado navegador. Para solventar esto existen scripts que llevan por nombre Polyfils y sirven para añadir al navegador, usando JavaScript, capacidades de un navegador moderno.
  • Soporte de navegadores múltiples: Al igual que pasa con los navegadores, existen gran multitud de dispositivos: Móvil, ordenador de sobremesa, portátil, tablets, pantallas HD,… E incluso dentro del ámbito de los smarthones, existen numerosas variantes dependiendo del dispositivo y la marca. El front-end developer es el encargado de hacer que la página web funcione también para la mayoría de las pantallas

Desarrollador back end

Siguiendo con el perfil desarrollador (back, front, full stack), toca el momento de enfocarse en el trabajo del desarrollador back-end. Éste profesional se encarga de ejercer sus labores del lado servidor. Prácticamente es quien se encuentra detrás del escenario, y es el que permite que el usuario disfrute con la máxima comodidad la navegación.

Cabe destacar que sin el esfuerzo invertido por el back end developer, el trabajo del desarrollador front-end, no se sostendría.

Para ser un back-end developer es necesario tener un amplio conocimiento en numerosos lenguajes, así como estar familiarizado con las bases de datos. Son los desafíos de un programador web de este tipo:

  • Conocimiento amplio de lenguajes y frameworks: Es importante que tenga conocimientos importantes en esta clase de lenguajes para el desarrollo completo y eficiente de su trabajo. Entre algunos de los más destacados pueden ser encontrados:
    • ASP.NET (una plataforma de desarrollo web de Microsoft con variantes Web Forms y MVC y ASP.NET Core MVC)
    • PHP (WordPress emplea PHP, también Laravel es muy empleado con este lenguaje)
    • Python (es sencillo de aprender, sobre todo usando Django como framework)
    • Ruby (úsalo junto Ruby on rails, su framework)
    • Node.js (emplea el mismo lenguaje que el lado cliente, JavaScript)
    • Java (un lenguaje clásico, y de gran demanda)
  • Familiarización con bases de datos: Un desarrollador back end requiere conocer con precisión el funcionamiento de las bases de datos. Esto se debe a que toda aplicación web necesita almacenar datos de algún modo. Tomando en cuenta esto, entre las bases de datos más comunes a manejar se encuentran:
    • MySQL
    • SQL Server
    • PostgreSQL
    • Oracle
    • MongoDB (es un almacen no NoSQL)

Con el tiempo se pedirá que el desarrollador se especialice en una.

Full-stack developer

Cuando los errores en las páginas web y aplicaciones ocurren del lado del servidor, no, no es el desarrollador back end el responsable de solucionar este inconveniente. Sino que más bien lo es el desarrollador Full stack, quien se encargará de aplicar los conocimientos que tenga en relación a la arquitectura de servidores y sistemas.

El full stack developer es el encargado del desarrollo del proyecto. Algo que comprende desde el montaje de los servidores hasta llegar al diseño CSS. Se trata de un programador multiusos y de una gran versatilidad.

Como dato curioso, este tipo de programador fue en realidad popularizado por el departamento de ingeniería de Facebook hace apenas unos años. Pero ser un desarrollador full stack en startups o cualquier otro tipo de empresas, es una tarea tachada como imposible.

¿La razón? Es poco probable que se pueda llegar a dominar todos los aspectos de la relación cliente / servidor / arquitectura al mismo tiempo. Es por ello, que lo más común es que en la actualidad, aquellos programadores que se denominan como full stack estén más centrados en una de las dos partes (front end o back end) y que más bien, tengan nociones de la otra parte.

Estas nociones son las justas y básicas para saber cómo defenderse en su día a día, sin la necesidad de ser un experto en ambas. Esta clase de desarrollador se ajusta más a un pequeña startup en donde se tenga poco personal en el área desarrollo web.

Diferencias entre front end, back end y full stack developer

Una vez planteados los conceptos de los desarrolladores front end, back end y full stack. Es tiempo de especificar, cuáles son sus diferencias concisas entre estas especialidades como tal.

Para comenzar, la diferencia más grande se encuentra en las capas de la arquitectura de software en la que se enfocan:

El desarrollador front end será el encargado de colocar en marcha todo lo relacionado con HTML, CSS o Javascript. Incluyendo también tendencias en esta área, como lo son Backbone, AngularJS, Bootstrap, Foundation y EmberJS. Es su deber el de mantenerse actualizado sobre este tema para ofrecer los mejores resultados posibles.

Mientras que por su parte el desarrollador back end está más enfocado es al procesamiento de servidores de aplicación y bases de datos. Para ello emplea Java, Ruby, Python, PHP y .Net, entre otros, y también por la capa de datos Posgres, Oracle, MySQL/MariaDB, y MSSQL. Como se ha podido observar, para el desarrollador back end, la manipulación de datos es un aspecto fundamental.

Y por último, los desarrolladores full stack se encuentran en un punto medio en donde poseen la capacidad de manejar ambos tipos de desarrollo. Todo ello como una especie de generalista, enfocado en el desarrollo de habilidades diversas que sepan adaptarse a todas las capas de un sistema. Un aporte al trabajo de rendimiento porque esta clase de profesionales se encarga de visualizar todo lo que ocurre con el desarrollo web desde una perspectiva general, y con suficientes conocimientos de ambos lados para emitir una opinión de valor.

No obstante, la falta de enfoque en uno de los lados, ya sea el front end o el back end, termina repercutiendo en la capacidad de profundización en una de las especialidades como tal.

Desarrollo web

Salarios medios en España para los front end, back end y full stack developer

Una vez conocidas las asignaciones de los desarrolladores front end, back end y full stack, otra de las preguntas más destacadas es la de ¿cuánto se paga por estas profesiones?

En España los salarios medios por ocupar puestos como desarrolladores web pueden variar dependiendo del tamaño de la empresa, la cantidad de personal existente en el departamento o la experiencia del desarrollador. Nunca será lo mismo comenzar a trabajar en una startup que en una compañía con años en el mercado.

  • Sueldo medio de un desarrollador front-end, alrededor de 26.963 €
  • Sueldo medio de un desarrollador back-end, alrededor de 30.567 €

FUENTE: Indeed (julio 2018)

¿Por qué el desarollo web es una profesión en crecimiento constante?

La aparición de internet, ha representado una evolución que no parece detenerse en el presente y que no se detendrá en el futuro, debido a los nuevos modelos de negocios basados en la comercialización por internet. La web ha sido capaz de modificar el comportamiento social y la forma en la que es visualizada la actividad comercial alrededor del mundo.

Es por ello que la economía digital se encuentra en pleno auge, y son cada vez son más los negocios que se adaptan a los cambios que la misma está representando en el día a día. Ya no se trata de una opción el adaptarse a esta clase de cambios, sino más bien en una obligación si no se desea desaparecer del panorama económico.

Y debido a las libertades que ofrecen la misma economía digital, el auge y crecimiento de las startups, han ido en un ascenso considerable. Como una herramienta para solidificarse en el mercado, es necesario contar con una página web o aplicación que sea capaz de atraer a los clientes a conocer y adquirir los servicios o productos ofrecidos.

Y para el mantenimiento y puesta en marcha de dicha plataforma, son los desarrolladores web los encargados de maximizar el potencial de las mismas. Ellos según la asignación que se le dé (front end, back end o full stack developer) serán quienes estarán a cargo de mantener actualizadas tanto en apariencia como tras bambalinas el funcionamiento óptimo de la página web.

Pero el desarrollo web ha pasado de ser una disciplina compuesta por códigos y recursos informáticos, a ser una en donde el factor humano juega cada vez más un papel de mayor relevancia. ¿Por qué? Simplemente porque se está en un crecimiento continuo.

No solo la tecnología va introduciendo nuevos lenguajes, sino que los consumidores van volviéndose cada vez más exigentes y demostrando nuevas necesidades acerca de las plataformas digitales.

Por lo que en definitiva, para ser un desarrollador web capacitado no se puede dejar de estudiar las últimas tendencias en campo, así como tener un conocimiento más en profundidad acerca de las necesidades de los consumidores.

En la profesión de desarrollador web no se puede dejar, por lo tanto, de aprender y crecer en compañía de los consumidores.

Artículo ecrito por: Hector

Hector