nell’ambito dei nostri incontri periodici su argomenti correnti, come l’Intelligenza Artificiale (AI), l’ing. Wright ha tenuto una breve conversazione sul futuro degli sviluppatori software (la presentazione è qui di seguito acclusa).
Lo sviluppo applicativo e la Intelligenza ArtificialeDEF.pdf
Al termine ne è seguito uno stimolante dibattito, nel quale hanno fornito molte indicazioni utili, in particolare, due soci: Carla Trabuio e Ugo Fiasconaro . Proviamo a segnalare alcuni spunti di riflessione:
- Non solo gli sviluppatori devono conoscere e rimanere aggiornati con le rapide e frequenti innovazioni, ma devono acquisire nuove conoscenze e competenze connesse ai modelli di machine learning ed alle tecniche di deep learning;
- sono richieste approfondite conoscenze di matematica e statistica;
- bisogna che gli sviluppatori approfondiscano più di una tipologia di intelligenza artificiale, come ad esempio: modelli di apprendimento supervisionato, modelli di apprendimento non supervisionato, modelli di apprendimento semi-supervisionato, modelli di apprendimento per rinforzo, modelli di reti neurali convoluzionali (CNN), modelli di reti neurali ricorrenti (RNN), modelli di trasformatori, modelli di intelligenza artificiale generativa, modelli di apprendimento auto-supervisionato, modelli di machine learning ensemble. Esistono anche delle categorizzazioni per tipologia di lavoro che le AI sono in grado di svolgere, come: Computer Vision (CV), Natural Language Processing (NLP), Text-to-Speech (TTS), Speech Recognition, Machine Translation, Generative AI, Recommender Systems, Robotic Process Automation (RPA), Agent-Based Models, Optimization Models.
- si possono trovare molti sviluppatori “no-cod” indirizzati allo sviluppo sul front end, ma vi è difficoltà nel reperire sul mercato specialisti che possano affrontare sia il front-end sia il back-end;
- vi sono servizi applicativi esposti su Internet che consentono al front-end di avere il servizio del back-end;
- la stesura della documentazione può essere ottenuta automaticamente;
- esistono tecniche di prototyping che possono aiutare l’utilizzatore finale nell’ottenere rapidamente delle soluzioni applicative;
- l’aumento della produttività, determinato dall’utilizzo delle AI per la generazione di codice, può consentire di sviluppare nuove applicazioni che, per ragioni di priorità e costi, vengono utilizzate spesso una sola volta. Il problema relativo è che tali codici rimangono poi a lungo nel cassetto ma il riuso del software consentirebbe di fornire un miglior servizio al cliente, in termini di abbassamento di costo modularità di sviluppo e sicurezza del codice largamente usato.
Gli interventi dai soci sono stati molteplici ed alcuni di loro non hanno condiviso alcune affermazioni.
Ne discuteremo prossimamente…
Siete tutti invitati.
SV