Angella Andrea - Italian Blog

Infinita passione per lo sviluppo software !
posts - 133, comments - 216, trackbacks - 9

My Links

News

MIT OpenCourseWare: I'm invested Wikipedia Affiliate Button


Sto leggendo:

Archives

Post Categories

Siti web realizzati

Siti web tecnici

Discussione: metodi efficaci di apprendimento.


Ciao a tutti ragazzi,
sto leggendo il libro “Pragmatic Thinking and Learning” e mi sto soffermando su alcuni punti interessanti legati all’apprendimento.

In particolare io mi riferisco al nostro settore quindi all’apprendimento in ambito IT (tecnologia, design, architettura, metodologie, …).

Come sappiamo esistono differenti modi di apprendere:

  • Leggere libri
  • Realizzare un progetto personale
  • Apprendimento tramite esperienza in azienda
  • Apprendimento tramite corsi offerti dall’azienda
  • Partecipazione a sessioni tecniche e a community
  • Webcast
  • Podcast
  • Lettura di articoli / blog sul web
  • Mentoring
  • Gruppi di studio

Sicuramente tutti dobbiamo lavorare e quindi l’apprendimento tramite esperienza in azienda e’ abbastanza scontato ma a mio parere non e’ sufficiente per costruirsi una brillante carriera. Spesso in azienda sei costretto a compiere decisioni con una conoscenza incompleta mentre a me spesso piace un approccio graduale all’apprendimento che al lavoro non e’ quasi mai praticabile. Inoltre al lavoro non utilizzerai mai tutte le tecnologie ed e’ quindi necessario un lavoro esterno di compensazione e di espansione delle proprie conoscenze. Nonostante la partecipazione a community, il guardare webcast la mia fonte preferita di apprendimento sono i libri. Il motivo principale e’ che dietro al libro c’e’ un lavoro immane di raccolta materiale e riorganizzazione che e’ estremamente utile per il lettore che si ritrova una esposizione dei contenuti in maniera lineare e chiara. Tuttavia e’ noto che leggere richiede tempo e non e’ la forma preferita di apprendimento per l’essere umano che spesso impara piu’ velocemente imitando e osservando invece che leggendo.

Ci sono tantissimi professionisti che stimo e rispetto (e molti sono qui su ugi) con un bagaglio di competenza tecnica immenso che spazia campi di applicazioni diversi e sorge spontanea la domanda:

Qual e’ il vostro modo efficace di apprendere?
Come e’ evoluto nel corso degli anni?

Una classica risposta e’ con la pratica! Si e’ vero, capisco che la pratica e’ la chiave ma qui entra in gioco il fattore tempo.

Quanto tempo extra-lavoro dedichi all’apprendimento?

Io personalmente ne dedico molto in quanto sono estremamente appassionato ma misuro che i progressi non sono rapidi come vorrei. Il mio manager dice che e’ solo una questione di esperienza ma non condivido la sua affermazione. Voi?

Condividete la vostra esperienza perfavore, penso che possa nascere una discussione interessante.

Per concludere vorrei riportare una frase significativa del libro:

“There's always going to be a new technology or a new version of an existing technology to be learned. The technology itselft isn't as important; it's the constant learning that counts."

Print | posted on sabato 25 giugno 2011 23:32 |

Feedback

Gravatar

# re: Discussione: metodi efficaci di apprendimento.

I libri per la teoria e la documentazione *ufficiale* per i dettagli tecnici. Web/pod cast vanno anche bene, per una rapida overview, mentre blog e forum, salvo poche eccezioni, meglio lasciarli perdere perche' e' piu' disinformazione che altro. Di mentoring e gruppi di studio ne ho fatti ben pochi visto che quando ho cominciato era la meta' degli anni '80, quando in Italia informatica e ancora di piu' ingegneria del software erano materie esoteriche per pochi appassionati. E ovviamente pochi pochi ma buoni buoni, cioe' erano tempi in cui chi apriva bocca sapeva quello che diceva e all'80% delle domande si rispondeva con un semplice e meritato RTFM. Poi sono arrivati gli anni '90, il Web, e la cosiddetta democratizzazione della programmazione, e da li' in poi solo discesa per tutta la categoria: l'ultima volta che ho provato a ri-iscrivermi a ingegneria informatica, 7-8 anni fa, al prof gliel'ho dovuto spiegare io cosa era un puntatore doppio perche' non riusciva a capire il mio compito, e si trattava di un semplice algoritmo di ricerca in un albero.

