Da buon informatico passo molte ore ogni giorno a "parlare" con il mio computer (la cosa buona è che mi ascolta ancora ;-O).
Il mio computer è un interlocutore particolare: ascolta attentamente ciò che gli dico con estrema pignoleria, nota e interpreta ogni parola, ogni singola lettera... anche uno spazio o una parentesi graffa fanno la differenza, quando mi risponde è dettagliato, preciso e dice cose veriificabili; mi ascolta instancabilmente, non si annoia, non si innervosisce, non serba rancore; in cambio impone la sua lingua e la sua grammatica.
Quando penso alla comunicazione e agli informatici penso che siamo abituati a parlare con le macchine e molto meno con le persone. La cosa che mi ha sorpreso, scioccato, è prendere coscenza che non è del tutto vero!!! Anche col computer a noi informatici capita di commettere errori di comunicazione!!!
- Il programma restituisce un risultato sbagliato o da un errore, il programmatore si incazza (l'installazione è sputtanata, la libreria XXX che sto usando è piena i buchi, etc.) senza nemmeno controllare e scoprire che l'errore era nel suo codice: non ha ascoltato quello che il suo interlocutore aveva da dire perché era convinto in partenza di conoscere la riposta e aver ragione.
- una procedura restituice un'eccezione o il compilatore un errore, il programmatore impreca sulla qualità del programma o su quella del linguaggio (perché Java è meglio e ha questo e ha quello e invece C# così e cosà) ma non guarda nemmeno il tipo dell'ecccezione, il messaggio di errore, la riga che è andata in errore o il numero di errore del compilatore e relativa documentazione scoprendo che la causa era nel codice chiamante o nel fatto che il linguaggio funziona diversamente da quanto sapeva: non ha provato a capire il significato di quello che l'interlocutore voleva veramente dire.
- il collega fa una domanda perché ha un problema e il programmatore parte come un treno con una dissertaziona tecnica ma alla fine il collega ne sa quanto prima: un computer al suo posto avrebbe verificato se il suo msg è stato ricevuto facendo un bel ACK (msg di Acknowledgment per verificare se il destinatario ha ricevuto e capito bene).
- spiegazione ad un collega della nuova libreria di 50000 righe di codice con 500 metodi pubblici diversi che il collega avrà bisogno di usare, il programmatore parte a razzo senza notare lo sguardo perso del collega: un computer al suo posto avrebbe fatto una verifica di buffer overflow (il destinatario ha il tempo di ricevere, capire e reagire alle info che gli arrivano o le scarta e le ignora?) e avrebbe regolato la velocità di trasmissione di conseguenza.
- stessa situazione di prima, i colleghi sono molti e la comunicazione diventa necessariamente unidirezionale palco => platea, il programmatore non può fare un ACK ad ogniuno in platea per verificare se è stato compreso: un computer al suo posto avrebbe usato la correzione d'errore inviando informazioni ridondanti (il ricevente ha così più opportunità di verificare che ha capito o accorgersi che non ha capito e recuperare, sempre se il mittente ne lascia il tempo).
(x gli ultimi 3 punti la fonte è Don Box)
In conclusione oggi direi che saper comunicare è utile anche per parlare col computer, figurarsi con utenti, clienti, colleghi, amici, etc.
Tags :
Team Work |
Comunicazione |