Recomendaciones y retos para transitar de front a backend
POR JOSE CAN / BACKEND DEVELOPER
En mis años de juventud (oigan al viejo), cuando asistía a la escuela de ingeniería, lo primero que me llamó la atención fue la programación. Mis primeras andanzas por este mundo fueron los algoritmos, que son secuencias de pasos para hacer determinada tarea o, en nuestro contexto, el proceso de decir a la computadora qué debe hacer y cómo lo debe hacer.
Mi travesía comenzó con programas para escritorio: básicamente los cotidianos que conocemos, como Chrome y las utilidades de Microsoft Office, entre otros. Así, desarrollé herramientas programadas que podían cumplir cierta tarea, por ejemplo, tomar el peso y la altura para obtener el Índice de Masa Corporal (IMC).
Después me enteré de la existencia de un entorno un poco diferente, donde lo que se creaba podría ejecutarse en cualquier navegador: el mundo web, el cual alberga miles de sistemas que nacen como una idea y se materializan para llegar a los usuarios, facilitando procesos y tareas concretas, como sacar una cita o conectarnos con otras personas.
Frontend
En lenguaje humano, el frontend es lo primero con lo que nos topamos al ingresar en una página web. Desde el diseño, con sus colores, hasta el comportamiento que surge al dar clic en un botón que se encuentra en la página. Detrás de escena, hay tres tecnologías principales que dan forma, color y funcionalidad a nuestra idea:
- HTML (HyperText Markup Language o Lenguaje de etiquetas de hipertexto). Tomándolo como analogía, es el que da el esqueleto a nuestra página web y el encargado de orquestar cómo van estructurados los componentes que conforman lo que vemos en el navegador.
- CSS (Cascading Style Sheets u hojas de estilo en cascada). Son las encargadas de que nuestra página web se vea bonita. Con sus colores y su personalización le da el atractivo que se necesita. De cierta manera, con CSS es posible acomodar los elementos que no podemos acomodar con HTML.
- Javascript (JS). Es el lenguaje de programación encargado en la web de darle funcionalidad a nuestra página. Me atrevo a decir que en la mayoría de los casos no basta con que un sitio web sea bonito, también debe ser funcional. Tanta es la ayuda de JS, que ahora podemos tener cambios sin necesidad de redirigir o recargar nuestra pantalla.
Backend
Un dato interesante, y que debemos tener muy en cuenta, es que todo lo visible en la página es accesible y modificable desde el navegador, aunque quizás no con mucha facilidad, hablando de la parte programable (JS), porque algunas herramientas nos ayudan a “esconder” cómo se da cierta funcionalidad, pero al final de cuentas es código accesible.
Por este tema de seguridad no podemos tener datos sensibles del lado del navegador, debido a que no es recomendable tener bases de datos con información que podría comprometer seguridad e integridad de datos del sistema. Y es aquí donde entra el servidor (el lado oscuro, backend), el cual se encarga de recibir, procesar, abrir/cerrar conexiones y devolver una respuesta.
Existe una gran variedad de lenguajes de programación que se utilizan para este lado, entre los más conocidos podría listarse C#, PHP, Python, Go, Java, entre otros. Esto, sin contar con la parte de infraestructura que podamos tener, que al final nos da un poco de seguridad adicional, todo, en completa armonía para un fin, materializar una idea y hacerlo visible.
Recomendaciones
Por un tiempo estuve trabajando en backend y frontend al mismo tiempo. Esto me ha ayudado a comprender cómo funcionan, desde los servicios de infraestructura, hasta la parte visual. Aquí te comparto algunos consejos.
- Aprende los conceptos básicos. Hay una gran variedad de lenguajes de programación, pero éstos tienen ideas clave que comparten. Al comprender esas bases te darás cuenta de que la única diferencia es la sintaxis del lenguaje.
- Adapta lo aprendido. Ya que tengas claras las bases y lo hayas implementado en un lenguaje de programación concreto te será más fácil pasar a otro lenguaje. Sólo tienes que buscar cómo replicar algo que ya hiciste anteriormente, pero hacerlo con el lenguaje actual.
- Busca ayuda. Si sientes que se te está dificultando la transición de un lenguaje a otro es probable que alguien experimentado en el tema te pueda ayudar. Por ejemplo, hay foros, como StackOverflow, donde otras personas han tenido asuntos similares y la comunidad les apoya orientándolas.
- No te frustres. Como cualquier cosa nueva, al principio puede parecer imposible, pero al practicar a diario te vas haciendo más experto en la materia: todos empezamos aprendiendo (algo) de cero y en la actualidad lo hacemos con gran normalidad.
Sobre todo, sigue aprendiendo, pues cada paso te acerca a ser un gran desarrollador.