Programmazione e hubris…

Lavorando in un ambiente specialistico quale è quello della programmazione, è naturale imparare cose nuove ogni giorno e, se non si è troppo scarsi, raggiungere prima o poi un buon livello professionale.

Più volte ho discusso di come valutarsi e più volte ho fatto notare ai vari interlocutori che quando si raggiunge un certo stato o livello lo si sa benissimo da soli. In altre parole non serve essere esplicitamente e pubblicamente elogiati per divenire consapevoli del proprio valore.

Il problema nasce lì, dalla propria autostima: se non viene debitamente controllata, porta alla prepotenza, all’arroganza, alla supponenza, all’egoismo e alla megalomania. E via dicendo.

L’hubris è il male

Spesso il programmatore viene visto dai non esperti, dai profani, come un santone che, destreggiandosi con parole esoteriche, ottiene in cambio qualcosa di magico. Di lì è un attimo per il guru di turno perdere la testa, anzi montarserla, come un eroe greco che, conscio del suo valore, pecca di hubris.

Da Wikipedia:

Hýbris (dal greco antico ὔβρις) è un termine tecnico della tragedia greca e della letteratura greca, che compare nella Poetica di Aristotele (il più antico studio critico su questo genere). Significa letteralmente “tracotanza”, “eccesso”, “superbia”, “orgoglio” o “prevaricazione”.

Nella trama della tragedia, la hýbris è un evento accaduto nel passato che influenza in modo negativo gli eventi del presente. È una “colpa” dovuta a un’azione che vìola leggi divine immutabili, ed è la causa per cui, anche a distanza di molti anni, i personaggi o la loro discendenza sono portati a commettere crimini o subire azioni malvagie.

Nel mondo della programmazione ci sono anche insigni luminari che considerano invece l’hubris un elemento essenziale del bravo sviluppatore. Ad esempio, Larry Wall, autore di Perl, la considera addirittura la terza virtù del programmatore:

Hubris – Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience.

Molto umilmente devo dire di non concordare affatto, a prescindere dall’eventuale tono scherzoso. Ne capisco il senso pseudo-umoristico, ma saper produrre buoni prodotti non è una valida scusante per essere eccessivamente vanesi, arroganti ed orgogliosi. A meno di lavorare da soli e/o essere una specie di one-man-band, ovviamente.

Rischi

Confesso che per me – e credo che la cosa sia vagamente universale – l’essere additato come “quello a cui chiedere per queste cose” rappresenta una bella soddisfazione. Che si verifichi a casa o a lavoro poco importa: fa parte di quelle situazioni piacevoli-al-limite-dell’arrossimento in cui fa piacere trovarsi.

Sfortunatamente, come tutte le cose terrene, una lode data ad una persona equivale ad una lode sottratta a (o percepita come tale da) qualcun altro.

Il rischio per chi le riceve è letteralmente vivere per esse, cioè diventare “addicted” fino a cadere in depressione se non si riesce a mantenere in modo duraturo quello “status elevato“.

Per chi non le riceve invece sorge e permane l’odio e l’invidia nei confronti di chi, a suo modo di vedere, ingiustamente gliele nega o gliele ha rubate. L’invidioso tende infatti a porsi sistematicamente sullo stesso livello dell’invidiato, anche quando ha palesemente torto.

Analogamente, lasciarsi consumare dall’ambizione, dal (bisogno di) successo o dall’invidia rappresenta un altro caso comune. E nefasto.

L’impatto di una persona

Sarà l’età, però da un po’ di tempo a questa parte, prima di compiere o non compiere determinate azioni tendo a riflettere per un po’ sull’impatto che esse possano avere nel contesto in cui mi trovo in quel momento. Con questo termine mi riferisco ovviamente alla serie di conseguenze più o meno immediate che si possono produrre a partire da una mia azione e quello che posso fare per evitare quelle spiacevoli.

