Abilita` perdute: La capacita` di diagnosi


Da qualche giorno riflettevo su una capacita` fondamentale nel mio lavoro di sistemista: la capacita` di capire che cosa e` rotto e come. Per poter risolvere un problema la prima cosa da fare e` individuarlo con precisione, ma apparentemente la capacita` di farlo e` una abilita` perduta nei giovani sistemisti (e nei giovani in generale).

Fin da quando ho iniziato a lavorare (e anche prima, quando cazzeggiavo soltanto) ho sempre cercato di approcciare i problemi tecnici con metodo e con attenzione, chiedendomi “come posso arrivare a capire cosa c’e` che non va?”. A dire il vero quando avevo meno di 20 anni (25 anni fa) alcune volte riuscivo a stupirmi da solo perche` riuscivo a individuare il problema praticamente al primo sguardo.

Andando avanti con gli anni ho perso un poco di “magia” ma ho acquisito tanta tecnica nell’identificare la causa del malfunzionamento di qualcosa. Del resto nel mio lavoro ci sono tanti strumenti adatti a fare analisi dei problemi. I log, il debugger, lo sniffer di rete, il tester per i cavi CAT5… E non solo: spesso possiamo provare a sostituire parti di un sistema per vedere se il problema e` legato a quella specifica parte: possiamo facilmente cambiare la porta dello switch, cambiare un cavo, cambiare una NIC, eccetera.

