.Para importante empresa del sector Tecnología, buscamos profesional con una gran experiencia desempeñando el rol de Arquitecto Front End con Angular.Conocimiento en lenguajes: Typescript: nivel experto. Domina la mayor parte de las características de 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 y sabe maquetar una aplicación.SASS/SCSS: nivel medio. Conoce la nomenclatura BEM, los mixins, las variables, funciones, etc.Prácticas: 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, orientativamente serían las prácticas del libro de Martin Fowler.Patrones de diseño: conoce y sabe explicar la mayoría de los patrones de diseño, poniendo ejemplos.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. Haber implementado y conocer diferentes alternativas de arquitectura de frontend web tipo SPA.Framework: Angular: nivel experto. Sabe configurar un proyecto Angular desde 0. 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 métodos hook del ciclo de vida de componentes: ngOnInit, ngOnDestroy, etc. Conoce estrategias de gestión de estados. Debe ser capaz de desarrollar aplicaciones modulares y escalables, optimizando la integración y el rendimiento.Librerías: Webpack: Conoce los loaders y plugins y ha programado alguno en una aplicación.Tools: GIT: nivel avanzado. Sabe hacer merges, merge-squash, cherry picks, crear ramas, hacer rebases, utilizar el stash.Confluence: conoce la herramienta.JIRA: conoce y ha utilizado la herramienta.Jenkins o similar: nivel medio. Tiene capacidad para crear una build de integración continua en Jenkins. Tiene capacidad para crear un job de deploy continuo.Node: nivel inicial. Conoce y ha trabajado con NodeJS en producción.GCP (Google Cloud Platform) - GCE: nivel medio.Metodologías: Agile: conoce los principios y los sabe aplicar