Essere un Ranger

By U.S. Marine Corps Cpl. Aaron Hostutler [Public domain], via Wikimedia Commons
Non so a te, ma a me capita spesso di fare un bilancio della mia vita professionale.
Provo a guardarmi da lontano e rifletto su ciò che sò, ciò che faccio, come  potrei fare meglio il mio lavoro e come posso aiutare gli altri a farlo meglio.
Ti sei mai chiesto qual’ è la tua essenza nel profondo ?
La mia è affrontare un problema e cercare di risolverlo in modo elegante con la speranza che possa essere di aiuto alla comunità di cui faccio parte.
Il mio spirito è quello del Ranger che và in avanscoperta, si muove da solo o in gruppo con equipaggiamento leggero su terreni sconosciuti. Forte della sua esperienza è pronto a tutto, esplora territori nuovi li mappa, trova una via poi torna alla base e fà da guida al resto del gruppo.
Credo che la mia sia un’attitudine che deriva dalla curiosità e dalla vocazione alla formazione.
A ciò  si aggiunge l’esperienza fatta in contesti operativi dove l’efficacia e l’efficienza sono elementi primari per la sopravvivenza.
Il Ranger spesso si muove da solo per essere più veloce, ma per valutare scenari ampii opera necessariamente in squadra.
E’ coraggioso e rischia in prima persona ma si muove avendo ben presente la responsabilità che ha verso il gruppo.
Guarda avanti e precede gli altri, interpreta i segni ma una volta rientrato alla base deve anche saper essere un buon comunicatore per condividere con il gruppo la scelta del percorso da seguire.
E’ lavoro delicato ma affascinante.
L’attività diventa efficace se a livello strategico si condivide la meta finale, solo così il Ranger può trovare giorno per giorno percorsi tattici che avvicinano il gruppo verso l’obiettivo finale.
Ecco cosa significa per me essere un Ranger.

Excel arma impropria

La domanda di oggi è perchè alcune persone non riescono ad andare al di là degli strumenti classici quali: Ms Word e Ms Excel con rare puntate su Ms Power Point ?
Come è possibile far capire a queste persone che Ms Excel in particolare non è buono per tutte le stagioni ?

Tipicamente le informazioni debbono essere ricercate secondo criteri che cambiano, quindi spesso un database è la soluzione più corretta.
Invece si continua ad usare Excel per gestire dati in forma tabellare e si è sfortunati può finire che devi organizzare l’attività di aggiornamento del foglio Excel condiviso in turni singoli, perchè la scrittura concorrente non è supportata: azz chissà magari la prossima versione di Ms Excel…

Eppure il ciclo di vita dell’informazione è fondamentale per un’azienda. Come l’informazione nasce, il fatto che sia accessibile a vari livelli, che possa essere aggiornata in modo tempestivo: è la sagra dell’ovvio.

Più l’informazione è granulare maggiore più facile sarà aggregarla.
Considerata la velocità con cui certe informazioni cambiano, relegarle ad un documento è sciocco: diventa difficile ritrovare la singola informazione, il documento diventa presto obsoleto.

Il documento può essere visto al più come una foto al tempo t di una serie di informazioni aggregate secondo criteri che cambiano in base all’utilizzatore: in pratica un report. Che scoop!

L’informazione è preziosa e come tale và trattata, esistono piattaforme per la gestione della conoscenza che possono offrire sistemi più moderni ed efficenti dell’informazione ad esempio XWiki.

E allora chiudo gli occhi ed immagino che un giorno l’abuso di Excel possa diventare un reato. Sarà costituito un tribunale apposito che giudicherà l’efficacia e l’efficienza di ogni worksheet realizzato e diffuso. Saranno comminate pene severe ed esemplari condannando i colpevoli a: leggere, leggere, leggere.

“The database is just a detail…”

Questa frase può sembrare innocente ma no lo è.
Al contraio è dirompente.
Per chi lavora come me in PL\SQL il database è la piattaforma di lavoro quindi dire che il database è un dettaglio è sovversivo…a prima vista.
In realtà il nostro software poggia saldamente sul DMBS, ma non sul database e la differenza è significativa.
PL\SQL è la crasi di due elementi distinti PL e SQL.
SQL esiste solo in virtù del database (tabelle, viste ecc.).
PL è un linguaggio procedurale che viene compilato ed eseguito da Oracle, ma che funziona anche in assenza di oggetti di database.
E sai che scoperta!
Le implicazioni invece sono profonde.
Il codice PL puro, non facendo riferimento al database, può essere sottoposto a unit test automatici e ripetibili.
Fare la stessa cosa su codice PL\SQL (quello bello infarcito con select, insert ed update) è ben diverso perché per effettuare un test è necessario creare il giusto contesto dati sul database, infatti un test del genere è già system.
Se la tematica vi intriga ho approfondito il tutto in un ebook “PL/SQL OOP Style”.
La frase che da il titolo al post è una citazione del mitico Robert C. Martin dal libro “Clean Code” che continua ad essere per me un’ importante fonte di ispirazione, che bello sarebbe avere uno zio così.
La t-shirt è una mia creazione. Una simpatica provocazione per i miei colleghi che hanno imparato a sopportarmi.

“Il nostro iceberg si sta sciogliendo” di John Kotter, Holger Rathgeber

Questo libricino, che si legge tutto d’un fiato, contiene una favola costruita ad arte per riflettere sul cambiamento in tutti i suoi molteplici aspetti.
La necessita’ di percepire i segnali che indicano la necessità di operare un cambiamento.
L’urgenza di affrontare il cambiamento in tempo utile per evitare danni.
La difficoltà di comunicare un messaggio di cambiamento.
La fatica di coinvolgere gli altri in un processo di cambiamento.

Una favola adatta ai bambini, ma che ha molto da insegnare agli adulti che credono nel cambiamento.
Il libro inoltre contiene un’utile appendice operativa con alcune indicazioni pratiche per promuovere il cambiamento.

Un aspetto che mi ha colpito molto e’ stata la tecnica di coinvolgimento dal basso, attraverso i bambini per arrivare ai genitori.

Dopo essere stato letto da numerosi miei colleghi sono stato riconosciuto ufficialmente come il pinguino Fred,  se volete saperne di più dovete leggerlo…

Nell’immagine in basso una mia piccola creazione LEGO realizzata durante un corso sulla creatività; il concetto da rappresentare era l’innovazione.
All’inizio ero in difficoltà, poi quando nello scatolone dei pezzi ho trovato il pinguino mi si è accesa una lampadina,  ho preso spunto dal libro ed il resto è stato facile.

Il pinguino è colui che deve innovare.
L’innovazione è rappresentata dall’isoletta che sta di fronte e che per essere raggiunta richiede l’attraversamento del mare: azione.
Ciò comporta dei rischi reali rappresentati dagli squali ma l’inazione è anch’essa un rischio reale rappresentato dalla Tigre.
Gli omini che osservano la scena sono i lettori del libro.
Alcuni riflettono, altri fanno tesoro di quanto letto (zaino), altri sono completamente indifferenti a questa esperienza (testa trasparente).

La mia biblioteca professionale

So di non sapere, sono curioso e ho bisogno di stimoli; per questo leggo molto.
A seguire un elenco in ordine sparso:

  • “Innovazione aziendale” di Stephen K. Markham,Paul Mugge,Massimo Canducci
  • “Adriano Olivetti Ai lavoratori”
  • “Undisturbed Rest”
  • “Mastering Oracle Scheduler” di Ronald Rood
  • “Restful Java JAX-RS 20”
  • “C#3.0 Design Patterns” di Judith Bishop
  • *”Come nascono le idee” di Edoardo Boncinelli
  • “Clean Code” di Robert C. Martin
  • “Clean Coder” di Robert C. Martin
  • “Test Driven Development by example” di Kent Beck
  • “Agile software development principles patterns and practices” di Robert C. Martin
  • “Il nostro iceberg si sta scioglendo” di John Kotter, Holger Rathgeber
  • “The goal” di  Eliyahu M. Goldratt
  • “BDD in action” di Jhon Ferguson Smart
  • “Introducing EventStorming” di Alberto Brandolini
  • “Rest assured with JAX-RS” di Abhishek Gupta
  • “Principle of Object-Oriented Programming in JavaScript” di Nicholas C. Zakas
  • “Antifragile Software” di Russ Miles
  • “Il cigno nero” di Nassim Nicholas Taleb
  • “Antifragile” di Nassim Nicholas Taleb
  • “The Web API Design Guidelinees for Happy Developers” di Antonio Pintus e Federico Pinna
  • Fifty Quick Ideas to Improve Your Tests” di Gojko Adzic, David Evans, e Tom Roden
  • “The art of the unit testing” di Roy Osherove
  • “Domain Driven Design” di Eric Evans
  • “Drive” di Daniel H. Pink
  • “Lavorare con intelligenza emotiva” di Daniel Goleman
  • “Codice Montemagno” di Marco Montemagno
  • *”Narrarsi on-line” di Francesca Sanzo
  • “Programming Abstractions in C” di Eric Roberts
  • “Working Effectively with Legacy Code” di Michael-Feathers
  • “Restful Web Services”
  • “The Toyota Way” di  Jeffrey K. Liker,Luciano Attolico
  • “Giocati dal caso” di Nassim Nicholas Taleb
  • “Perseverare e’ umano” di Pietro Trabucchi
  • “10 tesi sull’impresa” di Anna Grandori