L'esperienza nell'innovazione

Lo sviluppo di software è una professione giovane, se consideriamo la continua evoluzione, e stiamo ancora imparando tecniche e creando strumenti per farlo in modo efficace. Da quasi tre decenni sono coinvolto nell’innovazione tecnologica e negli ultimi dieci scrivo di modelli e pratiche che rendono più facile la costruzione di utili software.

Il sito è iniziato come un posto dove mettere i miei scritti, ma clienti e studenti mi hanno invitato a renderlo pubblico.

Dedicandomi anche alla pubblicazione di saggi e romanzi, ho pensato fosse naturale utilizzare la scrittura come veicolo di divulgazione principale, in parallelo alla mia attività di sviluppatore e formatore.

Se c’è un tema che attraversa il mio lavoro e la mia scrittura, è l’interazione tra la creatività umana — espressa attraverso la scrittura, il design e il pensiero critico — e le pratiche tecniche che rendono agile lo sviluppo del software pratico.

Mentre le specifiche della tecnologia cambiano rapidamente, le pratiche e i modelli fondamentali sono più stabili. Così scrivere su questi mi permette di avere articoli su questo sito che sono vecchi di diversi anni ma ancora rilevanti come quando sono stati scritti.

Man mano che il software diventa più critico per il business moderno, questo deve essere in grado di reagire rapidamente ai cambiamenti, consentendo di essere ideato, sviluppato e messo in produzione rapidamente.

Le tecniche di sviluppo sono iniziate negli anni ’90 e, nonostante l’avvento dell’AI, lo sviluppo richiede competenze e professionalità reali, non soluzioni improvvisate.

Il software deve essere ideato e realizzato in modo tale da essere in grado di adattarsi a modifiche impreviste delle funzionalità.

Uno dei modi più importanti per farlo è quello di scrivere codice chiaro, compatto e modulare

Creare software che abbia una buona architettura non è qualcosa che può essere fatto di getto, in un colpo solo.

Come la buona prosa: ha bisogno di revisioni regolari, tagli e implementazioni successive secondo quanto imparato su ciò che il prodotto deve fare e su come farlo al meglio, fino a progettare il prodotto utile a raggiungere gli obiettivi. 

Combinando molte piccole modifiche, gli sviluppatori possono rivedere la struttura del software supportando modifiche significative che non erano state pianificate quando il sistema è stato concepito la prima volta.

Rilasciare software è un processo lungo e complicato, che spesso ostacola la necessità di far evolvere rapidamente il lavoro. 

Insomma, lo scenario dello sviluppo del software è decisamente ampio e molti sono gli ambiti in cui un professionista può fare la differenza.

L’importante è eccellere in alcuni di questi.

I tuttologi, amati da questa società dispersiva e superficiale, sono portati a scomparire 😉