Front-end Developer

Al ser parte de una pequeña empresa de tecnología en rápido crecimiento he visto cómo es que nacen nuevas vacantes debido a carga de trabajo o crecimiento de proyectos. He notado surgir naturalmente necesidades de delegar y modularizar responsabilidades en un equipo de trabajo en proporción a su evolución y en mi experiencia la posición más controversial, difícil de encontrar y validar ha sido la de un Front-end Developer.

Cuando se habla de un desarrollador Front-end en contexto de desarrollo Web se hace referencia en alto nivel a una persona con habilidades técnicas para trabajar con tecnologías que son consumidas directamente por usuarios a través de navegadores de internet como HTML, Javascript, CSS, etc. (También llamadas tecnologías de lado del cliente). Estas habilidades incluyen lógica de software, optimización, un alto entendimiento del funcionamiento de una aplicación Web y el plus de User Experience (UX) junto con sensibilidad por buen diseño que los hace ver como “unicornios” dada la complicada mezcla de habilidades técnicas y artísticas.

En lo personal considero importantes las habilidades de un Front-end developer para poder hacer que un producto digital sea visualmente atractivo pero no diría que es indispensable ya que esa parte puede ser delegada a alguien más especializado en diseño. Por otro lado considero que un Front-end developer debe de tener más habilidades técnicas que las mencionadas anteriormente, debe de estar más familiarizado con los ciclos de vida y desarrollo de software en un nivel más avanzado con conciencia de mantenibilidad, portabilidad, vanguardia, seguridad y agilidad, teniendo éstas características se convierte en un elemento muy valioso dentro de una empresa estos días, creo que se le podría llamar Front-end Engineer, una persona capaz de desarrollar en su totalidad aplicaciones de lado del cliente desde el análisis, diseño, centralización de flujos, separación de componentes y empaquetado para su ágil distribución y ejecución. Son muchos aspectos a considerar para una aplicación Front-end moderna, factores que influyen visualmente como la variedad de resoluciones en pantallas de dispositivos y factores que pueden afectar funcionalmente como la variedad de navegadores de internet y sus versiones que podrían ser incompatibles con algunas aplicaciones. Estos factores que agregan un poco de complejidad requieren que el desarrollador esté siempre actualizado, investigando, en constante aprendizaje y tenga un alto interés o pasión por la Web.

El camino de un Front-end Developer

En mi experiencia y tomando de ejemplo desarrolladores mexicanos he visto algunos patrones que han seguido para convertirse en Front-end Developers:

  • Estudiantes/Egresados carreras de diseño gráfico o afines que han tenido la iniciativa de aprender aspectos técnicos para expander sus oportunidades laborales o para llevar su trabajo personal a un nivel digital, este camino trae desarrolladores con habilidades visualmente muy atractivas sin embargo al no tener fuertes bases de programación a largo plazo los proyectos realizados se van haciendo complicados de mantener, actualizar y crecer.
  • Programadores que por necesidad han brincado la linea y empiezan a trabajar de lado del cliente, en este caso con una filosofía y habilidades técnicas muy diferentes se obtiene otro tipo de resultado, por lo general tecnicamente mejor sin esperar un muy buen resultado visual.

Aunque es difícil lograr un equilibrio técnico-artístico, es posible ya sea por talento y práctica o simplemente se puede delegar el lado visual.

Personalmente parte de mi aprendizaje fue de malas experiencias, hace años trabajé en un proyecto grande que era 80% código de lado del cliente y fui testigo de cómo se hizo inmantenible, archivos de miles de lineas, no había pruebas unitarias ni patrones en ninguno de los flujos, cada quien hizo las cosas a su manera, era un terror hacer cambios, tomaba mucho tiempo, era riesgoso y eso es un factor desmotivante para los mismos developers. Aunque no terminó nada bien el proyecto fue una revelación para nosotros, el Front-end no es un juego ni “cosa de diseñadores”, debíamos de seguir las mismas buenas prácticas que conocíamos trabajando en Back-end.

De cualquier camino que venga alguien interesado en el desarrollo Front-end hay mucho por aprender, es toda una ciencia en la Web actual para poder darle una larga vida a grandes proyectos y una gran oportunidad para estudiantes y profesionistas que buscan especializarse en alguna rama del desarrollo de software, se consideran dentro de los más buscados por empresas de tecnología en la actualidad y por lo tanto son bien pagados.

Sobran recursos para aprender Front-end development, cursos en línea o presenciales, foros, artículos y comparaciones de todas las opciones de librerías y herramientas disponibles para empezar en este ecosistema en crecimiento, si te gusta la idea es un buen momento para empezar.

Te comparto una opción para iniciar de mis amigos de Hacker School Monterrey:

Teaser: https://frontend-workshop.boletia.com

Curso completo: http://hackerschool.mx/frontend