Desarrollador Web Full stack ¿Como ser sin morir en el intento?

Ser desarrollador web full stack de acuerdo a las encuestas de Stack Overflow del año 2018, es la ocupación más popular estos días. No sorprende que haya docenas de blogs y cursos sobre cómo ser uno de ellos al haberse convertido en una de las carreras de la tecnología mejor pagada.

Existen hoy incontables programas y cursos en la web que prometen enseñarnos las ocultas habilidades de un verdadero desarrollador web Full stack.

No pretendo que este artículo se convierta en una especie de How-To o algo por el estilo. Pretendo que este sea una guía precisa para lo que yo considero son las habilidades básicas más necesarias.
¿Como ser desarrollador web Full stack? y que yo me encuentro perfeccionando cada día.

Que es un Desarrollador Web Full stack?

Un desarrollador web Full stack es alguien que puede desenvolverse bien en ambas partes de una aplicación, tanto Frontend (parte visual) como Backend(parte lógica).

El Frontend es conocido como la parte que interactúa y ven los usuarios. El Backend es la parte que maneja la lógica del negocio como conexiones de Bases de datos, autenticaciones de usuario, configuraciones de servidor, etc.

Ser Desarrollador Web Full stack no significa que tienes que ser un maestro en cualquier tecnología de las partes implicadas. Pienso que significa estar habilitado para trabajar con una aplicación y entender cómo funciona cada parte del proceso.

Si quieres convertirte en un desarrollador web Full stack, las tecnologías de abajo son vitales para comenzar. Veamos:

HTML/CSS

Casi cualquier programa, aplicación o sistema tiene en sus entrañas un poco o mucho de Html y CSS. También, casi cualquier persona que esté intentando enseñarte a programar tomará en cuenta estos dos. Esto es porque estos dos son los bloques constructores de la visualización en una web. Html te permite agregar contenido a un sitio web y el CSS darle estilos.

Para dominar estos, tendrias que estar capacitado para responder o trabajar con lo siguiente:

  • HTML Semántico
  • Beneficios y utilidad de preprocesadores CSS (habilidad muy importante que recomiendo. Aunque no necesariamente tienes que conocer a fondo sobre estos, pero si quieres y te gusta ahorrar tiempo que nos conviene, deberías considerarlo).
  • CSS Media Queries para hacer completamente responsive y adaptables tus maquetaciones y sitios web.
  • Boostrap. Este es un framework muy conocido que particularmente me encanta mas que todo por su estructura de rejillas extremadamente responsive que evita complicarte mucho la vida cuando maquetas.

Javascript

El lenguaje Javascript se hace cada vez más popular entre los desarrolladores web fullstack cada año. Una increíble cantidad de Frameworks, librerías, herramientas, snippets, etc. son lanzados cada dia a la web. Javascript es hoy el lenguaje más popular entre los desarrolladores porque tiene capacidades para funcionar de manera casi perfecta en ambos lados de la ecuación (Backend — Frontend).

Javascript es el único lenguaje que puede correr nativamente en el navegador y sólo por esto puede doblar, triplicar y hasta cuadruplicar las velocidades de procesamiento y performance combinado con un buen código en el Frontend. Con su punta de lanza llamado NodeJs, si dominas Javascript en ambas partes, puedes llegar a ser imparable y un programador muy cotizado.