Non fraintendetemi, non sono una persona dalla spiccata “sensibilità verso il prossimo” e forse si tratta solamente dell’ennesima controindicazione della mia paranoia. Dopotutto non sono che un semplice pedone su una scacchiera e mi piacerebbe evitare di farmi mangiare prematuramente.

Sia ben chiaro che valutare e controllare l’impatto delle proprie azioni non significa affatto essere condiscendente o subdolo verso nessuno, quanto piuttosto non dare per scontata ogni cosa, come un puro “fatto del destino” a cui non ci si può nè si deve sottrarsi.

Rifuggo e contrasto senza quartiere anche la mentalità del “ognuno per sè“, ossia del fatto di pensare prima a sè stessi e solo poi alle conseguenze dei propri atti (“intanto lo faccio, poi vedremo…”), perchè ogni cosa ha un impatto sul nostro mondo. Dopotutto anche noi umani, per quanto di massa relativamente piccola e trascurabile, esercitiamo sugli altri corpi una forza gravitazionale, seppur infinitesimale.

Le azioni contano!

Volenti o nolenti, noi contiamo qualcosa e qualcosa contano anche le nostre azioni. Conta l’atto in sè e conta il modo con ed il contesto in cui ciò si svolge. E’ importante evitare gli eccessi di hubris: ogni tanto un piccolo atto di umiltà e di onestà non guasta.

Un esempio? Provare ad opporre un minimo di resistenza quando si riceve un elogio pubblico ed immotivato non è un segno di debolezza ma di onestà.

Medesimo discorso quando lo si riceve per qualcosa di relativamente semplice e/o che fa parte del nostro lavoro di “routine“. O accettare un complimento quanto una parte o più del lavoro non è nostro: “dimenticare” di estendere i ringraziamenti a tutti gli attori-autori in causa non solo è ingiusto (significa prendersi deliberatamente tutti i meriti) ma è anche un buon modo per farsi odiare in modo plateale.

Certo, fa bene sentirsi dire “grazie” da qualcuno, ma accettare lodi sperticate o addirittura farsene vanto in pubblico è solo un altro modo particolarmente efficace per attirare – e a buon diritto – l’ira e l’invidia attorno a sè.

Anche eccedere nei festeggiamenti quando le cose vanno bene rientra nei modi rapidi per diventare rapidamente invisi al mondo, quasi dei “nemici pubblici“.

Non si tratta comunque di sminuirsi o flaggellarsi – un minimo di orgoglio, ambizione ed autostima sono indispensabili -, quanto di rifiutare l’ingiusto, il superfluo e nel contempo evitare di passare per qualcuno che non si è. Onestà ed umiltà aiutano sempre. E dimenticarselo (ovviamente mea culpa per i miei peccati) costa molto: l’hubris è un peccato che chiama la sua giusta punizione divina.

Tanto più duramente e lentamente si cresce, tanto più fragorosamente ed in fretta si cade.

“Stare al proprio posto”

Essere umili non significa accettare e favorire umiliazioni per sè. Significa non eccedere. Significa individuare il proprio perimetro di competenza in cui operare e da cui sconfinare solo quando necessario. Se è necessario.

Questo è quello che si definisce “stare al proprio posto“.

Ho imparato che se una persona vuole il tuo aiuto, te lo verrà a chiedere. Offrire aiuto anzitempo, per quanto nobile all’apparenza, spesso può essere interpretato molto male. Si va dal passare per impiccioni fino all’apparire come dei presuntuosi nell’atto di voler umiliare qualcuno (sopratutto se l’offerta di aiuto avviene in pubblico).

E’ invece nobilissimo mantenersi pronti per aiutare immediatamente qualcuno o, nei casi più gravi, offrire una mano alla persona che sta affogando, prima che questa affoghi davvero. Poi col tempo e con un po’ di reciproca conoscenza si può provare a giocare d’anticipo, ma senza esagerare.

Che ne pensate?

Contrassegnato da tag , ,

8 thoughts on “Programmazione e hubris…

  1. Stefano scrive:

    Bellissimo post, JP.

    Potrei discuterne ore e ore su molti dei punti che hai toccato ma, visto che devo lavorare, mi limito ad essere d’accordo con te sul fatto che l’hubris non è certo un pregio per i programmatori. Anzi !

    Uno dei miei punti fermi e uno dei ‘pezzi’ che maggiormente cerco di tenere a mente è il riferimento al paper di Dijkstra “The Humble Programmer” che compare nel libro Code Complete.

    Viene riportato anche in questo post di Jeff Atwood. Il pezzo che preferisco è “The people who are the worst at programming are the people who refuse to accept the fact that their brains aren’t equal to the task. Their egos keep them from being great programmers…

    Insomma. Se ammettiamo di non essere così geniali lavoriamo meglio. Scriviamo codice più leggibile, creiamo strutture più comprensibili, usiamo tecnologie e linguaggi che rendono il lavoro più facile.

    Storicamente, se ci pensiamo, i grandi progressi in quella giovane pratica che è lo sviluppo del software sono venuti dalla ammissione di quanto poco geniali siamo noi programmatori. Senza queste ammissioni staremmo ancora programmando, probabilmente, in linguaggio macchina.

  2. jp scrive:

    @Stefano: lieto che ti sia piaciuto. :)

    Ottimi i link che hai citato!

    Concordo appieno sia col discorso di Atwood (infatti ho detto che “l’invidioso tende infatti a porsi sistematicamente sullo stesso livello dell’invidiato, anche quando ha palesemente torto”) e ovviamente anche con quel genio di Dijkstra (“programmer only needs to consider intellectually manageable programs” mi piace moltissimo).

    Ammettere di non essere così geniali effettivamente è utile, corretto e nobile. Ha anche il pregio di spronarci a fare di meglio perchè, dopotutto, non si può perfezionare ciò che è già perfetto, no?

    Ciao & grazie di essere passato! ^^

  3. [...] This post was mentioned on Twitter by xlthlx, Stefano Castelvetri. Stefano Castelvetri said: Signori, ecco a voi @gpghilardi in "Programmazione e hubris". Da leggere subito – http://t.co/T4jDZza [...]

  4. Vime scrive:

    Il problema però è ammetterlo a sé stessi, al di là di quello che uno lascia trasparire con le altre persone. Perché in fondo, ogni programmatore è internamente convinto di essere il migliore.
    Forse perché creare qualcosa da zero ci fa sentire come un piccolo Dio ?
    Ciao e complimenti per il post!
    Vime

  5. jp scrive:

    @Vime: sì, credo anche io che l’atto stesso dell’inventarsi, creare qualcosa, senza un’attenta riflessione interna o un esame di coscienza vero e proprio, possa portare alla megalomania. E’ il bello di qualunque lavoro “creativo“, no?

    Ciao & grazie di essere passato! :D

  6. Vime scrive:

    Sì sì, e quando racconti che il tuo è un lavoro creativo molti (i non addetti) ti ridono in faccia quasi! :)
    Cmq tutto vero… ogni tanto è bene farsi un bel bagno di umiltà…

  7. Adriano Maini scrive:

    Lo twittai!!

  8. jp scrive:

    @Vime: quella è invece la hubris tipica dei sedicenti artisti, quelli che pensano di esserlo solo loro, una sorta di depositari esclusivi della Creatività. In realtà molti/moltissimi lavori sono creativi anche se le opere prodotte non sono per forza di cosa degli unicum da esporre in qualche galleria d’arte. Sbaglio?

    @Adriano Maini: toh chi si vede, benvenuto e grazie! :D

    Ciao & grazie di essere passati!

Lascia un Commento

Fill in your details below or click an icon to log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Log Out / Modifica )

Foto Twitter

You are commenting using your Twitter account. Log Out / Modifica )

Foto di Facebook

You are commenting using your Facebook account. Log Out / Modifica )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 259 other followers