Il mio 2010

14 dicembre 2010

Un anno di incazzature, sorprese, delusioni, idee e nuovi progetti ma la sensazione di “non-completezza” è sempre li in agguato. Personalmente ho vissuto questo 2010 pieno di aspettative, con tante idee per la testa, alcune realizzate, altre in parte e poi ci sono tutta quella infinità di progetti che vorrebbero prender vita ma la cui fattibilità è sempre messa in discussione grazie a quelle che sono le 24 ore che tutti noi abbiamo a disposizione e che pur troppo non bastano mai!

Un anno fatto di tanti momenti in cui il nervosismo prende il sopravvento, in cui tanta gente, maleducata e scortese pensa di potersi prendere gioco di te, un anno in cui hai la possibilità di capire che il cliente ha ragione quando paga, non se hai la fortuna di poter scegliere con chi avere a che fare e di selezionare i tuoi lavori. Allo stesso tempo ho avuto modo di lavorare con persone che ti apprezzano e valorizzano, clienti che sono in grado di trasmetterti quella soddisfazione che solo tu, dopo tutto il lavoro che hai fatto, sei in grado di poter percepire.

Un anno fatto di sorprese, una ragazza che ogni giorno continua a sopportarmi nonostante le mie passioni e la mia ostinazione nel volerle sempre parlare dei miei progetti, delle mie ambizioni e dei miei piani futuri, mai stanca del mio continuo parlare; dei genitori ed una sorella fantastica sempre vicini ed in prima linea per questo ragazzo che ha sempre la testa da un’altra parte!

Un anno fatto di idee e progetti, scaturiti dalla voglia di spingersi sempre più verso qualcosa di grande e soddisfacente. Un periodo in cui ho avuto la fortuna di poter collaborare con persone straordinarie accomunati da un obiettivo. Forza di volontà, ottimismo e voglia di conoscenza sono alla base di questo 2010.

Un anno all’insegna della “non-completezza”, quando hai tanto in testa e poco tempo per fare tutto, in alcuni momenti hai la sensazione di non farcela, poi, grazie sempre a quelle persone che ti sostengono e ti sono vicine, una spinta ad essere più forte ed attivo di prima arriva ed è proprio in quei momenti che ritrovi lo spirto giusto per rimetterti a fare quello che hai lasciato a metà.

Un amico, tempo fa, mi ha “regalato” un consiglio, un suo modo di fare che si è rivelato per me grandioso: un foglio, una penna e tanta attenzione nel catturare ogni idea che la testa tira fuori, annotarle e tenerle sempre d’occhio, capire quando è il momento di di mettersi all’opera. Nella mia stanza c’è un foglio, appeso al muro, cosi visibile che nemmeno mia madre può fare a meno di notarlo, tanti punti da completare, tante cose da fare, tante X sopra ad ogni frase per indicare ciò che sono riuscito a fare e ciò che ancora è in attesa di essere fatto. Mi basta guardarlo per sentirmi soddisfatto di quello che sono oggi pensando che domani quella lista sarà ancora più lunga e con più X ad indicare ogni mio nuovo traguardo.

Da quando ho imparato a camminare mi piace correre. (Friedrich Nietzsche)

Quasi esaurito finalmente libero…

29 ottobre 2010

(In questa foto o tra un paio di giorni se vado avanti cosi)

Manca poco, questi ultimi due mesi sono stati davvero molto movimentati. Tra lavoro ed impegni vari la fiesta della pubblicità non è mai bastata. Nemmeno un panino, è servita sempre più roba per tenermi in forma ed operativo.

Tra mal di testa, strappi alle gambe e braccia doloranti (si faccio lo sviluppatore, anche se per quanto detto sembra più che altro che io sia uno scalatore e roba del genere, semplicemente vado in palestra e faccio auto-distruzione) ho completato alcuni progetti e sono in procinto di avviarne altri. Però questo fine settimana si chiude un capitolo e come qualcuno della mia famiglia dice: chiuso una porta si apre un portone.

Quello che mi aspetta è un garage, sono proiettato già a Natale per non pensare a cosa c’è dentro questo locale, un tavolo, gli amici, le carte e tante risate mentre sono ancora tra computer, vere e proprie tazze di succo ACE (in America si usa il caffè, date le mie abitudini, per limitarmi, quando lavoro a casa preferisco andare sulla frutta per ricordarmi che sto per arrivare alla frutta!).

L’assenza di un buon cellulare nelle mie tasche mi ostruisce la mente e mi rende nervoso (la mia ragazza ne sa’ qualcosa), non riesco a tenere i contatti, rispondo a chiunque mi chiami chiedendo “Chi sei”, in questi giorni utilizzo un cellulare paragonabile “alla sostituta”, la famosa macchina nel film “The Mask”, data a Jim Karrey quando la sua si è rotta, device con cui non ho per niente un buon rapporto. Sfrutto la mia ragazza, che con molta pazienza mi chiama quando io le chiedo di chiamarmi, cioè quando sono in macchina e l’auricolare Bluetooth integrato è l’unica pace dei sensi. Proprio in merito a questa situazione si prospettano sorprese (ecco perché preferisco proiettarmi verso natale), un nuovo cellulare è in arrivo, ci scriverò qualcosa su non appena sarà nelle mie mani e se non sarò arrivato realmente alla frutta!

Oggi, tanto per concludere, un mio amico mi ha quasi convinto a comprare un eBook Reader (facendomi entrare in piena crisi) cercando di convincermi che un giorno potrebbe piacermi cosi tanto da indurmi a sostituirlo alla mia ragazza (il termine “quasi” deriva proprio da questa sua ultima affermazione, anche lui, come me, ultimamente lavora troppo e dice parole in maniera random).

Ah, per finire, uso una bella frase che ho letto su un libro ieri mentre ero due minuti fermo in cucina prima di tornare a lavoro:

Dove tuona un fatto, siatene certi, ha lampeggiato un’idea.

Ultimamente il mio cervello è affollato da forti precipitazioni accompagnate da tuoni e lampi.

Stay tuned!

Quando un Design Pattern ti evita l’esaurimento nervoso

22 ottobre 2010

Tempo fa’ (tanto tempo), un mio amico per cui nutro grandissima stima, mi ha consigliato un libro molto interessante in cui, molti dei Design Pattern che oggi si utilizzano, vengono spiegati ed approfonditi cosi attentamente da risultare praticamente impossibile non capire cosa c’è scritto.

Sto parlando di un libro intitolato Patterns of Enterprise Application Architecture di Martin Fowler, uno dei migliori acquisti che abbia mai fatto!

Oggi, a distanza di moltissimo tempo (circa 6 mesi), ho rimesso mani su un progetto di cui, io stesso, l’autore, ne avevo dimenticato completamente l’esistenza. Un sistema abbastanza complesso per l’elaborazione di dati provenienti da diverse sorgenti, un contenitore di informazioni allo stato puro, un “Tracking System”, un fattorino, un sistema di lavaggio, in somma una miriade di funzionalità, si documentate (da un analisi allegata sempre scritta da me), ma… come fai a distanza di 6 mesi a metterci mani per modificare il codice?

Mi collego al magnifico (si fa’ per dire, prenderei volentieri a pugni colui che ha inventato questo sistema di versioning) Microsoft Visual Source Safe aziendale e scarico tutto il progetto, durante l’operazione di Download inizio già ad avere la pelle d’oca, i file sono tantissimi, ed inizio a pensare “Da dove devo iniziare?”.

Completato l’allineamento apro la Soluzione e SORPRESA!

Ritrovo un progetto che mi ricorda tanto ASP.NET MVC (peccato che lo stesso progetto è realizzato, per questioni di Legacy, in .Net Framework 2.0) per la sua struttura interna:

  • Content
  • Models
  • Views