Come ti dicevo, il tempo che dedico allo studio e' almeno il 50% del tempo totale che dedico al lavoro. Personalmente non faccio nessuna differenza fra tempo del lavoro e tempo extra: non capisco nemmeno quale dovrebbe essere questa differenza, se non per il fatto che alcuni progetti mi vengono pagati e altri sono auto-commissioni che pagano in termini di auto-apprendimento, cioe' ampliamento delle mie competenze, e poi, si spera, in quanto ai possibili risvolti commerciali in un qualche prossimo futuro. L'approccio che adotto e' comunque lo stesso: massima serieta' e mai scrivere codice se non con tutti i crismi e che io stesso per primo non capisca a fondo.

Per riepilogare: tocca *studiare* (non semplicemente leggere) i libri per la parte teorica, e tocca imparare a leggere e a leggere bene la *documentazione* per sapere cosa uno sta facendo. Quanto agli smanettoni ritengo senza mezzi termini che siano i veri nemici della nostra professione e la vera ragione per cui nessuno ha piu' rispetto per quello che facciamo, la vera ragione per cui il 90% dei sistemi fa schifo a dire poco, e la vera ragione per cui oggi guadagno il 50% di quello che guadagnavo ad inizio carriera.

> “There's always going to be a new technology or a new version of an existing technology to be learned. The technology itselft isn't as important; it's the constant learning that counts."

Se ne potrebbe parlare per ore, comunque sono (abbastanza) d'accordo.

-LV
27/06/2011 01:57 | LudovicoVan
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

P.S. Ovviamente lavoro una media di 12 ore al giorno per 6 gorni alla settimana: poi ovviamente ogni 9-12 mesi vado in overload e mi prendo una pausa di 2-3 mesi. A volte anche di piu', anche 6-9 mesi senza un lavoro ufficiale, ma quello e' quando mi rimetto a studiare qualcosa a tempo pieno... Ma questo perche' ancora non ho famiglia: che e' un monito ai giovani a non perdere tempo perche' quando poi ci si mettono la moglie e i figli tocca macinare e basta, e quello che si e' seminato si raccoglie...

-LV
27/06/2011 02:24 | LudovicoVan
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

> Libri: solo se entro le 200 pagine, in pdf da scorrere con gli occhi. Tanto i mallopponi cominciano con 4 capitoli che in genere sono cose che già conosco. 10%

> Webcast e video corsi: AppDev, MSDN, Pluralsight. Si anche a pagamento. Ne guadagno in tempo vita. 60%

> Provare snippets trovsati qua e la, blog e non, i sorgenti dei libri della apress e dei webcast stessi. 20%

> Parlare con i colleghi e arrivare subito al dunque facendosi commentare il loro codice, se lo ritengo valido. 120%

;)
28/06/2011 02:14 | marcomanga
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

> Non l'ho mai usata come fonte primaria di apprendimento ma solo per vedere i dettagli di un metodo/proprieta'. Qui Ludovico deve ancora spiegarci cosa intende per "imparare a leggerla" :)

Neanch'io la definirei una "forma di apprendimento", e' semplicemente la documentazione ufficiale. Un'analogia: quando compri un video-registratore, se leggi le istruzioni magari spendi mezz'ora ma poi ne sai usare tutte le funzionalita', se ti metti semplicemente a smanettare magari in mezza-giornata riesci a fare le due cose che ti vengono in mente di farci... Ovviamente nel caso delle tecnologie con cui lavoriamo la mezza giornata e' piuttosto una decina di anni, ma sempre per fare le due cose che ti vengono in mente di fare... :) "Imparare a leggerla" significa alla lettera imparare a leggerla: l'unica cosa che posso aggiungere su questo e' che se uno inizia a consultare la documentazione *sistematicamente* e non solo per caso, dopo qualche settimana tutto diventa piuttsoto chiaro: come e' organizzata, come e' scritta, e dove stanno le cose che ti servono quando ti servono. Provare per credere...

> Piu' pratica, non necessariamente progetti completi

Su questo punto mi sentirei di dare un'avvertenza: l'80% per cento dello sforzo si spende nel 20% finale del progetto. Non e' una regola d'oro, presuppone che non si sia lavorato troppo bene nel primo 80%, ma il punto importante che vorrei segnalare e' che *chiudere* un progetto non e' affatto facile e richiede molta attenzione e impegno. E' fin troppo facile accozzare un po' di cose, farsi un'idea di massima, e passare oltre: la realta' della produzione industriale/professionale e' pero' un'altra, e *chiudere* i progetti e' un'arte in se'.

Grazie a te e a tutti gli altri per lo scambio di idee: il video di Robert Martin mi e' piaciuto parecchio, non lo condivido al 100% (e quando mai!) ma vale sicuramente la pena...

-LV
28/06/2011 04:20 | LudovicoVan
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

P.S. Semmai consiglierei progetti piccoli ma sempre completi...

-LV
28/06/2011 04:45 | LudovicoVan
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

Commento ora alcune affermazioni, questi commenti naturalmente non sono da prendere "sul personale" ma è semplicemente la mia opinione.

-I libri per la teoria e la documentazione *ufficiale* per i dettagli tecnici.

Aggiungo che durante lo sviluppo utilizzo occasionalmente anche Reflector per ovviare a "buchi" nella documentazione (es. classe AsyncOperationManager, etc...), per i dettagli tecnici però non escludo blog e forum (lo spiego più avanti).

Non sapevo che alcuni partner dispongono di una documentazione maggiore e non mi sembra molto fattibile legalmente, scusate se dubito fortemente di questa affermazioni ma servirebbero delle "prove".

Per quanto riguarda "leggere la documentazione" non lo trovo così complicato. All'inizio c'è da capire come è organizzata, una volta scoperto ad esempio che nell'overview di una classe c'è la descrizione generale (e spesso esempi) e quindi se la spiegazione di un metodo non è chiaro bisogna andare li, che ci sono sezioni più generali oltre alla documentazione reference delle classi, che per le Win32 ci sono certe abbreviazioni, etc.. risulta di consultazione agevole.

In alcuni casi esistono lacune e basandosi solamente sulla documentazione si rischia di bloccarsi o comunque si impiega più tempo a capire le cose, bisogna riconoscere velocemente queste situazioni e passare ad un altro "media", una ricerca globale su Internet in questi casi è un modo molto più rapido, se poi da li finiamo su un altra pagina di MSDN library tanto meglio.

-blog e forum, salvo poche eccezioni, meglio lasciarli perdere perche' e' piu' disinformazione che altro.

Non sono assolutamente d'accordo, trovo il loro ausilio praticamente essenziale nella pratica per risolvere rapidamente e in breve tempo alcune problematiche, in genere quando sono bloccato cerco con un motore di ricerca e nella maggioranza dei casi finisco su blog di persone che hanno avuto il mio stesso problema e spiegano come l'hanno risolto.

Aggiungo che i forum specializzati/Microsoft e alcuni siti di answer (es. stackoverflow) sono una risorsa incredibile in quanto le risposte che si ricevono sono assolutamente professionali ma gratuite. L'unico contro può essere che la risposta può arrivare qualche giorno dopo o può richiedere una sorta di dialogo se la domanda non è chiara o la situazione particolarmente complessa.

-... al prof gliel'ho dovuto spiegare io cosa era un puntatore doppio perche' non riusciva a capire il mio compito, e si trattava di un semplice algoritmo di ricerca in un albero.

Non posso giudicare a priori un professore per una cosa del genere, magari non è ordinario e il suo ambito di ricerca è molto lontano dal C/C++. Ti assicuro che ad Ingegneria ci sono persone molto brave.

-Quanto agli smanettoni ritengo senza mezzi termini che siano i veri nemici della nostra professione e la vera ragione per cui nessuno ha piu' rispetto per quello che facciamo, la vera ragione per cui il 90% dei sistemi fa schifo a dire poco, e la vera ragione per cui oggi guadagno il 50% di quello che guadagnavo ad inizio carriera.

In parte possono aver contribuito ma ti assicuro che la lettura del libro "Perchè il software fa schifo" mi ha aperto gli occhi. Non scaricherei sugli smanettoni tutta la colpa. Spesso sono proprio i cervelloni che complicano le interfacce grafiche rendendo inusabile per una certa categoria di utenti il software. Ad ogni modo una discussione approfondita dei problemi dell'informatica non è trattabile in un commento, quindi non entrerei nel merito.
30/06/2011 03:20 | Leonardo
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

> Ti assicuro che ad Ingegneria ci sono persone molto brave.

Anche alle poste ci sono brave persone.

Caro Leonardo, come si dice dalle mie parti: anche le pulci hanno la tosse! Ma ti do ragione, meglio non entrare nel merito.

-LV
30/06/2011 04:04 | LudovicoVan
Gravatar

# re: Discussione: metodi efficaci di apprendimento.

Dubito esista una ricetta universale. Io non ne ho una e sarei ben felice di conoscerla.
Credo anche che dipenda anche molto dalle proprie esperienze passate. Per esempio ancora oggi il fatto di aver studiato e usato a fondo tutto ciò che c'era dentro il DOS è certamente un bagaglio culturale su cui appoggiare lo studio delle novità. In sostanza si fa prima ad imparare ciò che c'è di nuovo, si intuisce più facilmente il meccanismo di funzionamento di una nuova tecnologia.
Per il resto credo che la lista (libri, articoli, esperienza sul campo, etc.) sia già stata espansa a sufficienza. A mio avviso sbattere la testa sul codice resta sempre il modo migliore per rendere permanente ciò che si è imparato.
04/07/2011 15:08 | Raffaele Rialdi
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET