Dopo 10 anni di consulenze on-site per una moltitudine di clienti diversi, c'è una cosa che non smette di colpirmi e sorprendermi, anzi lo fa sempre di più con il passare del tempo. Sto parlando dell'apparente incapacità di moltissimi programmatori di cercare informazioni online. Non è affatto raro trovare qualcuno che ha un problema e che sta li ore ed ore a sbattere la testa con il proprio codice non funzionante, a grattarsi la testa davanti ad un criptico messaggio di errore che non se ne vuole andare, e al massimo ridursi a cercare lumi nella documentazione locale installata assieme al software/framework/IDE/linguaggio del caso.
Ma come si fa...non è infinitamente più semplice, immediato e produttivo cercare la soluzione online, e più specificatamente tramite Google? Con un messaggio di errore spesso è semplicissimo, basta copiare e incollare il messaggio as-is, e metterlo tra virgolette in modo da cercare la frase esatta. Pochi risultati? Togliete le virgolette. Troppi risultati? Aggiungete, fuori dalle virgolette, qualche parola chiave relativa al vostro contesto. Con un problema tipo "come eseguire del codice javascript al termine di un aggiornamento parziale tramite UpdatePanel di ASP.NET?" le cose si complicano, ma solo un po'.
In realtà oltre ai programmatori che per qualche misterioso motivo proprio non pensano di usare un motore di ricerca per trovare una soluzione, ci sono quelli che ci pensano, anche subito magari, ma mollano dopo qualche query infruttuosa. Essere in grado di cercare con profitto su Google è un'abilità che va affinata con la pratica, come qualsiasi altra cosa, quindi è normale che cercare a caso senza criterio spesso porti a cattivi risultati. Ma il problema è anche che la stragrande maggioranza dei programmatori italiani usa tool di sviluppo localizzati in italiano, legge documentazione in italiano, e parla solo con colleghi italiani. Usare un IDE/framework in italiano significa che i messaggi di errore saranno in italiano, e cercare in Google quel messaggio di errore in italiano ovviamente produrrà una quantità di risposte infinitesimale rispetto alla ricerca dello stesso messaggio di errore in lingua originale, ovvero in inglese. Tradurre "a occhio" il messaggio di errore non funziona bene, anzi mettendo il messaggio tra virgolette quasi sicuramente non funzionerà affatto. (questo è anche causato dal fatto che l'iniziale traduzione da inglese a italiano spesso viene fatta in modo un po' fantasioso, e solo quel primo traduttore potrebbe forse essere in grado di compiere il procedimento inverso ottenendo perfettamente la frase di partenza :-)
A parte i messaggi di errore da copiare e incollare, e indipendentemente dalla lingua dei propri strumenti, una larga percentuale di programmatori si ostina a cercare soluzioni e pezzi di codice scrivendo in italiano. Questo non è patriottismo o nazionalismo...è poca furbizia, o poco interesse. Certo, in italiano abbiamo delle fantastiche risorse come i forum di ASPItalia , i forum di Visual-Basic.it, oppure vari newsgroup. Una ricerca lì vale la pena farla, magari anche lasciare la propria domanda se non si trova già qualcosa di pronto...ma nel caso i primi 10 minuti di ricerca in italiano non risolvessero la questione vogliamo passare all'inglese?
In Italia abbiamo programmatori bravissimi, come in ogni altra parte del mondo...ma siamo pochi, pochissimi se paragonati alle decine di milioni di programmatori che usano l'inglese come lingua principale o che comunque lo conoscono sufficientemente da scrivere in linguaggio *tecnico*. E' una questione di numeri, tutto qua. Qualcuno alza la mano dicendo che non conosce l'inglese? Beh, è ora di impararlo! Non averlo studiato a scuola non è una ragione valida. L'inglese è facile da imparare, ed esistono infinità di corsi su CD, DVD, film
sottotitolati, libretti semplici per cominciare a farci la mano. L'inglese tecnico poi, quello che serve ad un programmatore per capire e farsi capire, è formato da una sintassi di base, un piccolissimo sottoinsieme di termini generici, e una grande quantità di termini specifici di settore (da conoscere in ogni caso). Anche con una conoscenza di base, e leggendo documentazione in inglese, si sta prestissimo a farci la mano. Scrivere funziona alla stessa maniera, bisogna cominciare a farlo. E sempre di più in futuro.
La prossima volta che farete un colloquio di lavoro a qualcuno chiedetegli come si comporta davanti ad un messaggio di errore incomprensibile o davanti ad un problema che non sa come risolvere. Se non vi dirà che cerca su Google (o perlomeno su forum e newsgroup di settore) e se ammetterà di non poter leggere e scrivere in inglese tecnico, pensateci bene...
Una corretta attitude verso la ricerca può servire più di una conoscenza di partenza della tecnologia di turno; e l'inglese non serve solo per gestire eventuali clienti o partner stranieri, serve per il lavoro di ogni giorno.