Desde Tecnologia y personas nos encontramos buscando un Desarrollador Front Angular para un importante cliente.
Lenguajes: • Typescript: nivel experto.
Domina la mayor parte de las características la última versión del lenguaje.
• Javascript?: nivel experto.
Domina la mayor parte de las características de ES5 y ES6.
• HTML: nivel avanzado.
Tiene conocimientos sobre el ciclo de vida del DOM y su funcionamiento.
Conoce algunas pautas de SEO con SSR y reglas de accesibilidad.
• CSS: nivel medio.
Conoce las reglas de especificidad, sabe maquetar una aplicación.
• SASS/SCSS: nivel básico/medio.
Conoce la nomenclatura BEM, los mixins, las variables, funciones, etc.
Bases: • Código limpio: nivel experto.
Domina todas las reglas de código limpio respecto a clases, métodos, propiedades, nombres, gestión de excepciones, comentarios, etc.
• Programación orientada a objetos: nivel experto.
Domina conceptos como cohesión, acoplamiento, jerarquía, modularidad, abstracción, encapsulación y sabe dar ejemplos de cada tipo.
• Principios de diseño: Sabe explicar y dar ejemplos de los S.O.L.I.D, YAGNI y KISS.
• Smells y refactoring: conoce los smells (anti patrones y malas prácticas) y cómo refactorizarlos a buenas prácticas.
• Patrones de diseño: conoce y sabe explicar la mayoría de los patrones de diseño.
• Testing: conoce las reglas F.I.R.S.T, conoce las partes de un test (Given/When/Then ó Arrange/Act/Assert), conoce deseablemente el patrón page-object.
Conoce los tipos de falsos dobles (spy, mock, stub, fake, dummy object) y sabe cuándo utilizarlos.
Conoce la pirámide de testing y sabe la diferencia entre test unitario, de integración y end to end.
• Arquitectura: nivel medio.
Sabe configurar un proyecto angular desde 0 y tiene experiencia haciéndolo de varios proyectos Frameworks: • Angular: nivel experto.
Sabe cómo utilizar la inyección de dependencias para sustituir dependencias, domina cuándo utilizar una Pipe, un Componente, un Módulo, Lazy Load de módulos.
Conoce prácticamente todos los métodos hook del ciclo de vida de componentes: ngOnInit, ngOnDestroy, etc.
Conoce estrategias de gestión de estados • Deseable conocimientos o experiencia con React y Vue.
Librerias: • Webpack: nivel experto, si conoce también herramientas similares mejor.
Conoce los loaders y plugins y ha programado alguno en una aplicación en producción.
Tools: • GIT: nivel avanzado.
Sabe hacer merges, merge-squash, cherry picks, crear ramas, hacer rebases, utilizar el stash.
• Jira: nivel junior.
Conoce la herramienta o herramientas similares.
• Confluence: nivel junior.
Conoce la herramienta.
• Jenkins o similar: nivel medio.
Tiene capacidad para crear una build de integración continua en Jenkins o cualquier otro software equivalente a Jenkins.
Tiene capacidad para crear un job de deploy continuo.
• Docker: deseable nivel junior.
Es deseable que lo conozca y lo haya utilizado.
• Node: nivel medio.
Conoce y ha trabajado con NodeJS en producción .
Se ofrece: Contratación indefinida 100% remoto