Una de las primeras preguntas que me hice antes de comenzar en el mundo del desarrollo web era si quería ser un desarrollador front end o un desarrollador back end. Mi meta siempre había sido llegar a ser un desarrollador full stack, ya que poder jugar en ambos lados dentro de un proyecto se me hacía una idea fascinante. Sin embargo, para poder alcanzar esa meta, debía escoger un punto de partida (como dice el dicho: antes de correr, hay que aprender a caminar).

Como de costumbre, empecé a investigar cuál de las dos áreas era la más recomendada para iniciarse como desarrollador web. Encontré opiniones divididas: unas a favor de comenzar con el front end, otras a favor del back end, etc. Como por arte de “magia”, Internet empezó a hacer de las suyas: empecé a ver anuncios en mis redes sociales ofreciendo cursos de cómo volverse un master del desarrollo web en solo 30 días, o cómo volverme un web ninja developer en tiempo récord. Después de tanta información, de tantos anuncios, había tomado la decisión: empezaría por el Front End.

Mi punto de partida fue JavaScript, quizás el lenguaje de programación moderno más usado a nivel mundial cuando hacemos referencia a la web. Mi meta era tener una base sólida para poder saltar a frameworks cuya base es JavaScript, tales como jQuery, Angular, ionic, NodeJS, MongoDB, entre otros. Después de haberle dedicado una considerable cantidad de tiempo, y de haber realizado un par de cursos, decidí incursionar en mi primer framework: Angular.

JavaScript

Básicamente, Angular (evolución de AngularJS) es un marco de trabajo (framework) front end, impulsado por Google, que se utiliza para poder crear aplicaciones web de una sola página (SPA), realizar procesos del lado del servidor(utilizando NodeJS), e incluso, aplicaciones móviles. Debo confesar que, a medida que iba avanzando con el aprendizaje del framework, me iba sintiendo más a gusto con mi elección: componentes, pipes, directivas de atributos, ciclos de vida, formularios, etc.

La primera interacción que tuve con el back end fue utilizando Firebase como back end REST. Fueron mis primeros pasos haciendo peticiones HTTP, en el cual comencé realizando un CRUD (Create, Read, Update, Delete) básico para comprender el funcionamiento y la interacción entre el cliente y el servidor.

En cierto punto, después de realizar diferentes proyectos como práctica, sentí que alcancé a llegar a un nivel en el cual me sentía con una buena base del framework, y casi que por cosas del destino, me asignaron mi primera tarea. El cómo resolver la tarea no pude encontrarla en todos los cursos que había hecho, pero sin duda alguna fueron de gran ayuda para poder desenvolverme de la mejor manera y poder aplicar todos los conocimientos que había adquirido.

Mis primeros pasos que tuve del lado del back end fueron en un proyecto desarrollado en .NET. Antes de comenzar, tuve que entender diferentes conceptos nuevos para mí: que eran los controladores, entidades, modelos, migraciones, etc. Entender cada concepto por separado fue fácil, pero entender la manera en cómo funcionan conjuntamente y cómo se relacionan es algo que aún me sigue costando.

MEAN stack

Personalmente, empecé de igual forma a desarrollar back end servers utilizando NodeJS. Ya que previamente tenía conocimientos en Angular, me interesó bastante poder manejar el MEAN stack (MongoDB, Express, Angular y NodeJS).

Fue muy enriquecedor ya que de igual manera pude aprender nuevos conceptos y reforzar los previamente adquiridos: crear servicios REST, subir y administrar archivos en el servidor, Json web tokens, despliegues en Heroku, despliegues en Git y Github, SQL, MySQL, procedimientos almacenados, entre otros. 

Definitivamente esta transición que he estado teniendo ha sido realmente satisfactoria y gratificante. Poder entender cómo funciona el front end y el back end dentro de un proyecto me ha permitido tener una visión más amplia, lo cual conlleva a tener la capacidad de proponer nuevas ideas y mejoras que quizás antes no se me ocurrían. También he entendido que la comunicación entre los equipos del front end y del back end es fundamental y esencial para poder llevar a cabo un buen desarrollo de un software.

Para aquellas personas que están pensando en hacer esta transición del front end hacia el back end pero aún no han tomado la decisión, mi consejo es: háganlo, tomen el riesgo. Aprenderán muchas cosas nuevas, conceptos nuevos, verán como su visión de un proyecto se enriquece cada día mucho más, que de lo único que se arrepentirán, es de no haber tomado la decisión antes.

Team Member

Luis

DEVELOPER

June 14, 2021