Divulgazione completa - Sono una persona anziana che è stata addestrata in una pre-Internet diversa disponibile durante l'era del lavoro. Ho visto le competenze degli sviluppatori più giovani peggiorare costantemente, soprattutto perché non conservavano le informazioni o non capivano la soluzione che avevano afferrato da Internet. Ho osservato che il livello di competenza di una persona dopo 1-2 anni di esperienza, 20 anni fa, è ora il livello di competenza che qualcuno ha dopo 5-7 anni di esperienza. (Sì, è un'osservazione personale, ma ho fatto molte assunzioni, non ho dati statistici sulla questione e sì, a volte sono vecchio e irritabile, prendo questa affermazione con un granello di sale. E stai fuori dal mio cortile. )
Cercare tutto è inefficiente in termini di tempo. È anche un sintomo di qualcuno che non ha molta profondità di conoscenza. Le persone con una conoscenza approfondita possono scrivere codice più velocemente di quelle che non sanno come risolvere un problema senza cercare le cose. Quindi vale la pena imparare a gestire più cose senza doverle cercare continuamente.
Ora non sto dicendo che non dovresti mai cercare le cose, sto dicendo che dovresti imparare a conservare la conoscenza e devi solo cercare le cose che usi raramente o quando incontri un problema, una lingua o un paradigma veramente nuovi. E non sto dicendo che non dovresti leggere per stare al passo con nuove soluzioni, strumenti e lingue.
La mia vera preoccupazione per gli sviluppatori che cercano troppo spesso cose che quelle troppe (non necessariamente tu) non sviluppano mai le capacità analitiche per comprendere i problemi che hanno e le soluzioni necessarie. Leggi quante domande ci sono in cui la persona inserisce il messaggio di errore che chiaramente non comprende, ma che dovrebbe essere abbastanza chiaro per chiunque operi a livello professionale. O quelli in cui la persona dice "non funziona, perché?" senza alcun riferimento al messaggio di errore o al modo in cui non funziona e il codice è sintatticamente corretto. O quelli a cui viene dato un pezzo di codice che dovrebbe funzionare,
Quindi, se quello che stai cercando è qualcosa che fa parte delle funzionalità principali dei linguaggi (tra cui questo dovrebbe includere SQL se stai accedendo ai database) che hai usato per più di sei mesi, sospetto che anche tu stia cercando tanto. Se quello che stai cercando sono funzionalità avanzate, specialmente quelle che potresti usare raramente, allora stai andando bene.
Ma come imparare a conservare più informazioni? Per prima cosa capisci perché il codice si è rotto. Anche se qualcuno ti offre una soluzione funzionante, se non vedi perché ha funzionato e il tuo no, allora chiedi. Se non capisci il messaggio di errore, chiedi cosa significa e quindi prova a risolverlo da solo.
E mai tagliare e incollare una soluzione che non capisci. In effetti, non tagliare e incollare affatto. Se si desidera conservare le informazioni, è necessario digitarle. Scrivere fisicamente il codice da soli ti aiuta a impararlo. Questa è una tecnica di apprendimento ben nota.
Esercitati a generalizzare la tua comprensione del codice. Ho visto persone porre domande simili più e più volte nel tempo perché non capiscono che la soluzione che hanno avuto un mese fa al problema ABC è la stessa soluzione al nuovo problema DEF.
Quindi, quando hai ricercato qualcosa, prenditi del tempo per pensare a quali tipi di problemi sarebbe utile per risolvere e scrivere te stesso su questo. Quindi quando hai un problema da risolvere, controlla prima le tue note per vedere di aver già notato una possibile tecnica. Se valuti più modi per risolvere un problema, prendi nota del tipo di problema, delle possibili soluzioni che hai esaminato e dei pro e contro di ciascuno. Ancora una volta prendere appunti sta aiutando a consolidare la conoscenza nel tuo cervello, hai già il tuo processo di pensiero in termini di pro e contro elaborati e non devi farlo di nuovo (o almeno non con la stessa profondità, potresti cercare ancora più tecniche possibili) per il prossimo problema simile.
E quando decidi cosa imparare dopo, approfondisci una delle tue principali tecnologie prima di iniziare ad imparare i primi 30 giorni di un'altra tecnologia (questo presuppone che tu abbia abbastanza ampie conoscenze per svolgere effettivamente il tuo lavoro, se hai bisogno di usa 6 tecnologie - ottieni le basi in tutti e sei prima di approfondire). Quindi vai avanti e indietro, imparando nuove cose, a livello base, imparando qualcosa in modo più approfondito, quindi imparando più nuove tecnologie a livello base. Se lo fai nel tempo, scoprirai che il tuo livello base di ciò che desideri da una nuova tecnologia è molto più profondo perché capisci domande più avanzate da porre al riguardo.
Un altro modo per imparare a conservare la conoscenza è insegnarla a qualcun altro. Rispondi a domande in posti come questo, presenta argomenti di formazione al tuo team, fai presentazioni ai tuoi gruppi di utenti locali, scrivi post di blog e aiuta a mantenere una wiki di informazioni nella tua azienda per aiutare altri sviluppatori.