Algunos tópicos básicos que debes dominar con Javascript para ser desarrollador web Full stack:

  • Entender su forma de trabajar con el DOM (llamado asi al documento en el frontend).
  • Comprender los términos básicos del lenguaje como lo son: herenciasprototiposclosuresdelegación de eventosscopefunciones higher-order, etc.
  • Flujo de trabajo Asíncrono (Asynchronous Control Flow), promises y los llamados callbacks que me costaron mucho comprender un día.
  • Como modularizar y estructurar correctamente cada una de sus partes. Cosas como webpackbrowserify o herramientas como gulp serán útiles conocerlas.
  • Saber utilizar al menos un Framework o librería popular. En realidad muchas veces algunos desarrolladores se centran demasiado en un framework en específico, opino que lo mejor es aprender y tener una buena plataforma de conocimientos sobre el lenguaje. De igual forma, si sabes Javascript lo suficiente, cualquier framework o librería será tarea de niños.
  • Aunque muchos digan, se quejen y renieguen de él, Jquery sigue estando presente en los corazones de cada desarrollador y en la mayoría de las aplicaciones hoy día. Te recomiendo aprender mucho sobre este. Y como siempre, el consejo de oro es hacer uso de una herramienta sabiendo qué problema soluciona.
  • Investigue, eduquese, infórmese sobre las características más importantes de ES6 y demás. Estos estándares y mejoras del lenguaje son realmente importantes para desarrollar aplicaciones modernas hoy.

Mantenerse aprendiendo e investigando con este lenguaje es vital, aprenderás que nunca terminas de aprender algo nuevo cuando de Javascript se trata.

Cualquier lenguaje Backend

Una vez que sientas que has comprendido bien Html/Css y Javascript, querrás pasar a un lenguaje Backend que se encargue de las operaciones más complicadas como lo son la lógica del negocio, las bases de datos, los comportamientos, eventos, etc. Las plataformas de cursos y Bootcamps usualmente se enfocan en lenguajes específicos, y en realidad no importa cual aprendes mientras que entiendas lo que está pasando y aprendas los matices y comportamientos del lenguaje que elijas.

Algunos de los lenguajes más populares son Php, Java, Python, Ruby, etc. Obtendrás montones de foros, respuestas, plataformas que harán tu aprendizaje con cualquiera de ellos más dinámico, cómodo y ameno. Las combinaciones más populares suelen estar entre estos rangos:

  • Nodejs: Es un entorno de Javascript, asi que si logras dominarlo, te sera mucho mas facil.
  • Ruby
  • Python
  • Java: Este lenguaje no se enseña tanto estos días para el campo Fullstack, pero algunas compañías todavía requieren desarrolladores en este lenguaje a montón.
  • Php: Es uno de los más populares hoy después de Javascript. Sigue teniendo muchísima demanda sobre todo con Frameworks como Laravel Cakephp.

Bases de Datos y Almacenamiento en la nube

Al aprender a crear aplicaciones web, en algún momento tendrás que almacenar datos en algún lugar y luego acceder a ellos más tarde. Debes tener una buena comprensión de algunos puntos relacionados con bases de datos y almacenamiento.

  • Comprender los beneficios de las bases de datos relacionales como las SQL .
  • Conocer las bases de datos NoSQL , como MongoDB (la más popular, creo).
  • Saber cómo conectar una base de datos con el lenguaje backend elegido (por ejemplo, Node.js + MongoDB).
  • Almacenamiento web y almacenamiento de sesiones, cookies, y datos en cache del navegador.

Básicamente, para no hacer interminable el post y mantenernos cortos y precisos, esos serian los puntos más fundamentales para conocer el mundo de un desarrollador web Full stack. Muchas veces dependiendo tu área de eperiencia tendrás que conocer muchísimos términos como: Protocolos Http & REST, arquitectura de aplicaciones y sus tipos, controladores de versiones como GIT, algoritmos, etc.

El mundo de un desarrollador web full- stack será de aprendizaje constante que en la mayoría de los casos te volverá un autodidacta. Es importante entender que como desarrolladores debemos aprender y renovarnos rápida y constantemente para adaptarnos a los cambios. ¿Podría decirse que nuestro campo es mucho más dinámico que el de un Ingeniero en cualquier área? Creo que si.

¿Quieres consejos, recomendaciones y tutoriales?

Suscríbete para obtener acceso inmediato al mundo del desarrollo web, tendencias y productividad.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *