Avventure e disavventure dal mio piccolo universo

domenica 7 marzo 2010

Piccolo pensiero strategico

[..]a business organization cannot improve its long-run financial results by working to improve its financial results. But the only way to ensure satisfactory and stable long-term financial results is to work on improving the system from which those results emerge.

H. Thomas Johnson's article Manage a Living System, Not a Ledger

mercoledì 17 febbraio 2010

La cosa più importante

Durante il Forex ho avuto l'occasione di scambiare quattro chiacchiere con una persona di una azienda la cui offerta è in parziale sovrapposizione con quella della mia (insomma un concorrente). Parlavamo dei problemi che incontramo nel nostro lavoro quotidiano visto che ci occupiamo delle stesse cose. Molto gentilmente mi ha spiegato cosa loro stanno facendo per migliorare il loro processo produttivo, con alcuni spunti interessanti, tipo uso di indicatori e di indici per misurare il lavoro; ad un certo punto mi ha chiesto:

"Qual'e' la prima cosa che pensi vada affrontata dal tuo punto di vista?"

Non ci ho pensato, ho risposto immediatamente, di getto perché mi ero già fatto questa domanda, la mia risposta non era ancora chiara nella mia mente fino a quell'istante. La mia parte di cervello verbale (L-mode) ha subito approfittato del lavoro svolto in background dalla parte creativa (R-Mode) e la mia risposta è stata:

"La motivazione delle persone"

Il mio interlocutore, probabilmente, non si aspettava quella risposta e ha subito ricondotto il discorso verso la sua zona di comfort.

La mia risposta era in realtà ancora incompleta, ora risponderei:

"La motivazione delle persone nel migliorarsi"

Sono certo che questa sia la prima cosa che non vedo (abbastanza) intorno a me, ma è la più importante.
Le persone con cui lavoro sono in grado di affrontare e risolvere problemi complessi e in poco tempo molto meglio di me; alcuni riescono a produrre quantità di codice sufficientemente corretto in tempi incredibili: sono veramente da ammirare. Ma affrontano i problemi a testa bassa uno dopo l'altro.

E quindi per migliorare il processo produttivo, ma non solo, occorre alzare la testa, e non basta che uno solo la alzi, occorre creare e sviluppare la motivazione al miglioramento in tutte le figure professionali.
Migliorare non vuol dire imparare cose nuove o usare nuove tecnologie, aspetto comunque fondamentale del nostro lavoro, ma soprattutto osservarsi e chiedersi come sia possibile usare i propri strumenti al meglio e il cervello è il primo strumento del nostro lavoro, prima dei tool, dei linguaggi e delle tecnologie e di tutte le buzzword che ci bombardano.

Migliorarsi è faticoso, la motivazione al miglioramento non può essere imposta proprio perché è prima di tutto personale, ma se un gruppo può contare su persone che vogliono migliorare è impossibile che il gruppo non migliori.

La motivazione nel migliorarsi è per me la cosa più importante.

martedì 2 febbraio 2010

Clean Code

Ho cominciato a leggere Clean Code. Già solo l'introduzione e il primo capitolo valgono il prezzo del libro. Non vedo l'ora di continuare a leggerlo.

lunedì 1 febbraio 2010

DRY vs Security

Quando si parla di siti web e security é facile rischiare di essere superficiali o farsi prendere dal panico. A me almeno é capitato. La superficialità ci porta ad esempio a pensare che i tool o i framework ci mettano al riparo dai problemi; il panico ci porta all' overengineering. Il risultato é comunque negativo.
Per rispondere coerentemente é necessario coltivare comunque la propria conoscenza; questo non rende il nostro software sicuro in assoluto, beato chi ci riesce, ma ci permette di guardare al problema obiettivamente identificando strategie e principi che minimizzino le attack surface.
L'anno scorso mi é stato consigliato un libro illuminante in tal senso (Ajax Security). Consiglio a chi ha qualche dubbio di dare una occhiata a questo testo, scoprirà come le paure sono fondate, ma anche che un approccio sistematico all'argomento é fondamentale per ottenere buoni risultati.

Programmare orientati alla sicurezza può portare però a violare altri principi di buona programmazione, un esempio che ho vissuto riguarda il DRY. Il principio DRY é in contrasto con un approccio tipo defence in depth (DID). Sequendo questo principio ad esempio la sicurezza di ogni layer non può e non deve essere mai delegata ad altri (someone else's problem). La ridondanza, e la duplicazione dei controlli sono quindi un effetto voluto usando un approccio DID. Nella mia esperienza ho adottato un principio importante "Validate Early Validate Often" (VEVO). Ogni layer all'interno del sistema é responsabile della validazione dei parametri che riceve, secondo le sue conoscenze e i suoi scopi. Ovviamente questa non é una risposta ai problemi di sicurezza ma un approccio alla defence in depth.

Usando un approccio VEVO e costringendo i membri del team a identificare percorsi diversi alla validazione dei dati, mi sono però scontrato con una certa resistenza dovuta alla duplicazione di logica di validazione, in pratica c'era che si opponeva all'approccio dando come giustificazione il mancato rispetto del principio DRY. Eppure anche quando si parla del principio DRY ( vale anche per Separation of Concers e Once And Only Once), occorre valutare attentamente se esistono dei requisiti in contrasto; a mio parere se la sicurezza é un requisito é possibile che si debbano sacrificare altri principi in suo onore.

lunedì 25 gennaio 2010

UGI Alt.Net Conference

Sabato scorso ho partecipato alla UGI Alt.Net Conference.

La giornata è stata stimolante, non tanto per i contenuti, interessanti anche se affrontati un po’ superficialmente, ma per l’entusiasmo delle persone. Ho con piacere notato che l’oggettiva situazione sta cambiando grazie anche a movimenti come Alt.Net.

Nei giorni scorsi si sono aperte alcune discussioni attorno ad Alt.Net e alla diminuita forza del movimento, ci sono posizioni ragionevoli e proposte, mi auguro che in Italia ci sia la forza e la volontà di continuare anche con diversi modelli.

La mia proposta per la prossima sessione è meno conferenza e più open space, maggiore coinvolgimento delle persone realmente interessate e che hanno qualche cosa da dire.

Idealmente mi piacerebbe che gli incontri non abbiano obiettivi puramente divulgativi; mi è spiaciuto sentire nei corridoi che alcuni argomenti trattati erano complete novità per alcuni: trovo questo fatto contrario allo spirito di un simile incontro. Intendiamoci non lo era nell’idea degli speaker e degli organizzatori, ma forse lo era nella testa di alcuni partecipanti.

Il mio personale approccio è stato ad esempio di non partecipare ad alcun incontro di cui non conoscessi almeno alcuni cenni, se non addirittura provato sulla mia pelle.
Ritengo che ognuno debba portare il suo piccolo contributo, la propria esperienza, anche negativa, per cercare di crescere e di capire come altri abbiano affrontato e superato gli ostacoli.

Sto pensando già ad argomenti per la prossima sessione e forse potrei propormi come speaker. Chissà.


Ringrazio tutti per le piacevoli ore passate in particolare Simone con cui mi scuso per averlo coinvolto in una piccolo dialogo un po’ senza senso sul futuro di Alt.Net, Omid per la presentazione ma soprattutto per piacevole compagnia durante la cena (assieme agli altri commensali!).
Devo citare Chris e Hadi per la loro pazienza nel sopportare senza lamentarsi le conversazioni in italiano. La loro presenza è stata molto bella e Hadi è un comunicatore eccezionale, un vero modello.

Naturlamente ringrazio tutti i partecipanti e gli organizzatori per la disponibilità. Alla prossima.

mercoledì 13 gennaio 2010

La creatività e il nostro sistema scolastico

Un nuovo video molto piacevole che ci invita a riflettere sui noi stessi ma soprattutto su quello che trasmettiamo ai nostri figli.

Originally found: http://www.hrdonline.it/risorsa/videoDetail.action?item=570

Allo stesso indirizzo ho con piacere ed emozione visto anche un video di un discorso Jobs del 2005 (con sottotoli in italiano 1 e 2)

Importante iniziativa

Trovo la nuova iniziativa di Marco molto lodevole, sono convinto che AssoPrestigio abbia per sua stessa natura un suo spazio nel panorama associativo Italiano. Non pensiamo agli “eletti” quando parliamo di AssoPrestigio, pensiamo alle persone che per loro stessa natura, inclinazione e arte sono prestigiose, questo è innato: non si compra, non si vende, non si crea. Si possiede e lo si esercita, lo si subisce e se ne viene inebriati.
Ma che cos’è il prestigio e perché è così importante da permeare tutta la nostra vita, subito o esercitato?
L’etimologia della parola non chiarisce: “illusione prodotta con destrezza di mano e quindi impostura, fallacia inganno”. Eppure nel nostro uso corrente assume una semantica totalmente opposta, e quella che preferisco attribuirgli è la “la capacità di sedurre e di imporsi alla fantasia altrui”.
In questo tutta la socialità del prestigio: non si può essere soli nell’esercitarlo occorre una comunità che lo riconosca e lo esalti. Per ciò trovo lo statuto tremendamente chiarificante.

Auguro a tutti i soci ogni bene, che ci siano di guida e illuminino con le loro gesta i nostri momenti di buio e sconforto.

Grazie Marco e a presto per nuove iniziative.