La mia prima reazione? Un Sorriso, immaginavo di aver messo insieme diverse tecniche e utilizzato molteplici strumenti per realizzare qualcosa di molto molto facile (data la futura previsione di introdurre miei colleghi allo sviluppo dello stesso). Provo ad espandere la voce Models e capisco subito con cosa ho a che fare guardando semplicemente la ripetizione dei suffissi con cui i nomi file si alternano in questa cartella:

  • Entity1.cs
  • Entity1TableGateway.cs
  • Entity2.cs
  • Entity2TableGateway.cs
  • Build.bat

Figo! Non ricordavo di aver usato un Design Pattern (sarebbe stato anormale il contrario in un progetto del genere), la cosa che non capisco è quel Build.bat finale, la cosa simpatica è il commento che 6 mesi prima ci ho lasciato dentro!

/*
 *	Ciao Roberto! Sono sempre io... Roberto, cioè sono tu!
 *	Immaginavo non ti ricordassi di me, ti scrivo, in 
 *	questo commento per darti una fantastica notizia, 
 *	ti basta eseguire questo batch, se hai modificato 
 *	la struttura delle tablle nel db, per rigenerare
 *	l'intera base dati sotto .Net con un misto Design 
 *	Pattern (TableGateway e Transaction Script)
 *	
 *	Tuo, tu.
 */

Si, mi sono commosso davvero tanto leggendo queste parole…. ho riso come un pazzo per 5 minuti! La bellezza dei Design Pattern la si nota per due motivi:

  1. Te ne ricordi facilmente il funzionamento.
  2. Quando hai capito come funziona la giostra, sei in grado di creare la catena di montaggio che la costruisce!

Uno sviluppatore non passa solo per il codice.

5 agosto 2010

Tempo fa’ avrei detto che è necessario semplicemente conoscere abbastanza bene una piattaforma, lavorarci per un po’ e realizzare prodotti di buona qualità per ritenersi un buon sviluppatore ma in realtà non è cosi. Molte volte il nostro compito si distacca notevolmente dalle normali abitudini, soprattutto per chi come me, lavora in un azienda in cui è richiesta molta flessibilità e se oggi sono sviluppatore, nessuno vieta che domani dovrò risolvere un problema di rete.

Si, da me è cosi! Partendo dalla semplice attività di Deploy in cui è richiesta tutta la mia concentrazione per preparare il server, installare il prodotto e testarlo prima della presentazione fino alla ricerca di piccoli problemi di cuore software tali da rendere la vita impossibile a chi li utilizza.

Image

Risolvere un problema non è tutto, realizzare un software nemmeno, se questo non funziona (scoperta dell’acqua calda), accompagnare il cliente nel processo di post-produzione e preparazione all’utilizzo è un buon punto di partenza, cercare di renderlo partecipe ad ogni singolo Step è il massimo.

Mi capita spesso di accompagnare il cliente nei processi di “elaborazione dei dati” ed è proprio qui che mi rendo conto di quanto sia importante la comunicazione. Nella maggior parte dei casi, quando hai la possibilità di parlare con qualcuno che è disposto ad ascoltarti, puoi permetterti di spiegare e dettagliare il lavoro che stai facendo, molte volte vieni anche apprezzato per questo tuo modo di fare, dall’altro lato c’è qualcuno che è fortemente interessato ad acquisire le tue conoscenze e nello stesso tempo entusiasta di aver realizzato alcuni obiettivi senza troppe difficoltà.

Altre volte ti verrebbe quasi spontaneo fornire una soluzione con “timer” o “auto-bomba” che dopo un certo periodo di tempo esplode, questo succede quando c’è qualcuno lavori per qualcuno che proprio non riesce a non sentirsi più importante di te. In questi casi la tua mente inizia a pensare a soluzioni drastiche che nemmeno il miglior antivirus riuscirebbe a fermare, poi ti rendi conto che stai lavorando e queste situazioni fanno parte della tua professione!