E visto che gli strumenti ci sono, mi chiedo come mai apparentemente quasi nessuno dei miei giovani (25 anni piu` o meno) colleghi sistemisti si sforzi di usarli. Le tecniche di risoluzione dei problemi che vedo applicate dai sistemisti in questione sono fondamentalmente queste:

  • Riprovare per vedere se l’errore si ripresenta
  • Riavviare il demone
  • Modificare a caso qualcosa nella configurazione del demone (o dei demoni) che fornisce il servizio
  • Telefonare a me

Arrivati all’ultimo passo, io rispondo al telefono e dopo che mi hanno spiegato che “X non funziona” chiedo: “Hai guardato i log?” “No.” “Hai provato a sniffare?” “No.” “Hai verificato se il cavo di rete e` a posto?” “No”. “Hai controllato se il disco e` pieno?” “No.””Hai provato a fare un login in pop3 usando il telnet?” “No”. “Ma la risoluzione DNS funziona?” “Non ho provato”.

Scusa se te lo chiedo, ma sto parlando con un sistemista o con un utente?

 

,

14 risposte a “Abilita` perdute: La capacita` di diagnosi”

  1. Nella mia esperienza quello che descrivi non capita solamente con i colleghi giovani.

    Credo che ci dividiamo in due categoria: quelli che approcciano il problema in maniera scientifica e quelli che si basano piu’ su eventi pregressi non scientificamente provati piu’ legati al concetto “post hoc ergo propter hoc” (“un giorno che avevo la camicia blu mi si e’ rotto un DAT e da quel giorno non metto piu’ la camicia blu”).

    L’approccio scientifico non e’ facile perche’ richiede rigore applicato a se stessi, ma e’ quello vincente.

    Una degli approcci che spesso viene ignorato e’ quello dicotomico (se applicabile). E’ comodissimo perche’ in una botta dividi per due i casi possibili. Per le analisi iniziali e’ una manna.

    Va anche detto che questi metodi richiedono spesso una profonda conoscenza di cosa si sta indagando. Chi e’ nato con MS-DOS e cresciuto con Windows e Linux ha imparato pian piano i concetti; una persona giovane che entra nel mondo dell’informatica adesso in un paio d’anni deve sapere di hardware, elettronica di base, networking, sistemi operativi, storage, applicativi, sicurezza…

  2. Una mancanza dei miei allievi giovani è quella dell’astrazione del problema.

    Si dà loro la soluzione ad un problema (es: per ricavare il 21% di IVA devi dividere l’imponibile per 100 e moltiplicarlo per 21 – no, da soli non ci arriverebbero mai) e poi presento lo stesso problema ma con altri parametri (es: calcolami il 4% di IVA).

    Nella maggior parte dei casi la risposta è uno sguardo sperso nel vuoto in attesa dell’input da parte mia o di un compagno più volenteroso.

    • Beh, per queste persone c’e` un sacco di posti di lavoro adatti al loro livello intellettuale. Tronisti, per esempio. E poi… uhm… minatori no, si ammazzerebbero in modo idiota. Calciatori no, occorre saper coordinare i piedi. Ecco, ho trovato: Zavorra per le mongolfiere.

        • Voi i minatori li lasciate stare, capito?

          Quella e’ gente seria che estrae dalla terra le materie prime su cui campate!

          Un ingegnere minerario deve studiare per anni, e deve essere molto piu’ multiconfessionale di altri tipi di ingegneri.

          Deve essere un po’ ingegnere chimico, un po’ ingegnere civile, un po’ ingegnere elettronico e un po’ artista.

          Bonus: puo’ giocare con gli esplosivi.

          • Dimenticavo che deve essere anche un po’ ingegnere idraulico…

            E tutto questo ovviamente mentre e’ ANCHE un ingegnere minerario.

          • Il bonus che puoi giocare con gli esplosivi ci fa capire due cose:

            1- e` una carriera interessante
            2- se non sei sveglio e` una carriera breve

  3. Non sono un sistemista, di solito scrivo software. Purtroppo devo confermare l’andazzo che esponete. Mi trovo molto spesso di fronte alla spensieratezza con cui le nuove leve si approcciano al debug. Mi spiego meglio: sarà la mia formazione scientifica, ma di solito cerco le cause prime di un dato comportamento del codice che ho in mano, cercando più e più volte la riproducibilità dell’anomalia. Inoltre, fare chiarezza sulle relazioni di causa-effetto che stanno intervenendo nel processo che osservo. A volte invece i novizi toccano una riga a caso e riprovano 🙂

  4. beh io come sistemista sono stato lasciato a casa, ora al mio posto c’è un ragazzino che si limita a reinstallare la macchina e chiedere all’utonto la copia dei backup dei dati per ripristinarli….
    Se il problema si ripresenta, cambio del pc! 🙁
    sigh!

    • All’utonto li chiede…

      Mi spiace tu stia a casa, ma prima o poiverrabbi cikoutu dakka kiri stessa maledizione…

  5. Sono d’accordo che questa mancanza non sia da relazionare con l’età, ma piuttosto con una carenza di preparazione sul come affrontare i problemi.
    Purtroppo il Problem Solving è una disciplina che a scuola non si insegna, mentre dovrebbe fare parte dei programmi fin dalla prima elementare.

    La grossa mancanza non solo dei sistemisti, ma di molti tecnici e forse di tutta la popolazione in generale è una totale ignoranza di che cosa sia il Ragionamento Induttivo, che è la vera pietra miliare della capacità di affrontare problemi e risolverli.
    Partendo dal fatto che la quasi totalità delle persone confonde Induzione e Deduzione – senza sapere bene che cosa siano l’una o l’altra cosa – pochissimi sono in grado di servirsi di questo strumento nella soluzione dei problemi. Non sto parlando solo di problemi informatici, ma di ogni genere.
    Questo tipo di ragionamento, ad esempio, sta alla base del procedimento che i medici chiamano Diagnosi Differenziale, largamente usato per analizzare i sintomi, stabilire la condizione medica e proporre una cura.

    Mi capita a volte di aiutare persone con qualche problema tecnico veramente banale che può essere analizzato velocemente per determinarne la causa e la soluzione. Tutte le volte rimango stupito di come, guidando la persona in un procedimento di tentativi ed errori per identificare la causa del problema, i miei suggerimenti vengano recepiti come magia nera.
    Quasi che io abbia accesso a una conoscenza superiore, mentre si tratta semplicemente di metodo.
    Fra le altre cose, una certa confidenza con il metodo induttivo permette di essere d’aiuto anche in ambiti che si conoscono poco. Avendo a che fare con una persona esperta in un campo, la si può guidare con il procedimento induttivo a usare le conoscenze che già ha per aiutarsi sostanzialmente da sola.

    E’ brutto a dirsi, ma una situazione del genere è di nuovo da attribuirsi a una scarsissima familiarità del pubblico in generale non solo con la scienza, ma anche con i suoi metodi.

  6. Questo posto mi fa pensare a quando cito strings e ldd. La gente (spesso più ‘blasonata’ di me) mi guarda come se avessi citato comandi che esistono solo nella mia mente….

Rispondi a Ricky Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *