Recentemente sono stato chiamato in causa in una piccola discussione su Meemi circa il “reinventarsi programmatore“.
Non che sia la prima volta che sento questo tipo di affermazione nè che mi sia mai tirato indietro dal dare consigli agli aspiranti sviluppatori.
Temo tuttavia che, in parte a causa del mio fare da “brontolone-saccente“, mi sia costruito una certa nomea di persona che tende a bastonare qui e là, soprattutto chi vuole cambiare mestiere e diventare dall’oggi al domani un programmatore.
Mi scuso se ho dato questa brutta impressione di me, ovviamente non voluta e certamente erronea.
Credo che questa parvenza sia legata ai molti post in cui decanto lo sviluppo software come un’arte nobile o qualcosa del genere e, di conseguenza, mi lamento delle troppe persone che non prendono seriamente la cosa, abbassando la qualità media degli operanti nel settore.
In questo post voglio, anzi desidero intimamente spiegare bene e brevemente la mia visione su questo fatto e, se possibile, allontanare da me questa fastidiosa fama.
1. Non ce l’ho con nessuno e comunque non sono un guru
Dico davvero. Non provo gusto nè divertimento a deridere o lamentarmi di chi non prende seriamente il suo mestiere, qualunque esso sia.
Penso di non averlo mai fatto anche perchè per quello ci pensa normalmente la clientela insoddisfatta e, per estensione, il mercato.
Quanto a me medesimo penso di aver ripetuto un’infinità di volte di non essere nè di voler apparire come un guru, una persona che quando parla – come direbbe Maurizio Battista – “è Cassazione“.
Lungi da me da tutto ciò!
Ammetto però che mi piace ciò che faccio per lavoro e in virtù della mia esperienza e del mio fare un po’ “esagitato“, ho spesso la sfacciataggine di dare consigli (spesso non richiesti) a destra e a manca, sempre in assoluta buona fede e solitamente basandomi su qualcosa che conosco in prima persona (cfr. post, ad esempio).
Come tutte le persone che si “sbattono” per qualcosa o qualcuno, confesso che ci resto molto male quando scopro di aver azzeccato un consiglio e di non essere stato ascoltato, di non essere stato creduto quando l’ho dato.
Pazienza, non demorderò per questo.
2. Rispetto chi si impegna e mi aspetto lo stesso dal prossimo
Per una questione di principio rispetto tutti i lavori/lavoratori e mi aspetterei di essere ricambiato. Non sempre è così, purtroppo.
Lo scrivo per la milionesima volta: sviluppare il codice non è semplice. Se non fosse così, si tratterebbe di un’attività secondaria e veramente alla portata di chiunque.
Ebbene non lo è, nonostante gli ampi e continui miglioramenti in questo ambito che si sono susseguiti negli ultimi anni.
Chiunque abbia un minimo di esperienza nell’insegnare la programmazione sa benissimo che trasferire questo tipo di conoscenza agli “studenti” è un processo spesso lento e sicuramente faticoso. Per tutte le teste coinvolte.
Nelle prime fasi comporta dover sforzare di molto la mente di questi ultimi perchè, prima che a scrivere codice, devono imparare a ragionare in un modo completamente diverso da quanto fanno abitualmente.
Non è come imparare un’altra lingua dopo che se ne conosce già una. Chi pensa che programmare sia innanzitutto conoscere le quattro parole in inglese tipiche dei linguaggi di programmazione, secondo me parte molto male.
Programmare, anzi sviluppare, è qualcosa affine più al ragionamento (es: scovare, analizzare e risolvere problemi proponendo soluzioni più o meno efficienti) che alla semplice scrittura di codice.
Se vogliamo, tocca abbassarsi al livello di una macchina, un computer, che è uno stupido veloce.
Ci sono persone che per una loro qualità innata ci mettono poco a comprendere le basi della programmazione ed altre che fanno veramente fatica e abbandonano l’impresa a metà in preda ad un acuto dolore mentale ed al disgusto.
Per cui così come apprezzo chi lavora seriamente e con impegno, qualunque cosa svolga per mestiere, mi irrito non poco quando qualcuno sottostima il mio lavoro, ritenendolo facile e poco faticoso.
Ho perso il conto delle innumerevoli volte in cui mi sono trattenuto dal rispondere:
“Se è davvero così semplice come dici, perchè non lo fai per mestiere?”
Forse sono solo troppo educato per farlo davvero. O forse ci sono in giro troppi invidiosi, chissà…
3. Apprezzo chi prova a cambiare, in meglio
Non ho alcuna preclusione o atteggiamento di vanesia superiorità verso chi cambia lavoro e, nel farlo, sceglie proprio l’informatica, magari lato programmazione.
Non sono un gatto che marca il suo territorio. A differenza di altri individui non ho mai sminuito nessuno “perchè non ha una laurea in informatica o affine“.
Anzi, ho messo nero su bianco il mio pensiero in proposito che nei fatti mi pare sia esattamente agli antipodi.
Questo però non significa che accetti di buon grado chi si reinventa programmatore senza nemmeno volersi applicare un minimo ed imparare le basi. Non lo insulto nè mi metterò mai a sminuirlo per averci provato (vedi punto 1) ma quando vedo certi lavori raffazzonati eseguiti da certe persone palesemente incompetenti, beh, dentro di me un po’ mi piange il cuore.
E’ offensivo tutto ciò? Come reagite o reagireste davanti ad una persona che vuole fare il vostro lavoro ma senza impegno nè passione, ma solo perchè ha sentito che quello è un mercato che “tira” o è semplicemente “di moda“?
4. La qualità e l’eccellenza derivano dall’impegno
Sono onorato di conoscere persone che per svariati motivi ad un certo punto della loro vita hanno stabilito di voler diventare programmatori – o comunque informatici – e con l’impegno e la perseveranza lo sono diventati in senso pieno e meritorio.
Perchè la qualità, checchè se ne dica, deriva dall’impegno che uno mette nel suo lavoro. La predisposizione per determinate mansioni ed un pizzico di fortuna aiutano sempre, ma per eccellere bisogna volerlo e dedicarvisi in modo costante.
Posso ammettere di ritenermi una sorta di “fighetto del codice” in un certo qual modo: non valuto solo se un codice funziona bene o male, ma di solito leggendolo ne osservo ed analizzo anche ordine ed eleganza. Non la voglio buttare su un discorso artistico – che non mi appartiene -, ma c’è codice e codice…
Non faccio mistero che le persone che nel corso degli anni mi hanno più impressionato favorevolmente sotto questi aspetti abbiano tutte una certa formazione accademica alle spalle, ma sono felicissimo quando trovo altre persone che non l’hanno – perfino dei completi autodidatti – e che egualmente mi sorprendono in positivo.
E quando capita – e fortunatamente non è una cosa così rara -, non manco mai di sottolineare esplicitamente la bontà del codice scritta da qualcuno: fa bene ogni tanto dare qualche soddisfazione verbale al prossimo, anche se apparentemente minima e certamente inaspettata.
Che ne pensate?
JP, per prima cosa buone vacanze… perché io so che sei in vacanza
Finiti i saluti, veniamo al tuo post che condivido in pieno e senza riserve 
Voglio solo sottolineare (nuovamente) un concetto che hai espresso anche tu:
la formazione accademica (che siano scuole superiori, università o corsi extra-curricolari) aiuta ma non è una conditio sine qua non: diciamo che questa formazione dovrebbe fornire la metodologia di studio “all’informatica” più che preparare dei buoni informatici. Quello che rende un informatico un buon sviluppatore è la voglia di imparare e l’impegno (oltre ad una dose di buona elasticità mentale).
cheers
@contezero74: molte grazie per gli auguri.
Mi sa tanto che come tu concordi con me, mi tocca ricambiare: la scuola nasce per insegnare e quindi aiutare non a dotare i suoi studenti di chissà quali mirabolanti superpoteri. Non ci si può nascondere dietro un pezzo di carta pensando di essere a posto e, anzi, pretendere rispetto semplicemente in virtù di quello.
Detto questo, tuttavia, mi piacerebbe che un po’ di persone che conosco la smettessero di sottovalutare sè stessi e quello che (o dove) hanno studiato: sicuramente è vero che c’è molta gente laureata che professionalmente vale poco, ma fortunatamente non è così per tutti. Altrimenti l’Università non avrebbe più senso e non mi pare che l’abbia perso per strada, anzi…
Non vorrei che a furia di sentire qui e là che i “neolaureati sanno poco e nulla” (cfr. post), diventasse una verità di fede per tutti, studenti compresi. Se no davvero si giustificherebbe quell’abuso chiamato ‘stage’ che ormai è diventato epidemico.
Sono cioè dell’idea che per continuare a crescere professionalmente non basti solo l’esperienza. Certe lacune, accumulate durante l’adolescenza e durante la fase di maturazione, pian piano diventano ostacoli insormontabili man mano che l’età avanza…
Per quello ha senso studiare. Certo, se uno si accontenta oppure per qualche particolare dono è tranquillamente in grado di fare da sè, tanto meglio (e giù il cappello in segno di rispetto). Ma non capita a tutti, diciamo così…
Ciao & grazie per essere passato! ^^
Ciao JP,
come dici tu spesso lo studio istituzionale (laurea, diploma, corso etc) non è il parametro con cui valutare un informatico o qualsiasi altro genere di specialista nel proprio lavoro.
Io credo però che per arrivare a certi livelli, tranne rari casi di persone con un talento innato, bisogna avere, come dici tu, passione, devozione, talento e altre virtù, ma credo che chi ha la possibilità di studiare al MIT possa vantare insegnati di livello talmente elevato da aspirare al top.
Con questo non voglio assolutamente dire che chi non esce da certi ambienti non può aspirare al top, anzi, però lo studio serve e come, e chi studia bene si vede e come. Un Ing. del cavolo si riconosce subito rispetto ad un Ing. con gli attributi.
Ciao.
@baba_andrea: innanzitutto benvenuto e grazie per l’imboccata a questo post.
Concordo con quel che dici e hai aggiunto un punto interessante, che avevo dimenticato: la qualità dell’insegnamento e degli insegnanti che effettivamente può fare la differenza.
Ciau & grazie per essere passato! ^^
Ciao,
in realtà starei attento a fare paralleli tra le università USA e quelle italiane… per tanti motivi tra cui (a) l’obbiettivo finale che hanno nella preparazione degli studenti e (b) il costo (tasse universitarie) delle stesse, che già di suo è un buon “filtro” per eliminare i meno portati (per una università pubblica non blasonata il costo annuo è circa tre volte il massimo delle tasse universitarie italiane).
Dal mio punto di vista professori eccellenti, producono laureati eccellenti a partire da studenti buoni (i.e., se uno è una caprone anche se va sotto un genio che è anche un esperto di comunicazione… il top del top… comunque rimane un caprone). In Italia abbiamo molti docenti/ricercatori conosciuti a livello internazionale e che collaborano a progetti importanti… ma la maggior parte degli studenti (o almeno questo è quello che vedo da quando sono dall’altra parte della barricata) è interessata a portarsi a casa il voto indipendentemente dalle competenze che potrebbe/dovrebbe acquisire: se prende un voto alto, senza aver acquisito nulla lo considerano il massimo… forse anche la mentalità dello studente andrebbe cambiata un poco…
cheers
@Contezero: ciò che dici è vero.
Anche noi avevamo un filtro, il Vecchio Ordinamento, che prevedeva in media 5 lunghi anni a ciclo unico prima di arrivare al tristemente agognato titolo di dottore. Il diploma, infatti, non garantiva il titolo a differenza dell’attuale triennale (*). Era un ottimo deterrente per scoraggiare una parte dei perditempo. Poi la storia col 3+2 è cambiata.
Ce ne siamo accorti noi studenti “vecchi”: nonostante l’aumento delle persone presenti in Uni a causa della riforma (almeno nei primi anni) paradossalmente trovavamo sistematicamente meno terreno fertile per le nostre iniziative, ad esempio il LUG di Crema. Non parlo della singola giornata, come un LinuxDay, ma di riunioni periodiche, progetti corposi, … Non vengo in Uni da parecchio, ma ai miei tempi, nonostante le nostre iniziative, gran parte degli studenti non sapeva dell’esistenza dei laboratori come il Wiener. E quelli che lo sapevano non erano comunque interessati alla cosa.
Se ne sono accorti anche i prof. Non hai idea di quante “lamentele” ho sentito frequentando gli uffici dei prof. durante il periodo di tesi. Ho perso il conto dei commenti su studenti svogliati, disinteressati alle materie in sè ed interessati solamente a concludere il prima possibile, con ogni mezzo e con il pezzo di carta… Parlo di media, ovviamente. Parlando del singolo le cose possono cambiare in modo significativo, ovviamente.
Suppongo che questo genere di situazione sia ormai diffusa. O almeno svariate fonti me l’hanno di fatto confermato.
Ciau! ^^
(*): per quello sono convinto che il titolo legale della laurea (il “dott.” per capirci) andrebbe abolito in Italia e, alla peggio, concesso solo a chi ha un dottorato.
Ciao, in realtà non penso che il tracollo sia dovuto al 3+2 (o almeno non credo che sia il motivo più importante). Da quello che ho potuto vedere (anche facendo le così dette learning-week) è che questa mentalità è già ampiamente presente anche negli studenti delle superiori (e temo anche prima
). All’università si sente di più, probabilmente, perché ci si aspetta di avere a che fare con delle persone che si stanno dirigendo verso l’età adulta e che quindi dovrebbero essere già in grado di prendersi le loro responsabilità.
Voglio sottolineare che non sto parlando “dei risultati”, ma della mentalità degli studenti sempre (citando JP) parlando “di media, ovviamente. Parlando del singolo le cose possono cambiare in modo significativo, ovviamente.”
cheers
@Contezero: io invece credo che sia una concausa pratica importante.
Certo, è indubbio che da bravo “vecchietto” abbia a ridire “mediamente” sulle generazioni attuali, sul loro accentuato menefreghismo e lassismo, probabilmente imputabile al decadimento costante della scuola dell’obbligo, al cambiamento dei cosiddetti valori, al mutamento delle famiglie, eccetera (es: genitori che picchiano gli insegnanti, rei di aver messo una nota o un brutto voto ai figli => “ai miei tempi” non sarebbe mai successo, anzi…).
In tutto ciò, cioè una scuola superiore che via via peggiora (ho sentito storie sulle scuole che ho frequentato che è meglio non ripetere…), mi sarei aspettato che l’Università continuasse a ergersi come un baluardo formativo e invece, complice la riforma, è diventata oggettivamente e complessivamente più “facile”. Insomma la riforma ha agevolato la mentalità del “una laurea per tutti” ed il deterrente dei 5 anni è scomparso.
Esempio: ho sentito storie di neodiplomati in ragioneria e neolaureati in economia che non sanno gestire una misera partita doppia.
Spero di essermi spiegato…