Quali sono alcuni modi efficaci per aiutare qualcuno a imparare un linguaggio / un framework di programmazione in modo focalizzato?

0

Ecco alcuni sfondi:

  • Ho qualcuno che è motivato ad aiutarmi in un progetto che ha già una buona porzione di codice scritto
  • La persona non ha uno sfondo CS, ma conosce le basi (funzioni, variabili, oggetti, classi, ecc.)
  • L'obiettivo non è quello di rendere questa persona uno sviluppatore rockstar durante la notte: devono solo essere in grado di prendere il loro peso su questo specifico progetto.
  • Il progetto è un progetto Rails, ma se ci sono risposte generali, mi piacerebbe favorirle.

L'attuale approccio che viene adottato è quello di dare a questa persona una funzione semplice (che ha già una caratteristica simile già scritta). Poi spingili di nuovo quando si confondono, cercando di non dare loro interi pezzi di codice.

Indipendentemente da ciò, sono molto confusi e frustrati e si muovono lentamente. Non inaspettato, ma mi chiedo se ci sono suggerimenti o trucchi per aiutarli a imparare in modo più efficace, e ottenere il meraviglioso "ah-ha!" momenti.

    
posta Nevir 14.08.2011 - 22:03
fonte

3 risposte

2

Penso che la cosa più importante che puoi fare sia mostrare loro come risolvere i loro problemi . Ci sono così tante discussioni su questo sito su stagisti o nuovi lavoratori o qualcuno di tale statura che chiede aiuto su ogni piccolo problema. Vedete anche l'altra faccia dei giovani sviluppatori che si affaticano e sprecano tanto tempo perché si rifiutano di chiedere aiuto.

Il modo migliore per aiutarlo è mostrargli le risorse. Digli come risolvi i tuoi problemi. Parliamo di overflow dello stack, come cercare efficacemente google, debug di printf e cose del genere. Digli che quando ha un problema, dovrebbe essenzialmente andare giù per questa lista di controllo e cercare di capire cosa non va e vedere se è in grado di risolverlo, MA che non dovrebbe spendere troppo tempo in qualcosa di potenzialmente banale. Quando viene per chiedere aiuto, fagli dire cosa ha provato, cosa ha capito e guidalo da lì.

Quando stavo iniziando a programmare, ho imparato un sacco cercando di correggere i miei errori. Questo perché a volte proverei a correggere "x" quando il mio problema era veramente "y", ma nel processo imparerei a conoscere sia x che y. In futuro, se vedessi problemi relativi a xoy, saprei dove tornare per scavare più a fondo. Raccogli molte cose solo leggendo e cercando le risposte, puoi capire cosa c'è che non va.

Solo per reiterare un punto precedente, mostrargli come usare un debugger, o almeno come passare attraverso il suo codice. Per citare Alan Perlis:

To understand a program you must become both the machine and the program.

Molti nuovi programmatori fissano il codice cercando di ottenere un'illuminazione (le persone cercano di risolvere un sacco di problemi in questo modo), ma questo non è necessario con gli strumenti che abbiamo a nostra disposizione. Digli di come leggi un programma e "immagina" che funzioni, e aiutalo a pensare attraverso il suo codice. Mostragli come utilizzare un debugger o come inserire istruzioni di stampa per confermare la sua comprensione.

Questo lo metterà molto prima della curva. Il resto verrà con i suoi sforzi.

    
risposta data 14.08.2011 - 23:12
fonte
1

Quando introduciamo le persone a lavorare su nuove aree del nostro software, di solito facciamo un paio di programmazioni con un programmatore, che ha una conoscenza più approfondita in questo particolare campo. (ovviamente dovresti avere le risorse per questo). Questo aiuta le persone a capire più velocemente il codice esistente.

    
risposta data 14.08.2011 - 23:12
fonte
1

Quando ho iniziato a programmare con Rails, non conoscendo la lingua, il framework o troppo sullo sviluppo web, ho avuto circa due o tre settimane da solo per esplorare tutto questo in qualche modo. Ho usato il tempo principalmente per sviluppare un web shop molto semplice. Questo mi ha dato l'opportunità di avere una buona panoramica dell'intero framework e sperimentare i singoli elementi come routing, modelli, viste, validazioni, test, ajax, layout, partial e così via, senza il rischio di rompere nulla. Dopo questo tempo avevo visto almeno ogni parte e il nuovo molto bene, dove si inseriva nell'intero sistema, cosa aspettarsi da un progetto Rails e dove cercare determinate funzionalità. Ovviamente non sapevo tutto, ma sapevo come porre domande intelligenti ed ero in grado di ottenere un piccolo progetto prototipo con successo per un cliente senza disturbare i miei nuovi compagni di squadra con troppe idee stupide.

A mio modesto parere, Rails funziona nel suo complesso. Cercare di iniziare a lavorare in una singola area senza conoscere le connessioni non funzionerà e perderà tempo. Lascia che abbia almeno una o due settimane per esplorare il quadro senza fare alcun lavoro serio su un progetto esistente. Stavo lavorando da solo, credo che se ha alcune persone con esperienza intorno a lui per fare domande e chi può indicare concetti importanti, dovrebbe essere in grado di entrare in questo abbastanza veloce.

Avere pochi buoni libri disponibili come quelli di David H. Black non farà male neanche a.

    
risposta data 14.08.2011 - 23:29
fonte

Leggi altre domande sui tag