Responsabilità principali: Sviluppo di applicazioni SPA utilizzando Angular (versione 12 o superiore) , con approfondita conoscenza di componenti, servizi, moduli, routing e lifecycle hooks. Gestione di flussi asincroni e reattivi utilizzando RxJS , con competenza nell’uso di Observable , Subjects e operatori come map , filter , switchMap , mergeMap , ecc. Implementazione di test end-to-end (E2E) utilizzando Cypress , con focus su test di flussi critici per garantire la qualità e la stabilità dell’applicazione. Applicazione della metodologia Test-Driven Development (TDD) , con la scrittura di test unitari utilizzando Jasmine o Jest , seguendo il ciclo red-green-refactor . Progettazione e sviluppo di interfacce utente responsive utilizzando HTML5 , CSS3 , SCSS e tecnologie come Flexbox e Grid . Sviluppo avanzato in TypeScript , inclusa la gestione di tipi personalizzati, interfacce, generics e decoratori. Utilizzo di Git per il controllo di versione, inclusa la gestione di branching, pull requests e code review. Requisiti: Esperienza consolidata con Angular (versione 12 o superiore) e capacità di lavorare su applicazioni SPA complesse. Padronanza di RxJS per la gestione dei flussi asincroni. Esperienza con l’automazione dei test end-to-end tramite Cypress . Competenza nell’approccio Test-Driven Development (TDD) e scrittura di test unitari con Jasmine o Jest. Solide competenze in HTML5 , CSS3 , SCSS , e progettazione di layout responsive. Ottima conoscenza di TypeScript e delle sue funzionalità avanzate. Esperienza con Git e strumenti di controllo di versione.