I 10 tipi di programmatore che si possono incontrare

Liberamente tradotto e adattato da un articolo originale di Tech Republic: 10 types of programmers you’ll encounter in the field

I programmatori godono della reputazione di essere persone particolari. Addirittura, all’interno della comunità di sviluppo, ci sono alcuni archetipi di programmatori che altri programmatori trovano strani. Questi sono i 10 che è probabile incontrare. Suggeritene altri nei commenti.

#1: Il Gandalf

Questo tipo di programmatore sarebbe il candidato giusto per interpretare la parte di Gandalf ne “Il signore degli anelli“. Lui (o magari lei) ha la barba che gli arriva alla pancia, un cappello un po’ goffo e d’inverno può indossare un mantello. Fortunatamente per il gruppo questa persona ha anche le abilità magiche del vero Gandalf, ma sfortunatamente bisogna che il gruppo sorbisca le sue storie che durano ore, come di quelle volte che faceva avanti e indietro nella neve per portare le schede perforate nella stanza del computer. Il Gandalf ha le maggiori potenzialità, ma preferisci metterlo da parte per chiedere il suo aiuto solo nei momenti disperati.

#2: Il Martire

Esiste pure un kit per dormire sulla scrivania.

In qualsiasi altra professione, il Martire è semplicemente uno stacanovista. Ma nel campo della programmazione, il Martire acquisisce una nuova dimensione. Gli stacanovisti almeno vanno a casa per farsi una doccia e dormire. Il Martire si esalta nel dormire alla scrivania in mezzo ai cartoni della pizza. Il problema è che nessuno gli ha chiesto di lavorare in questo modo. Inoltre, cerca di far sentire in colpa il resto del gruppo con frasi come “Andate pure a casa e godetevi la cena. Questa notte finirò il lavoro delle prossime tre settimane”.

#3: Il Fanatico

Occhio al Fanatico. Se lo incontri, ti trascina in una discussione di tre ore su Dragon Ball o sulle differenze tra la Playstation 3 e l’XBOX 360. Lo spazio lavorativo del Fanatico è pieno di poster, action figures e altri oggettivi relativi alle sue ossessioni, importati per la maggior parte dal Giappone. Non solo sono difficili da trattare, ma perdono tanto di quel tempo nelle loro manie (dentro e fuori dall’ufficio) che sono spaesati quando arriva l’ora di fare quello per cui sono stati pagati.

#4: Vince Neil

Questo soggetto sulla quarantina arriva direttamente dal 1984, trascinandosi dietro le cose peggiori. Capelli lunghi, jeans stracciati e qualche bandana qua e là, Vince siede nell’ufficio  canticchiando i pezzi di Bon Jovi e e Def Leppard tutto il giorno. Non sarebbe così male se “Pour Some Sugar On Me” non fosse così infettiva. Vince è generalmente una persona divertente con cui lavorare, e in realtà ha un mucchio di esperienza, ma non è mai cresciuto. E in più, con il suo stile di vita rock ‘n roll e le sue scarpe a collo alto, Vince può essere causa di battibecchi, soprattutto la mattina presto quando non ha ancora smaltito la sbornia.

#5: Il Ninja

Il Ninja è il fuoriclasse del tuo gruppo, e nessuno lo conosce. Come quei leggendari assassini, non sai nemmeno se è nell’edificio o se sta lavorando, ma scopri le prove la mattina dopo. Avvi il controllo di versione dei sorgenti, e scopri che il Ninja ha fatto il check-in del codice che risolve il problema per il quale avevi riservato la settimana, e tu non sapevi neanche che lui fosse a conoscenza del progetto! Mentre tu eri ad una delle tue solite riunioni, il Ninja era all’opera. Trattalo con cura, comunque: è un guerriero solitario. Non obbligarlo a lavorare con disciplina.

#6: Il Teorico

Quick and dirty: a lui non piacerebbe

Il Teorico sa tutto quello che c’è da sapere sulla programmazione. E’ capace di trascorrere ore studiando la storia di un oscuro linguaggio o nel cercare la dimostrazione che il codice che hai scritto è inferiore all’ottimale e può impiegare tre nano-secondi in più per eseguire. Il problema è che il Teorico non sa nulla di sviluppo del software. Il codice che scrive è così “elegante” che i comuni mortali non riescono a capirlo. La sua tecnica preferita è la ricorsione, ed ogni blocco di codice che scrive è raffinatissimo, a scampito delle scadenze e della leggibilità.

Il Teorico inoltre si distrae facilmente. Un compito di un’ora può diventare un’impresa di tre mesi, perché magari decide che gli strumenti che ha a disposizione non sono adatti, e quindi prima di tutto si mette a progettarne di nuovi, per costruire con essi nuove librerie per poter poi mettere in piedi un intero sistema nuovo che raggiunge i suoi standard elevati. Il Teorico può essere trasformato in uno dei programmatori migliori, a patto di restringere il suo raggio d’azione all’interno del progetto e incoraggiandolo a smettere di trascorrere il tempo a lavorare sull’algoritmo di ordinamento definitivo.

#7: Il Cowboy

Una forza della natura che non può essere fermata. Un programmatore che lavora due o tre volte più velocemente rispetto alla media, purtroppo prendendo delle scorciatoie. Il Cowboy ritiente che cose come il controllo di versione, la memorizzazione della configurazione al di fuori del codice, la comunicazione con gli altri… facciano perdere tempo. Non so se ho reso l’idea. Il suo codice è confusionario, perché salta pure la fase di revisione. E’ possibile che persino la parte vitale di un progetto quando viene realizzata dal Cowboy sembri la rassegna dei cattivi esempi di programmazione, e non si capisce come faccia a funzionare. Il Cowboy non lavora bene insieme agli altri, e se ne metti due insieme, è garantito che tutto vada a monte: ognuno dei due andrà a rovinare il lavoro dell’altro.

Se la scadenza diventa più importante della correttezza formale, allora affidati a lui: il codice sarà sempre pronto in tempo. Infatti il Cowboy non è altro che una versione cafona del Ninja. Mentre quest’ultimo agisce con precisione chirurgica, il Cowboy è un toro furioso che devasta tutto ciò che incontra sulla sua strada.

#8: Il Parà

Hai presente quei film quando un uomo viene lanciato da un aereo dietro le linee nemiche per mettere in atto un piano di battaglia alternativo? Questo è il Parà, e fra i programmatori a disposizione, è l’ultima risorsa per salvare un progetto in grave difficoltà. I Parà non hanno l’esperienza per lavorare ad un progetto a lungo termine, ma il loro punto forte consiste in un’impareggiabile abilità di adattarsi ad un nuovo ambiente. Altri programmatori richiedono settimane o mesi prima di essere pronti a contribuire ad un progetto, al Parà bastano poche ore. Anche se non ha le conoscenze per lavorare a certe parti del codice, la loro breve curva di apprendimento può dargli il successo laddove un intero gruppo potrebbe fallire.

#9: Medioman

La sufficienza è il massimo che otterrai da Medioman. Impiegherà più tempo per fornire codice peggiore rispetto a tutti gli altri. Taglia a malapena il traguardo, ma è sufficientemente bravo per non perdere il posto. Durante un colloquio di lavoro, ti parlerà soprattutto dei progetti in cui è stato coinvolto, trascurando il presente. Scoprirlo è facile: chiedi maggiori ragguagli circa il lavoro fatto, ed ecco che ti trovi davanti ad un caso di amnesia. Se li lasci entrare nella tua organizzazione, ci vorranno anni per liberarti di loro.

#10: L’Evangelista

Non importa quale sia il tuo ambiente, l’Evangelista continuerà a ripetere che può essere migliorato abbandonando le metodologie correnti e rimpiazzandole con qualcos’altro. In pratica è l’opposto del teorico: l’Evangelista è schietto, sa tutto sui processi di sviluppo ma nella programmazione non rende assolutamente. Cova ambizioni di manager ma non ha le conoscenze o l’esperienza per fare il salto. Fino a quando non sarà pronto per quel ruolo, tutti dovranno fare i conti con i suoi tentativi di rivoluzionare lo spazio di lavoro.

Ed io?

Io mi colloco fra il Cowboy e Vince Neil.

4 thoughts on “I 10 tipi di programmatore che si possono incontrare

  1. Divertente panoramica e probabilmente del tutto verosimile, anche perchè personalmente conosco solo un programmatore (cugino di mia moglie, mio Mentore Linux) che lo classificherei tra il Gandalf e il Ninja (da che lo conosco ha sempre usato Linux, Windows e linguaggi vari come a fare una grattata di mano) ma immagino che anche gli altri ‘tipi’ siano del tutto possibili.
    Non sono un programmatore, ma utente Linux (Debian/Ubuntu + Xfce) dal 2008 e che dire….il Conky e la GUI per la mutenzione/aggiornamento del Sistema me li sono scritti personalmente a manina io….se dovessi impersonificarmi mi ritrovo tra il Fanatico e il Teorico.
    Infatti è per fanatismo pro-privacy/contro-antivirus che ho abbandonato Windows e sono passato a Linux e trovo che il Desktop debba essere bello e ordinato…..:-D
    Allego screenshot del mio desktop ….

    https://postimg.org/image/cnt9eqz53/

    https://postimg.org/image/clfbh06ft/

    Mi sembri una brava e bella persona Giovanni, continua così ! 🙂

    • Complimenti Pierpaolo, ottimo lavoro!

      Mi fanno molto piacere le tue parole… per me essere una brava e bella persona è stata sempre la priorità su tutto.

      A presto!

Leave a Comment

%d blogger hanno fatto clic su Mi Piace per questo:

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi