Full Stack Developer

Es un perfil que surgió en un consenso involuntario entre el mercado laboral y el área técnica, convirtiéndose hoy en día en el cargo de miles de profesionales que representan la combinación de habilidades y conocimientos en distintas áreas del desarrollo. El origen de este perfil es equivalente al que se conocía hace varios años como “Webmaster”, una persona que lo hacía todo, desde la maquetación de una aplicación hasta el modelo de datos en la base de datos. Luego del “Boom” de los perfiles Frontend Developer y Backend Developer, hoy pudiéramos decir que básicamente que un Full Stack Developer es una persona con conocimientos de estos dos mundos, dominando Frameworks y Librerías, no obstante es mucho más que eso.

Un Full Stack Developer es popularmente reconocido como un programador que puede desarrollarse tanto en el front como en el back y por esto normalmente es postulado como la persona más calificada para ser el líder de un equipo de desarrollo, no obstante también puede laborar como supervisor, consultor técnico o incluso como freelance. Un desarrollador Full stack debería poder desenvolverse en todas las áreas que tienen referencia directa o indirectamente con el desarrollo de aplicaciones, en definitiva es una pieza fundamental que todo proyecto debería tener.

Full Stack Developer no es sinónimo de Senior

¿Has escuchado alguna vez las palabras junior, semisenior y senior? Estos adjetivos representan comúnmente los años de experiencia y la autonomía que tiene una persona para laborar en su trabajo, no obstante es un calificativo ambiguo que pudiera aludir a niveles completamente diferentes debido a que no todos los modelos de negocios son iguales y un senior en una empresa A no es necesariamente lo mismo que un senior de una empresa B.

Es tremendamente típico relacionar el perfil Full Stack Developer con un nivel senior en la programación, pero no necesariamente representan lo mismo, por ejemplo si lo comparamos con el fútbol, un full stack developer en un proyecto podría equivaler a árbitro de un partido, entendiendo que los árbitros deben entender cómo funciona el juego, su mecánica, sus reglas, sus políticas, su técnica, además debe velar por la seguridad de los jugadores y que el partido se desenvuelva correcta e idealmente, sin embargo esto no necesariamente significa que un árbitro sea por defecto el mejor delantero, arquero o defensa, de la misma manera en que un Full Stack Developer no representa de manera estricta ser un especialista del frontend y del backend, aunque tampoco significa que no pueda llegar a serlo.

Lenguajes de programación y frameworks

El desarrollo de aplicaciones es muy diverso, existen cientos de lenguajes, librerías, paquetes y frameworks que son creados con distintos objetivos. Si hablamos de desarrollo web, podemos mencionar varias tecnologías como: JavaScript, Typescript, Php, Python, Java, Ruby, C#, entre muchos otros. Estos lenguajes están dedicados al desarrollo frontend y/o backend. Al pasar los años hemos adoptado la tendencia de mezclar diferentes lenguajes de programación en un mismo proyecto, logrando con esto sacar provecho de sus diferentes cualidades y alcances, teniendo como resultado sistemas más complejos capaces de ofrecer incontables funcionalidades.

Los frameworks al igual que los lenguajes también están categorizados por desarrollo front y back, por mencionar sólo algunos según el lenguaje en el que fueron creados tenemos:

Desarrollo frontend

  • Javascript: Vue js, React js, Angular, Vuetify, Quasar Framework, Nuxt, Svelte, Ember, jQuery.

Desarrollo backend

  • Node js: Express js.
  • Ruby: Ruby on Rails.
  • Python: Django, Flask.
  • Java: Spring Boot.
  • Php: Laravel, CodeIgniter, Symfony.

¿Qué son los frameworks? Se traduce como “Marco de trabajo” y no es más que el conjunto de prácticas, conceptos y funciones nativas del lenguaje en el que es construido y tiene como objetivo principal convertir nuestro desarrollo en un proceso más cómodo, ágil y óptimo.

Frameworks y Librerías para frontend y backend populares en el desarrollo Full Stack

La lucha interminable de tecnologías

En los últimos años se ha polemizado y popularizado el versus entre diferentes tecnologías, lo cual provoca la natural indecisión de no saber cuál aprender y en cuál me debo especializar. Alejado de la discusión sobre cuál es mejor o peor, un desarrollador debe recordar que su misión es resolver problemas, indiferentemente de cómo lo hará, el norte debe seguir siendo el mismo.

Recordemos que el desarrollo de aplicaciones es un área científica en donde todo es comprobable, es decir que podemos someter diferentes frameworks a pruebas de rendimiento y sabremos finalmente cual es “mejor” o “peor”, sin embargo ¿Bajo qué criterio podríamos definir quién es el ganador de la contienda? En la mayoría de los casos se preferirá evaluarlos usando la velocidad como indicador, buscando comprobar cúal de los dos es capaz de procesar una misma tarea en un menor tiempo, pero ¿acaso es la velocidad el único indicador que representa la superioridad entre dos tecnologías? Dependiendo del objetivo de la aplicación, sí pudiera serlo, sin embargo en la actualidad gozamos de un poder de cómputo en nuestros dispositivos digitales que años atrás era inimaginable.

