Chi sono?

Ing. Stefano Benedetti

  • Classe 1974
  • Diploma di Ragioniere Programmatore - quasi come Fantozzi
  • Laureato in Ingegneria Informatica (vecchio ordinamento ci tengo a sottolinearlo Wink) indirizzo Sistemi ed applicazioni informatiche nell'anno 2000 (ebbene si, mi sono lauerato e c'è stato il crack di internet, che sia un segno?)

Tre giorni dopo la laurea ho fondato con 3 amici ingegneri "Endurance srl" società di consulenza specializzata in sviluppo web ed in amministrazione e progettazione di reti.

Lì ho cominciato a muovere i primi passi tra le mie due passioni: lo sviluppo software e la gestione di sistemi. Ancora oggi nonostante il grosso della mia attività sia nel campo dello sviluppo .Net mi trovo a studiare ed amministrare server sia per coltivare questa passione sia perchè ritengo che un'eccellente sviluppatore per essere tale debba conoscere bene sul campo la piattaforma composta da sistema operativo e prodotti server su cui sviluppare.

Andavo quindi dallo sviluppo VBA su Access (ho ancora i brividi al ricordo di quell'ambiente) al più piacevole e stimolante sviluppo ASP su IIS, all'amministrazione di reti Windows (su piattaforma 2000, che considero la prima vera serie ben fatta di sistemi operativi Microsoft). Ricordo con piacere il periodo di consulenza e amministrazione di rete presso l'allora Team di Formula 1 Minardi.

Nel 2003 ho deciso di seguire la strada della libera professione per potermi aggiornare in maniera più continua e per poter lavorare il più possibile con le ultime tecnolgie Microsoft rilasciate sul mercato.

Da allora la mia vita professionale è stata un susseguirsi di sigle e versioni:

  • .Net 1.0, 1.1, 2.0, 3.0, 3.5
  • IIS 6 e 7
  • VB.net e C#
  • Windows XP, 2003 Server, 2003 SBS
  • SQL 2000 e 2005
  • Visual Studio 2005 e 2008
  • HTML, XML, ASP.Net, AJAX
  • ecc. ecc. ecc.

In mezzo a queste sigle legate ai prodotti se ne sono sempre inserite altre legate all'Ingegneria del Software.

Fare software è complesso. Fare software funzionante e con pochi errori è uno stimolo quotidiano a migliorare. Fare software funzionante, con pochi errori e che corrisponda all'idea che ha in testa il cliente può rapidamente diventare un'utopia.

Ecco perchè ogni giorno penso a come scrivere codice in maniera più facile.
Come fare perchè il codice abbia il minor numero possibile di errori e sia facilmente manutenibile.
Come fare perchè il codice che ho scritto, tecnicamente bellissimo, documentato, testato, analizzato faccia ciò che vuole il cliente.

Uscito da Ingegneria avevo la testa piena di belle teorie relative all'ingegneria del software: dal più classico e diffuso modello a cascata, ai più esoterici Function Point o reti di Petri, dall'importanza della documentazione e dell'analisi dei requisiti.

Per 6 anni ho cercato di migliorare il metodo per definire l'analisi, per raccogliere i requisiti, per fare il progetto nel modo migliore in modo che il software facesse quello che si aspettava il cliente ed io lo potessi scrivere una volta sola, in maniera pulita ed ordinata e con una facile manutenzione.
E tutto ciò in perenne contrasto col fatto che il prodotto chiesto oggi deve essere pronto per ieri (ancora più vero nel mondo internet).

Una chimera.....

Era sbagliato l'approccio: non serve chiudersi in una stanza per mesi per analizzare i requisiti e pretendere poi che il progetto si adatti ai requisiti. Ogni giorno, ogni classe, ogni riga di codice chiedono di essere riscritte per potersi adattare alla realtà: non può essere la realtà che si adatta alle righe di codice!!

E qui si è aperto un nuovo capitolo professionale e di sfida ingegnerisitica: termini come Agile, XP Programming, TDD si stanno facendo strada nel mio modo di affrontare i progetti. Ed in tutto questo i prodotti di sviluppo Microsoft di ultima generazione sono eccezionali per adattarsi velocemente al quotidiano mutamento delle esigenze.

Maggiori informazioni sulla mia attività di consulenza, formazione e sviluppo sono disponibili sul sito: http://www.be-st.it/ 

Se preferisci puoi contattarmi direttamente.