Ogni persona ha un suo ruolo, il nostro molte volte non è solo quello di dare numeri, preparare GANT, casi di test e quant’altro, è importante rendere partecipe chi ci circonda, quello che io definisco l’obiettivo principale del nostro lavoro: il cliente soddisfatto. Un cliente che quando comunica un problema è realmente cosciente di ciò che sta dicendo, un cliente preparato e istruito sullo stesso prodotto che ha acquistato e sul quale intende investire. In definitiva un cliente che acquisisca un livello di conoscenze tali che gli permettano di apprezza il software.

Quante volte ci capita di avere a che fare con clienti scontrosi che sono solo in grado di dire “non funziona niente” mentre il vero problema era semplicemente il loro vuoto mentale sull’argomento? A me è capitato (e capita) tante volte.

Concludendo… solo oggi mi rendo conto che non scrivo solo codice (bella prospettiva se fino a poco prima di questa affermazione ero solito considerarmi un ibrido tra uomo e macchina o una scimmia… tipo Code Monkey).

3 anni di Blog!

12 luglio 2010

kubrickheader Questo blog è relativamente nuovo, ma proprio oggi parlando con un mio collega ho ricordato qualcosa… sono tre anni che scrivo. Ho iniziato nella maniera più semplice possibile. Sono stato guidato da un amico che mi ha mostrato un mondo a me sconosciuto fino a quel momento! Era un giorno di Aprile quando ho installato per la prima volta WordPress su uno spazio web simile a questo, a quel tempo mi divertivo molto a sviluppare piccole applicazioni in PHP e quindi l’idea stessa di gestire un sito web fatto di quella “materia” non poteva essere altro che una sfida, solo più in la mi sono reso conto che la vera sfida era parlare di me stesso e di quello che a me piace!

Subito dopo aver aperto il blog ho partecipato ha diversi Barcamp nella mia città, nel primo ho tenuto una piccola presentazione, sempre insieme al mio amico, argomento? Cos’è il Digital Divide? Ricordo che a quel tempo era un argomento non molto in vista, poi con il tempo… ha avuto l’importanza dovuta! Prima degli esami il blog era il posto in cui sfogavo tutta la mia tensione per quello che stavo affrontando, dopo è diventato il posto in cui ho iniziato a parlare del mia entrata nel mondo del lavoro e dopo ancora… ho abbandonato, i troppi impegni, la necessità di studiare e prepararmi meglio per affrontare il ruolo che mi era stato affidato in azienda, ruolo per cui non mi sentivo all’altezza e per cui ho combattuto. Ricordo nottate passate a leggere, ricordo giornate tra ufficio e libri, tra consigli e ripensamenti, tra lacrime e dubbi, non c’era più posto per il blog fino a quando non sono riuscito a trovare il mio equilibrio. A distanza di 3 anni ho colmato le mie lacune e riacquistato consapevolezza di me stesso e di quello che posso fare. Oggi affronto ogni ostacolo come una sfida, ogni problema come una gara in cui poter dar prova delle mie capacità e capire quali siano i miei limiti.

Oggi riesco a scrivere un blog in cui parlo dei miei interessi e del mio lavoro, soprattutto di questo.

Una volta che hai fissato bene la corda puoi scalare la montagna senza troppi problemi

questo è quello che faccio ora, il blog mi da soddisfa, mi dà la possibilità di confrontarmi e nello stesso tempo di aiutare gli altri, riesco sempre a trovare il tempo per un articolo, un pensiero o una piccola guida su come risolvere un problema. Sembrano sciocchezze ma per me è una necessita condividere con gli altri qualcosa che ho trovato inizialmente difficile o interessante. Oggi sono contento, più calmo e con tanta voglia di continuare a discutere!

N.B.: nella foto una porzione dell’intestazione del mio primo blog, musa ispiratrice di questo articolo!