Ahora podría surgir la pregunta ¿Y en qué influye el hecho de que hoy en día nuestros dispositivos digitales sean más poderosos? Sucede que una alta capacidad de procesamiento lógico reduce tremendamente la brecha de rendimiento que pueda existir entre los lenguajes o frameworks, y si hacemos la práctica de someterlos a un versus tendremos un resultado prácticamente insignificante, esto permite que el enfoque deje de ser la velocidad de las tecnologías que utilizamos y apuntemos la toma de decisiones en  otras cualidades.

¿Cuál framework debo elegir?

Esta pregunta todos nos la hemos hecho y nos la seguiremos haciendo a lo largo de nuestra carrera como programadores. La respuesta de esta incógnita está enfocada cada vez más en la experiencia que el framework le ofrece al desarrollador, pensando que será nuestra herramienta de trabajo del día a día.

Así como los colores y los sabores, ahora podemos humanizar esta decisión e inclinarla al gusto personal, en el caso del desarrollo frontend tenemos a los tres titanes: Vue js, React Js y Angular, los 3 fueron desarrollados bajo el mismo lenguaje (JavaScript)y a pesar de compartir varios enfoques, ofrecen marcos de trabajo diferentes que a algunas personas puede gustar más que otras. Es importante entender que el framework que usamos para desarrollar no representa nuestro nivel como programador, es simplemente una herramienta que ocupamos para dar solución a un problema.

Diagramación de lenguajes, frameworks y librerías y sus distintos roles en el desarrollo Full Stack

El futuro laboral está garantizado

Irónicamente el desarrollo de aplicaciones no está basado solamente en el código, hay muchos procesos previos y colaterales que se llevan a cabo en pro del éxito que pueda tener dicha aplicación, y esto lo sabe muy bien el mercado laboral. Si eres nuevo en el mundo de la programación seguramente ya te enteraste que esta profesión es la más demandada y actualmente la mejor mejor pagada del mundo, y seguramente te has de preguntar ¿Por qué?.

En las últimas 2 décadas el mundo digital ha tenido un crecimiento exponencial impresionante e impredecible, tanto así que desde el momento que abrimos los ojos hasta que nos dormimos mantenemos contacto directo con dispositivos electrónicos conectados a internet, siendo el más recurrente por supuesto el teléfono celular, y aunque pueda sonar un poco drástico, es una realidad que los smartphones cambiaron el mundo. Es difícil imaginar pasar 1 día sin usar las redes sociales, o el correo electrónico o simplemente leer las noticias en tu blog favorito, pero aún más difícil es conocer a alguien que no tenga ningún tipo de acceso a internet.

Entendiendo lo anterior, podemos comprender que una mayor demanda del mundo digital equivale y exige una mayor oferta en nuestro campo laboral, y esto está incitando cada vez a millones de más personas alrededor del mundo a estudiar carreras afines al diseño o a la informática. En pocas palabras trabajar en este rubro es indiscutiblemente tener un futuro laboral garantizado y es completamente comprobable.

Recientemente realicé una búsqueda rápida en LinkedIn Jobs y escribí simplemente “Full Stack Developer” además de aplicar el filtro “Sin experiencia”, el resultado que obtuve en la busqueda fué una cifra impresionante de 571 empleos, y considerando que esta es solo 1 de las decenas de plataformas web para la búsqueda de empleos, creo que queda bastante claro que el mercado laboral está pidiendo a gritos que más personas se sumen al mundo digital.

Resultado de búsqueda de desarroladores Full Stack en Linked In

Ahora que entendemos el panorama que vivimos actualmente, nos podría surgir la pregunta ¿Por dónde empiezo? Con tantos lenguajes y frameworks es fácil marearse y dar vueltas buscando la respuesta, pero al igual que un explorador perdido en la selva, debemos definir nuestro objetivo y marcar la ruta que nos ayude a llegar a nuestro destino.

Mi recomendación para futuros colegas es dedicarle un tiempo considerable al “Hola Mundo!” de los lenguajes o frameworks que tengas que te predispongas a aprender, y en cada paso que des te preguntes si te has sentido cómo ha sido o no. Hoy en día gracias a la explosión en el mercado laboral nos podemos dar el lujo de decidir con cual lenguaje o framework trabajar.

Empleo para Desarrollador Full Stack

Si bien el camino de Desarrolo Full Stack no está determinado para nadie que quiere empezar en el rubro, no quiere decir que nos vayamos a perder tratando de avanza, sino que hay que saber cómo pavimentarlo uno mismo. En la carrera de Desarrollo Full Stack, Desafío Latam te entrega las herramientas para que puedas ingresar a este rubro con confianza, sabiendo definir cuáles son tus metas profesionales.

De todas formas, si te interesa averiguar un poco más acerca del ecosistema de Full Stack antes de iniciar formalmente hábitos de estudio, te recomiendo la lectura de nuestros artículos relacionados: Vue.js 3 y sus novedades ¿Qué ventajas trae? y JavaScript: Su importancia en la web actual

La pasión por el desarrollo

Desarrollar aplicaciones ciertamente es una labor entretenida y emocionante por el simple hecho de crear algo donde antes no había nada, aprender a programar es casi un superpoder que debemos usar para mejorar la calidad de vida de las personas. Al final de todo la tecnología no tiene sentimientos, nosotros somos el corazón y el cerebro detrás de los algoritmos que creamos y en cada línea de código que escribimos estamos poniendo nuestro granito de arena en la construcción de un mejor futuro para las próximas generaciones.

Share Button