Sono un programmatore cattivo o tutti hanno questa sensazione? [duplicare]

71

Tendo a capire le cose piuttosto rapidamente, ma dopo 2 anni di programmazione in Python mi imbatto ancora in cose (come Flask oggi) che mi stupiscono. Guardo il codice, non ho idea di cosa stia succedendo e poi mi sento molto umiliato. Mi sento un esperto assoluto ogni volta che succede, fino al momento in cui accade. Quindi, per circa 2 settimane mi sento un principiante assoluto.

Succede spesso, o indica che ho ancora molto da imparare prima di poter essere considerato un programmatore "buono"?

    
posta orokusaki 19.09.2010 - 04:57
fonte

9 risposte

62

Lo chiamo "Freshman Feeling". Quando sembra che tutti gli altri lo facciano insieme, sta andando più veloce, conosce tutti gli edifici del campus, non è in difficoltà, ecc. In programmazione, sono disorientato, a disagio, incerto se rispetterò o meno la scadenza - è paura.

La sensazione scompare quando riconosco la paura per quello che è, poi la ignoro, mi immergo e comincio a imparare - lottando attraverso ogni problema uno alla volta.

La cosa è, ora, la uso come indicatore per dirmi quando sto davvero imparando. Se non lo sento una volta ogni tanto, so che non sto andando avanti - Sono stagnante.

Uno dei programmatori al lavoro ha questo motto: "Il comfort è il nemico".

La sensazione di cui parli può essere la tua migliore amica se vuoi migliorare.

    
risposta data 19.09.2010 - 17:50
fonte
71

Non sarai mai, mai, mai, mai, mai, nella tua intera carriera, in una posizione in cui capisci immediatamente ogni tecnologia di programmazione semplicemente guardandola. C'è troppo troppo là. È l'accumulo di ricerca e conoscenza di milioni di individui nel corso di molti decenni. Se ti ritrovi a pensare di essere a quel punto, cerca un terapeuta per discutere delle tue delusioni.

Il tratto che più ti serve è l'abilità e la volontà di imparare. Se hai questo, niente sarà al di là di te.

    
risposta data 19.09.2010 - 06:25
fonte
31

No, questo non è il segno di un cattivo programmatore. Dovresti sempre imparare, e generalmente dovresti pensare che ci sia qualcos'altro da imparare su un determinato argomento.

Il programmatore cattivo è colui che crede di conoscere già il modo migliore per fare tutto, e non è aperto alla possibilità che abbia qualcosa da imparare.

    
risposta data 19.09.2010 - 05:56
fonte
10

L'unica costante nel mio percorso di programmatore è stata che ho sempre più da imparare. Sembra cliché, ma è vero.

Questo non vuol dire che mi sento in ogni momento, anche ora, come se avessi imparato la maggior parte di ciò che imparerò nella mia vita. Il fatto è che l'anno scorso pensavo che, guardando indietro a quel punto, avevo ancora molto da imparare. Stessa cosa per l'anno prima e l'anno prima.

Stai sempre imparando - esponendo te stesso a codice veramente buono e gli sviluppatori sono un ottimo modo per ricordartelo.

    
risposta data 19.09.2010 - 05:15
fonte
8

Esiste un modello di apprendimento in cui ti muovi attraverso quattro fasi:

  1. Inconsciamente incompetente: non sai che non lo sai.
  2. Consapevolmente incompetente: sai che non lo sai.
  3. Consapevolmente competente: lo sai che conosci.
  4. Inconsciamente competente: non sai di sapere.

Chiaramente il livello 1 è un problema, ma è da lì che tutti iniziano, ma da cui si è rapidamente spostato. Man mano che apprendi fino a raggiungere il punto in cui lo fai al livello 4. Con qualcosa come un altro modulo o libreria su una piattaforma esistente, si torna inevitabilmente all'1 o al 2 (si spera 2). Questo è normale .

(la fase 4 di BTW può essere un problema, troppo facile non riuscire a tenere il passo con le ultime tecniche.)

    
risposta data 19.09.2010 - 11:17
fonte
7

Fai una passeggiata attraverso una biblioteca. Se non ti fa sentire molto, molto piccolo, non lo capisci. Se lo vuoi in nerd-parlare, è tutto basato sul derivato, non sulla quantità effettiva della tua conoscenza. Va bene sentirti meglio di quello che stai imparando rispetto a quello che sai, anche se non dovresti esagerare. Avere imparato qualcosa è un risultato, è solo che non puoi mai considerarlo completo.

A proposito, due anni non sono molta esperienza. Ho avuto più di quella esperienza prima di uscire dal college (senza contare le lezioni), anche se ho avuto la fortuna di avere quelle opportunità.

    
risposta data 19.09.2010 - 05:47
fonte
4

Ho iniziato a scrivere codice per più di 20 anni, ci sono stati momenti in cui mi ritenevo inattaccabile per competenza e competenza, ma ho scoperto che c'è sempre qualcuno di meglio. Quello che devi tenere a mente è che c'è una moltitudine che è anche peggio, molto peggio di te. L'ingegneria del software non è un campo statico, nuovi approcci, tecniche e persino linguaggi si sviluppano continuamente e sarebbe impossibile stare al passo con tutto questo.

La cosa che di solito mi fa sedere è stupita da un codice nuovo che ho appena aperto. È lo stile della codifica. Di solito è una funzione di quanto il programmatore si sentisse a proprio agio con lo spazio del problema, più la comodità tende a un codice più astratto nella mia esperienza. Se apri un pezzo di codice e non ti capita di capire, non picchiarti, sederti, leggerlo attentamente, prendere appunti (sì, su carta) e scorrere manualmente il codice (se hai tempo) . La comprensione arriverà ed è necessario comprenderlo per diventare un buon programmatore! :)

    
risposta data 19.09.2010 - 10:38
fonte
1

Questo mi è successo. Poi si è fermato. Non perché ho smesso di progredire e non ho guardato il codice difficile ma perché alla fine sono diventato molto buono. Questo da usare in C ++ per me. Boost (codice sorgente) non mi spaventa.

    
risposta data 19.09.2010 - 07:55
fonte
1

Non so se sei un programmatore cattivo o no, ma mi considero un buon programmatore: D, anche io non so tutto. Per me, la differenza tra programmatore buono e cattivo è la capacità e la metodologia per portare a termine il lavoro. Se avessi un GPGram di BASICA, che può compilare l'applicazione di cui ho bisogno nel tempo che funziona bene, ed essere in grado di mantenere la sua base di codice per apportare modifiche ragionevoli in base alla richiesta, quindi lo considererei un buon programmatore anche lui / lei conosce solo BASICA e nient'altro.

Tuttavia, sentirsi umili è anche una buona cosa per i programmatori - la carriera che ha bisogno di apprendimento costante tutto il tempo.

    
risposta data 19.09.2010 - 12:04
fonte

Leggi altre domande sui tag