Hace algunos años que vengo trabajando en el desarrollo enfocado a la web, y desde su versión 1.0, hasta este momento, los skills y/o habilidades de un “Desarrollador Frontend” han evolucionado bastante, ya no son simples documentos con etiquetas , y uno que otro estilo con .
Los skills han cambiado tanto que ya hablamos de la inclusión de patrones como , que fue implementado en el “olvidado” pero que con , no es propiamente un se ha llegado a aplicar, tema que hasta el momento suscita . También es importante ver la evolución y la expansión en las APIs del , que es definido por la :
Interfaz de programación de aplicaciones para acceder, añadir y cambiar dinámicamente contenido estructurado en documentos con lenguajes como ECMAScript (JavaScript).
¡Claro esta!, el DOM puede ser definido como el pan de cada día para un desarrollador Frontend.
¡Pero!, ¿cuales deben ser esos skills y/o habilidades?
¡Bueno!, vamos a ver, cuales son esos skills que no solamente he visto en ofertas laborales, sino, que en los grupos de desarrolladores de proyectos libres y no libres se evidencian:
Skills para CSS
- .
- .
- Métodos de posicionamiento en CSS: absoluto y relativo.
- Definir y combinar selectores CSS a grupo de elementos HTML, ID, clases, seudo clases, hijos o hermano.
- Sintaxis y declaraciones CSS, para las propiedades y atributos.
- Familiaridad y diferencias entre CSS2 y CSS3.
- Conocer los Media Queries y sus aplicaciones a dispositivos móviles
- Conocer, implementar y optimizar CSS con el uso de preprocesadores como: Sass+Compass, y/o Stylus.
- Optimizar el uso de Frameworks como , Bootstrap, Skeleton o Boilerplate.
Skills para HTML
- Saber la compatibilidad de las nuevas etiquetas de la especificación más reciente de HTML.
- Conocer el uso de la etiqueta meta viewport y la adaptación a las diferentes resoluciones.
- Manejo de formularios, sus novedades en HTML5 y compatibilidad con diferentes navegadores.
- Conocer como funciona la Geolocalización y como interactúa con el API de JavaScript.
- Aunque no esta trabajando backend, como interactuar con estos desarrolladores y darle uso a las APIs de Web Storage.
- Uso adecuado de las etiquetas Video y Audio.
- Los eventos del objeto Window del DOM.
- Buscar compatibilidad con los diferentes navegadores usando HTML5Shiv.
Skills para JavaScript
- Entender los operadores, variables, tipos de datos, objetos, propiedades y métodos.
- Comprender las estructuras tales como; funciones, objetos, sentencias control, arreglos, bucles (loops) y expresiones.
- Los procesos para la solución de problemas y la depuración (try/Catch).
- Validación a través de expresión regular.
- Pragmatizar la interacción de los objetos del DOM y de HTML, junto con sus propiedades.
- JSON y su principio sintáctico.
- No olvidar el uso de JavaScript Asíncrono y XML (AJAX).
- La gestión de los eventos.
- Utilizar herramientas de prueba y test de código en linea; como Codepen y/o JSFiddle.
- .
- Entender el cuando utilizar los patrones que se han desarrollado en JavaScript y en que casos son óptimos.
- JavaScript MVC
- Escalamiento de JavaScript para aplicaciones web.
- Trabajar con jQuery, pero entender que jQuery !== JavaScript, ¡lo complementa!.
Skills para la Ingeniería del Software y flujos de trabajo en equipos (básico)
- Haber jugado e instalado el sistema de control de versiones Git (Muy popular y usado en la actualidad).
- Tener una cuenta ya sea en GitHub (plataforma VCS basada en Git) o en Bitbucket (plataforma VCS basada en Git, mercurial y svn).
- Documentar el JavaScript con herramientas como JSDoc3
- Herramientas de desarrollo ágil como BDD (behavior-driven development) a través de Jasmine
- Haber trabajado con herramientas para la gestión e interacción con proyectos como: Trello, basecamp, Redmine, kickoff entre otros (…).
- Utilizar gestores de tareas con complementos que le inyectan esteroides a los proyectos como GruntJS.
- Cuando se presente un problema sea sencillo o difícil de solucionar; primero revisa referentes de discusión o debates en plataformas especializadas para esto, ej: StackOverflow.
Conclusiones
- Parecen bastantes skills y/o habilidades que se deben tener para ser un frontend experto, pero no es necesario tenerlas todas, pues muchas se van ganando con la experiencia y la interacción con grupos de desarrollo en cualquier nivel o ámbito.
- No te afanes, en HTML5 FÁCIL nos preocupamos por el bienestar de nuestros seguidores, miembros e integrantes (eres bienvenido a escribir un post), por lo que buscamos las mejores oportunidades de formación en las diferentes temáticas que tocamos, es por esto que puedes adquirir el certificado de frontend con uno de nuestros aliados estratégicos (Certificación Floqq de desarrollo Frontend Profesional).
- Es necesario en muchos casos que muestres código de ejemplo para saber en que proyecto estas, que has trabajado o que has creado por más sencillo que sea, por esto no olvides tener y alimentar tus cuentas en plataformas como GitHub y/o Bitbucket.
Por ultimo solo me resta invitar a complementar estas habilidades que en la experiencia he ido recaudando, seria interesante conocer tu opinión al respecto.

Un pensamiento en “¡Cómo ser FrontEnd y no morir en el intento!”