Un tema controvertido que me he encontrado en muchas empresas es la delimitación de mis responsabilidades y funcionalidades dentro de los equipos de trabajo. Como especialista frontend, evidentemente, siempre he tenido el deber de desarrollar el aplicativo a nivel visual y funcional. Sin embargo, también, en algunas ocasiones he necesitado algunas otras cualidades. En este post te cuento por qué los frontends tenemos que interesarnos por otras áreas.

Nuestra carrera

Frontends, backends, maquetadores, diseñadores, QAs… Normalmente, todos nos agrupamos en algún silo tecnológico, especializándonos en algún campo específico y siempre intentado que dicho campo sea el que más nos atraiga y, en consecuencia, perdemos de vista otras áreas del desarrollo.

Independientemente de dónde vengamos, todos empezamos desarrollando soluciones integrales. Desde el simple "hola mundo" o los "TODO-List" a los proyectos de finalización de cursos o carrera, se empieza tocando todas las partes del aplicativo, y poco a poco definimos hacia dónde enfocaremos nuestra carrera profesional.

Crecemos, nos especializamos, adquirimos destrezas en el nicho elegido y evolucionamos. Esto de cara a nuestra labor cotidiana concreta no es malo. Todo lo contrario. Nos convierte, poco a poco, en auténticos gurús del área elegida. Sin embargo, presenta el inconveniente de que esta práctica tiende a despegarnos de la realidad total del desarrollo. A esto se suma que, a nivel frontal, la tecnología ha sufrido esta última década muchos cambios y adiciones, manteniéndonos en constante aprendizaje para poder estar al día de las novedades de cada uno de los frameworks.

¿Por qué debería interesarme por otras áreas?

Aunque en el título del artículo me refiero a las APIs, esto es extensible a todas las áreas backend y a otras especialidades, como puede ser Seguridad o QA.

Antes de nada indicar que, como amante de la tecnología, considero que un punto a favor de cualquier desarrollador es tener interés por aprender cosas nuevas.

Aparte, considero que todos nosotros deberíamos tener momentos para poder dar un paso al otro lado del espejo y poder experimentar el desarrollo de nuestro aplicativo desde otros ámbitos. Con esto no quiero decir que tengamos que cambiar nuestro centro de especialización, pero sí que creo que nos viene bien ponernos en la piel del otro y practicar cómo sería desarrollar su trabajo.

Además, y sin tener que volvernos unos especialistas en todas las ramas del desarrollo, pienso que interesarnos por otras áreas va a enriquecernos tanto a nivel profesional como personal, permitiendo ampliar nuestros conocimientos y contexto a la hora de desarrollar futuros proyectos.

Un factor adicional para interesarme en aprender otras áreas del desarrollo es que facilita nuestra comunicación con los diferentes miembros del equipo en los proyectos en los que estemos involucrados.

Cosas como entender qué es un parámetro o un query param, cómo formatear la cabecera de una petición, qué autenticación debo añadir, cómo enviar datos en el body de una petición o qué significan los códigos de error que me devuelven los servicios, por ejemplo, nos facilita enormemente nuestro trabajo y reduce los tiempos de desarrollo.

¿Por dónde empezar?

En este caso, y suponiendo que los desarrolladores frontend sabemos en mayor o menor medida Javascript, lo tenemos muy fácil para ejercitar nuevas skills. Basado en NodeJS hay una infinidad de frameworks y librerías que permiten realizar todo tipo de proyectos y laboratorios tanto grandes como pequeños donde podemos aprender, practicar, probar e inventar multitud de opciones que se nos pasen por la cabeza.

Diagrama Arquitectura Node JS.
Diagrama Arquitectura Node JS.

Gracias a la extensa comunidad que ha dado soporte a este motor de ejecución a lo largo de los años, hoy en día podemos elegir cómo desarrollar nuestras aplicaciones, desde framework más consolidados como Express JS a opciones más novedosas como Nest.JS.

Pero, lo más importante, este artículo no va de qué alternativa es mejor, sino de por qué usar estas opciones y qué me van a aportar.

En primer lugar, NodeJS presenta una serie de ventajas muy interesantes y valoradas hoy en día:

Segundo, todo lo que desarrolles repercutirá en:

Y, por último, la evolución del mercado cada vez más está impulsando y promoviendo la utilización de estas herramientas. A nivel arquitectónico, lo que me estoy encontrando, cada vez más, es que empresas y clientes reclaman mayor rendimiento a los frontales y requieren un mayor volumen de transferencia informativa y a mayor velocidad. Requerimientos tales como sistemas de mensajería y notificación en tiempo real, o la descomposición y adaptación de la información dependiendo del visor que utilicemos (BFF, Backend For Frontend) son peticiones usuales en los requerimientos de nuevos productos. Otra utilidad que encontramos y que se está empezando a demandar es el uso de frontales en modalidad SSR (Server Side Rendering) frente a los SPA (Single Page Application) que han copado los desarrollos en la última década.

Otros beneficios

Salirnos de nuestra zona de confort y aplicar nuevas metodologías y formas de trabajar también refuerzan otras skills colaterales que inicialmente no teníamos pensado aplicar como la gestión de bases de datos o cuestiones de seguridad. A mí, en particular, la lectura de información y la realización de ejercicios en este ámbito me ha ayudado a mejorar en aspectos de securización, tales como:

Conclusión

Debemos pensar, cada vez más, fuera de los límites que nos marca nuestra especialidad, entendiendo el gran valor añadido que proporciona un interés por otros ámbitos del desarrollo y que no solo se van a reflejar en nuestro trabajo diario, sino en la ejecución de nuestros proyectos presentes y futuros.

Cuéntanos qué te parece.

Los comentarios serán moderados. Serán visibles si aportan un argumento constructivo. Si no estás de acuerdo con algún punto, por favor, muestra tus opiniones de manera educada.

Suscríbete

Estamos comprometidos.

Tecnología, personas e impacto positivo.