Competenze Backend
Lo sviluppatore deve conoscere l’ambiente ASP Classic se presente, comprendendo VBScript, i concetti base delle Active Server Pages, l’accesso ai dati tramite ADO e la gestione di oggetti come Request, Response, Session e Application.
È importante saper gestire la configurazione dei file Web.config e del deployment tramite IIS.
Competenze Frontend
Sono richieste solide competenze su HTML5, Ajax, CSS3 e Bootstrap 5, in particolare riguardo il sistema a griglia, la creazione di layout responsivi e l’uso delle classi utility.
È fondamentale conoscere JavaScript vanilla per la manipolazione del DOM, la gestione degli eventi e le validazioni lato client. La conoscenza di jQuery è spesso utile per progetti legacy.
Completano il quadro la capacità di usare gli strumenti di debugging integrati nei browser moderni (DevTools).
Competenze DevOps e Gestione Server
Lo sviluppatore deve sapere operare su ambienti Windows Server e configurare IIS per la pubblicazione delle applicazioni ASP.NET, con gestione di application pool, certificati SSL e permessi NTFS.
È inoltre richiesta familiarità con SQL Server per l’interazione e manutenzione dei database relazionali.
Tecnologie Moderne per la Migrazione
Lo sviluppatore deve conoscere il framework .NET Core o .NET 6-8, comprendendo l’uso di ASP.NET Core MVC.
È essenziale saper progettare e implementare RESTful API con serializzazione JSON.
Blazor rappresenta un’opzione moderna per sviluppare interfacce utente full stack su .NET.
È auspicabile acquisire conoscenza di framework JavaScript moderni come React.js, Vue.js o Angular, con preferenza per TypeScript.
La gestione dell’autenticazione tramite ASP.NET Core Identity, JWT token e protocolli come OAuth2 o OpenID Connect è parte integrante.
Strumenti DevOps e Gestione del Ciclo di Vita
Lo sviluppatore deve padroneggiare Git e le piattaforme di versionamento come GitHub, GitLab o Azure DevOps. È importante saper configurare pipeline CI/CD con GitHub Actions.
Competenze Trasversali
Lo sviluppatore deve saper effettuare refactoring progressivi, documentare correttamente l’evoluzione tecnica del progetto, lavorare per milestone ben definite e collaborare con designer UI/UX nella ridefinizione delle interfacce.
È auspicabile l’utilizzo di test automatici, sia unitari che end-to-end, per garantire qualità e stabilità durante la transizione.