Una serie di appunti su video di Salvatore Sanfilippo.
Riassumo tutto in:
- approfondire, studiare a fondo gli argomenti che ci appassionano e poi cui vogliamo eccellere
- credere in noi stessi, nelle nostre capacità (autostima)
- fare
Eccellere: andare oltre gli altri o oltre te stesso?
Ma questa parola eccellenza cosa significa?
Excellere.
Spingere su, andare oltre.
Andare oltre cosa però?
Perché si può andare oltre gli altri o si può andare oltre se stessi o si può andare oltre lo status quo oltre la pigrizia.
è un’eccellenza che tenta di arrivare alla maggior conoscenza, a sapere davvero le cose
quando parlo di eccellenza, non voglio dire che devi andare oltre gli altri, devi andare oltre te stesso, o meglio oltre la versione mediocre di te stesso o di te stessa.
La differenza è che allora ci si sforzava moltissimo di arrivare a cose che la prima volta non le capisci, la quinta volta non le capisci, ci sbatti la testa fino a quando praticamente le hai capite perché le hai dissolute, ma forse nel processo di sbatterci la testa la tua testa ha cambiato anche forma.
Anche per questo è molto importante fare questi sforzi.
Quando io parlo di eccellere, parlo di, secondo la propria possibilità individuale di arrivare al massimo della conoscenza.
La passione una volta voleva dire che tu ti interessavi a qualcosa e facevi di tutto per conoscere quella cosa nei dettagli più fini.
Per quanto riguarda la “passione” per JavaScript:
Vediamo come com’è fatto l’interprete, il Justime Compiler.
Vediamo come funziona il linguaggio nelle sue nei suoi meandri.
Ma perché dicono che provenga dal self?
Che significa di preciso che gli oggetti sono prototipi?
Perché è stato fatto ciò e perché il self è una modifica di small talk?
E perché? Perché? Perché? Perché?
A che serve l’eccellenza eccellere su se stessi e non sugli altri se comunque poi non arrivo ai livelli massimi?
è una vita intellettualmente più degna e questo non vuol dire lavorare oltre le 5, non vuol dire non fare festa con gli amici, perché si può utilizzare lo stesso tempo di lavoro, di studio per fare un eccellente lavoro, per fare un pessimo lavoro.
Non serve necessariamente più tempo, serve il giusto approccio, il giusto tentativo, la giusta ambizione dei risultati che non bisogna sfoggiare, che non devono essere dei risultati che si materializzano necessariamente in aziende, in soldi.
Poi complessivamente la verità è che quello che accade è che spingi anche il limite globale.
Alla società non gli fate uno sgarro se voi rinunciate.
Fate in realtà un torto a voi stessi
Il timore di essere criticati porta alla paralisi
una questione fondamentale che vale per tutti i programmatori, quasi per tutte le professioni: la questione del coraggio di esporsi.
Partiamo da un concetto fondamentale: se uno ha paura di esporsi e per tale paura non fa nulla, il suo risultato sarà zero.
Ma se uno ha paura del fatto di scrivere delle cose che sono non a livello degli altri contributor e così via, si blocca.
Prima di fare però, bisogna essere preparati su quell’argomento, studiare approfonditamente.
In sostanza, questo video vuole dare due spunti.
1. non preoccuparsi di sbagliare
Il primo spunto è quello di non preoccuparsi di sbagliare, purché si sia fatto un minimo di lavoro con cognizione di causa. C’è sempre margine di miglioramento, e bisogna esporsi: facendo i video, facendo pull request, durante i meeting aziendali dicendo la propria opinione, perché altrimenti ciò ci porterà all’immobilismo. E non immaginate che le idee degli altri siano sempre superiori alle nostre.
2. ci sono sempre persone negative, preparatevi
non dimenticate che ci sono persone che utilizzeranno il fatto di conoscere dei dettagli poco significativi della vostra idea (anche se la vostra idea è buona) per smontarla.
chi si perde nei dettagli poi finisce per risolvere il problema male.
Inoltre, non scordate mai che ci sono persone che, per neurodiversità o perché si rifugiano nei dettagli per cercare di apparire superiori agli altri (quando in realtà hanno paura di non essere in grado), poi a livello progettuale avranno la tendenza sempre a notare i dettagli delle vostre implementazioni, delle vostre idee o dei vostri video su YouTube.
In sostanza, finite per fare le cose non secondo quello che per voi è giusto (the right thing), ma secondo quello che fornirà la minore superficie di esposizione alle critiche degli altri.
E quando uno inizia a fare così, è la ricetta per omologarsi, per avere lo stesso effetto nullo —zero— che magari hanno loro nella realtà, facendo le cose più complicate del necessario.
Fregatevene
Preoccupatevi solo ed esclusivamente di risolvere i problemi nel modo più semplice e incisivo possibile, fregandovene di quello che pensano gli altri.
Avere fiducia nel proprio lavoro
Io ho sempre pensato che quando avevo competenza di una data materia, tutti gli altri, che fossero universitari super esperti, che fossero grandi team pagati dalle grandi aziende, me la potevano ****.
C’è una parte di presunzione nella mia persona inalienabile che nasce dal fatto di credere di essere capace, ma solo dopo aver fatto i compiti. Nel senso che io dico di fare delle cose in determinati settori quando ho studiato, ho lungamente faticato per 10 anni a imparare la programmazione di sistema e così via, per cui non parto da una presunzione di inferiorità come molti fanno, cioè dire: “Ma figuratevi se arrivo io e posso fare cose che altri non hanno finora fatto” o “Ci sarà un motivo se questa cosa ancora non è stata fatta.”.
No, la storia è piena di esempi sia di evoluzioni incrementali sulle cose che hanno già fatto gli altri, sia di paradigmi completamente nuovi che vengono introdotti dal nulla perché prima qualcuno non ci aveva pensato o qualcosa del genere.
Quindi io il trucco che possiedo è ovviamente il fatto di approfondire le cose moltissimo, ma poi l’idea che quello che sto facendo non è necessariamente inferiore a quello che stanno facendo altre persone nello stesso momento che si occupano della stessa cosa nel mondo.
Però se invece i numeri ce li hai, se hai studiato, se hai una grande preparazione informatica tecnica specifica nella materia che stai affrontando, e allora perché pensare che tu sei peggio degli altri e non puoi fare grandi cose?
Programmare fuori dal gregge
Quindi fatemi capire: il tuo core business è la ricerca sui vettori e la struttura dati fondamentale tu, invece di reimplementarla, capirla, di sviscerare e estendere il paper in qualche modo che ti dà un vantaggio competitivo, ti scarichi la libreria e la usi come fondazione del tuo prodotto? Questa roba qui è la mentalità che non va, e questo esempio si può fare per tutto, per ogni santa cosa.
A volte per non sbattersi si scaricano fracche di librerie, dipendenze, complessità per non capire come si fa una cosa.
Quindi bisogna essere forti, bravi, non accontentatevi di far finta di sapere le cose.
Anzitutto l’impegno, fare le cose difficili, non skippare diciamo scaricando libreria e dipendenze ogni volta che c’è da affrontare qualcosa del genere.
io credo che ogni buon sviluppatore dovrebbe avere un piccolo progetto Open Source da rilasciare o meno (lo potete anche buttare via alla fine) che vi permetta di andare fuori dalla comfort zone di fare cose molto interessanti che altrimenti al lavoro non si farebbero.
Io credo che si diventi molto bravi a programmare reinventando la ruota: scrivere un piccolo interprete, scrivere un piccolo compilatore, scrivere un piccolo database, scrivere un piccolo qualsiasi cosa complicata.
È difficile che ci sia il giusto progetto per fare una cosa del genere lavorativamente, quindi bisogna allocare sempre del tempo per avere questo tipo di side project.
La qualità nel software
Quando si programma si deve avere sempre un’ottica product-focused.
Concentratevi sul prodotto, fregatevene delle piattaforme.
i linguaggi di programmazione non contano un fico secco, non importa se questa cosa la faccio in PHP, in Ruby, in Python, in JavaScript.
Il punto è dal punto di vista dell’utente che non sa neanche com’è stata fatta questa cosa qui: “È una figata? Funziona benissimo o fa schifo?”
Questo è quello che conta davvero.


