Come posso sentirmi più sicuro delle mie capacità di programmazione? [chiuso]


37

La programmazione non è estranea a me. Ho iniziato a fare markup (HTML, ora per favore non ridere di me) quando avevo 12 anni e un po 'di BASIC quando avevo 13 anni (sapevo molto su diagrammi di flusso, pseudocodici a questo punto), ma poi sono stato ammonito La biologia al liceo e quindi ha perso la conoscenza "reale" della programmazione di linguaggi come C, Java, eccetera. Ho preso CS per il mio UG BE (simile a BS, ma molto più teorico). Ho imparato C & C ++ (in misura minore) da solo (il mio prof era un dolore totale e la classe era piena di code-jocks (che l'aveva già imparato a scuola, e quindi non prestava attenzione alla classe e non lo fece lasciare che anche i mortali minori come me prestino attenzione alla classe) e potrebbero creare un fantastico programma di addizione o moltiplicazione (quelli che ora anche i giardinieri

Il mio problema principale è che mi sono sempre sentito inadeguato e strangolato dalle mie limitate capacità di programmazione e sminuito dai code-jocks (credetemi, mi sono imbattuto in questo sito anni fa, ma potevo solo ora trovare il coraggio di pubblicare una domanda) e sono stato a volte anche depresso per l'incapacità. La maggior parte delle persone afferma che la programmazione non riguarda necessariamente il linguaggio ma lo stato d'animo che la persona ha e le tecniche impiegate per risolvere problemi / problemi. Sono d'accordo con tali sentimenti, ma posso mai acquisire un tale "stato d'animo", e in tal caso come dovrei avvicinarmi a "Programmazione / Codifica", e se ci sono dei modi e passi che uno percorre per raggiungere lo "Zen di codifica ". Come lo faccio? Inoltre, non sarebbe male se qualche Santo volesse fare da mentore a questo pezzo rovesciato di $ #! ^.

PS Sarei per sempre grato a chiunque mi consideri degno del suo tempo, e come bonus nominerei il mio primo software che spedisco dopo di loro. (Se mai riuscissi a spedirne uno, cioè)

TL; DR: non ho mai davvero imparato "Programmazione / codifica", non posso risolvere i problemi anche se provo a farlo. Aiutami!


22
Non abbatterti così tanto con te stesso. Nessuno uscì dalla programmazione dell'utero. Più codice, più penserai nel codice. Divertiti con esso.
Steven Evers,

9
Se stai pensando "Hm, probabilmente il bug è nel mio codice, non nel compilatore" stai pensando come un programmatore (beh, come la maggior parte dei programmatori).
gablin,

5
@SnOrfus: nessuno tranne Jon Skeet;)
back2dos

4
da un noob all'altro: la pratica è la chiave!
Chani,

1
@Snorfus Scommetto che alcune persone l'hanno fatto! : P
Segna C

Risposte:


26

Direi che il modo migliore è semplicemente passare più tempo su di esso (cercare la regola delle 10000 ore). Trova qualcosa che vuoi fare e parti per farlo. Scegli qualcosa che va oltre la tua attuale abilità, ma non così lontano da non riuscire a finire in un ragionevole lasso di tempo. Se ti piace davvero, ti ritroverai a ripetere questo fino a quando non sarai davvero bravo. Se non ti piace, forse non è la cosa giusta per te. Prova a sfidare te stesso, probabilmente ti piacerà.


Il suggerimento della regola delle 10000 ore sembra giusto. Davvero intrigante, ma quale lingua dovrei scegliere quale sarebbe ancora pertinente e offre la stessa flessibilità di nuove lingue (per esempio: se avessi imparato Java in profondità con tutti i concetti, sarei in grado di migrare su Scala, Processing, Clojure, ecc abbastanza facilmente).
Ameen,

11
Ameen: non preoccuparti per le altre lingue. Impara uno. Passa più tardi, dopo aver inserito 10.000 ore in Java. La vita è lunga, ci sono molte lingue, non le imparerai tutte. I nuovi vengono inventati continuamente. Impara una cosa adesso. Preoccupati per il futuro dopo.
S.Lott

2
"passarci più tempo" in modo vago non è efficace.
Rein Henrichs,

1
Anche una buona strategia è imparare un linguaggio di programmazione orientato agli oggetti e imparare un linguaggio di programmazione funzionale. Impara una lingua tipicamente statica e una lingua tipizzata dinamicamente. Sarai uno sviluppatore a tutto tondo.
Chirone,

1
@BSeven Devi dare un'occhiata al saggio di Peter Norvig su "Impara la programmazione in 10 anni", è simile a questo e fa luce su alcuni dei principali problemi che i nuovi arrivati ​​affrontano nella programmazione.
Ameen

16

Spedisci cose . E l'unica strada. Fai cose. Al lavoro, i tuoi progetti, progetti open source. Inizia a spedire cose. Possono essere cose molto piccole, come una correzione di bug o una funzionalità minima commerciabile. Basta iniziare a consegnare le cose . Niente è più soddisfacente o crea fiducia nel successo.

Modifica: dovresti leggere Spediscilo . È ottimo.

Modifica di nuovo: l'esperienza di fare qualcosa di diverso dalla spedizione è solo un'esperienza che non riesce. Ho visto molti sviluppatori "senior" la cui esperienza principale non consisteva nel spedire oggetti (e trovare scuse per non spedirli). La vera nave degli artisti .


12

'problema', 'inadeguato', 'strangolato', 'abilità X limitate', 'sminuito', 'depresso', 'incapacità' in una frase, tutto diretto verso te stesso mi suggerisce alcune ferite non guarite del passato che ancora fanno male tu. Se trovi modi per superarli, la programmazione o qualsiasi arte / artigianato del genere sarebbe molto facile da padroneggiare. Forse leggere della resilienza di altre persone sarebbe di aiuto qui. Tutti attraversano momenti dolorosi nelle loro vite. Se quelle ferite / ferite non fossero guarite, i loro successi non sarebbero arrivati. Guarisci prima le tue ferite. La programmazione può attendere più tardi.

Per quanto riguarda le capacità di programmazione, il modo in cui imparo una nuova lingua e comincio a pensare come gli altri che già programmano in quella lingua è, innanzitutto, leggere tutto ciò su cui posso mettere le mani in relazione a quella lingua. Quindi, quando ho letto abbastanza, inizia a scrivere piccoli programmi.


2
Allo stesso modo, se vuoi vedere qualcuno che ha avuto lo stesso problema e una manifestazione della comunità attorno a lui e ai suoi problemi, assicurati di leggere questo thread di Hacker News .
Wes Baker,

3
+1 per il suggerimento di leggere su documentazione ed esercitazioni. E per quanto riguarda la prima parte, concordo sul fatto che molte ferite non sono guarite. (Cosa sta facendo uno psicologo in questo sito?) Ma sfortunatamente alcune ferite non possono essere curate facilmente come altre. Ma sono venuto a patti con loro, e francamente non sono più un dolore come una volta. Ed essere ozioso mi spinge solo verso pensieri così negativi e l'unico modo per farlo è quello di tenermi occupato da Coding, ecc. Grazie mille per i tuoi suggerimenti, e tu amico mio mi hai sconcertato con le tue abilità psichiche.
Ameen,

@Wes Baker: Grazie mille per il thread di Hacker News. Posso certamente relazionarmi con i pensieri del PO (anche se non l'ho avuto così male). Io (penso) ho una discreta conoscenza di sistemi operativi, architettura dei computer, algoritmi, strutture dati, reti di computer, crittografia, data warehouse, ecc. (Anche se ho bisogno di ripulirli). Come ho detto, conosco tutti questi argomenti da un POV teorico e in realtà non ho fatto cose pratiche su di esso. Sicuramente sfogliamo quel thread, molti consigli fantastici anche lì. Tyvm!
Ameen,

@Ameen Per "tutto", non mi limito a documenti ed esercitazioni. Codice che altri hanno scritto, i modi di dire che hanno usato, errori, eccezioni, ecc. Che altri hanno affrontato e anche le loro soluzioni, ecc. Non sono affatto un sensitivo o uno psicologo.
vpit3833,

9

Alcune cose che devi davvero andare avanti:

Perseveranza: diventare un buon programmatore richiede tempo una pratica. Devi scrivere un sacco di codice errato prima di scrivere qualsiasi codice buono - molto codice negativo. Per fortuna, hai risorse come questo sito per aiutarti. Finché ti impegnerai a imparare a programmare, sarai in grado di mettere insieme giochi e utilità semplici in pochissimo tempo!

Obiettivi: stabilisci alcuni obiettivi per te stesso. Diciamo come usare STL in C ++ in due settimane. Guarda come stai bene. Se impieghi più tempo, tieni traccia di quanto più tempo, ti aiuterà a fare meglio in futuro. Ho imparato questo trucco da un collega; poteva stimare, fino ad oggi, quanto tempo avrebbe impiegato qualsiasi compito. In questo modo mi ha aiutato a tenere traccia di quanto tempo spendo in progetti personali e mi aiuta a evitare che sfuggano al controllo (gestione dell'ambito che lo chiamano).

Curiosità: devi essere interessato e impegnato. Se non sei il tipo di persona che non affronta i problemi con il desiderio di trovare la soluzione, iniziare la programmazione sarà inizialmente difficile e il debug può essere da incubo. Ma non deve essere così. Se hai un problema, chiedi su siti come questo, google il tuo errore. Se non riesci a capire come implementare qualcosa, chiedi! Ci sono sempre persone là fuori che sono disposte ad aiutare!

Fiducia: sii sicuro di ciò che vuoi fare e abbastanza sicuro da porre domande. Se qualcuno ti mostra un altro modo di fare qualcosa, non essere sulla difensiva o crollare su te stesso pensando di aver fatto male; pensalo mentre ti viene insegnato un approccio diverso per risolvere il tuo problema!

Soprattutto, mantieni una visione positiva, leggi molti tutorial e fai molte domande, e sarai un programmatore felice! Un altro consiglio che devo dare è quello di scegliere una lingua, attenersi a ciò fino a quando non si è più sicuri. Hai un sacco di tempo per imparare una vasta gamma di lingue, ma quando inizi, lavora con una sola.

In bocca al lupo! E ricorda, questo dovrebbe essere divertente! = D


Grazie per il tuo contributo approfondito. Uno dei miei problemi è sempre stato il fatto che ho (spesso) puntato troppo in alto e caduto a faccia in giù. Il mio subconscio potrebbe aver adottato un approccio "Bruciato una volta, due volte timido" e forse sta bloccando i miei tentativi di correggerlo. Sono sempre stato curioso, ma la mancanza di un mentore mi ha portato ad ignorare la mia curiosità. E seriamente SE sembra molto più sorprendente col passare del tempo, sicuramente esaminerò questa fantastica risorsa e raggiungerò il mio obiettivo di diventare un vero programmatore. Grazie mille, sul serio non posso dire quanto il tuo post significhi per me.
Ameen,

Sono felice di aiutarti! = D
bryanegr,

Il miglior obiettivo: il codice della nave!

7

Nello sviluppo sembra che il paradosso "più sai, più sai di non sapere" sia vero.

Se sei una persona premurosa e onesta, dovrai accettare questo fatto e imparare ad affrontarlo.

La fiducia, nel senso implicito dalla domanda, è una cosa molto personale che in realtà non ha nulla a che fare con un particolare set di abilità o metodologia.

Su una nota più superficiale, il sentimento descritto in http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (sezione: sopravvaluti radicalmente l'abilità media della competizione a causa di la folla con cui stai in giro) mi ha sempre aiutato.

Suggerirei di imparare ad essere più fiducioso nel lavoro che hai svolto invece di creare fiducia nelle tue capacità nel loro insieme. Il modo migliore per farlo è scrivere test ripetibili per tutto il codice. Farà miracoli sulla tua psiche.


4

WhiteFang34 ha perfettamente ragione. Come biologo, ho scoperto che l'unico modo per imparare la programmazione è iniziare a farlo. Leggi alcuni libri, hai sempre a portata di mano Google e SO e "fallo". I tuoi programmi saranno molto semplici, mal programmati e corretti all'inizio, e con il tempo migliorerai sempre di più. Non ho tempo per seguire le lezioni di programmazione, ma passo molto tempo a scrivere codice (perché è divertente farlo).

Scegli una lingua che ti permetta di pensare di più a ciò che vuoi fare e meno a come farlo. c non ne è un ottimo esempio. Prova linguaggi di livello superiore come java o c #, perché ti permetteranno di fare di più, così avrai il coraggio di provare sempre di più.

(Ovviamente, supponendo che tu non stia perseguendo una carriera come programmatore professionista, nel qual caso direi solo di tornare a scuola ...)

Buona fortuna e buona programmazione

PS: Oh, e avrai bisogno di molta pigrizia, impazienza e arroganza

http://c2.com/cgi/wiki?LazinessImpatienceHubris


4

La cosa divertente è:

la mente del programmatore non ha molto a che fare con computer, linguaggio di programmazione,
schemi di progettazione o algoritmi

Si tratta di comprendere le sottigliezze del mondo reale, l'interazione tra le cose. Capacità di pensare in astratto . Capacità di notare cose e ricordarle . Ciò porta inevitabilmente a una buona soluzione dei problemi.

L'implementazione, il codice stesso arriva solo dopo - dopo aver
risolto con successo il problema dato nella tua mente.


4

La fiducia non è qualcosa che dovresti provare a sentire delle tue capacità. La fiducia è scarsamente (probabilmente anche negativamente) correlata con l'abilità effettiva. Dovresti lavorare per migliorare il tuo set di abilità professionali (o per hobby), indipendentemente da ciò che senti sul tuo attuale livello di abilità.

La fiducia è qualcosa che altre persone, coloro che ritieni competenti, dovrebbero venire a conoscenza delle tue capacità dopo aver lavorato con te o visto il tuo lavoro.


3

È molto semplice: sii interessato a questo ! Sembra che tu sia già, quindi trova qualcosa che ritieni possa essere interessante, quindi fallo, ponendo tutte le domande che ti servono sulla strada, usando tutte le risorse che puoi, per mettere insieme il progetto nel modo in cui lo voglio. Risciacqua e ripeti, e ti ritroverai un programmatore eccezionale senza nemmeno aver esercitato molto sforzo, poiché è stato interessante / divertente lungo la strada.

Inoltre, trova un buon equilibrio tra capire le cose e fare molte domande. All'inizio, in particolare, è di grande aiuto avere altri che ti dicono dove stai sbagliando, in qualche modo stimolarti nella prima parte della curva di apprendimento. Da lì, prova a capire le cose da solo e se rimani bloccato dopo un po ', fai una domanda al riguardo. Quello che faccio spesso è pubblicare una domanda su SO, quindi andare a cercare la risposta, controllando SO di tanto in tanto nel processo. A volte trovo prima la risposta, a volte mi trova prima.

Non preoccuparti troppo di quale tecnologia, anche se potrebbe essere davvero divertente realizzare grafici con HTML5 + JavaScript + il tag canvas, poiché è abbastanza facile da impostare, i premi sono immediati e puoi condividerli.


Grazie mille. Sono molto interessato alla programmazione (risolvo problemi nella mia testa - e naturalmente in algoritmi, diagrammi di flusso, ecc.) Mi sembra che manchi l'attaccamento a un progetto e continui con esso e chiedendo aiuto quando bloccato in un vicolo cieco. (tutto ciò deve finire ora, però :) Grazie a SE) Inoltre, sono stato molto interessato alle cose HTML5 + JavaScript (caricamento parziale della pagina - Mashable lo implementa in modo fantastico, Risposte caricamento su SE, ecc.). In realtà non conoscono risorse decenti per loro da cui imparare (le scuole W3C sono presumibilmente ciarlatane; lo dice W3Fools!)
Ameen,

3

Avvicinati alla programmazione con un atteggiamento più positivo e apprendente. Nessuno sa tutto. In secondo luogo, scopri perché sei interessato alla programmazione sia che ti piaccia:

  • risoluzione dei problemi
  • imparare cose nuove
  • facendo piegare un computer alla tua volontà
  • qualcos'altro...

Una volta che sai cosa ami della programmazione, puoi concentrare i tuoi sforzi di apprendimento in quella direzione. Sono un armeggiatore / risolutore di problemi. Mi rende estremamente pragmatico. Algoritmi e strutture dati, la teoria dell'informatica in generale mi hanno fatto addormentare.

Il mio background è simile al tuo. Ho iniziato a costruire computer all'età di 10 anni. Ho fatto un po 'di HTML / C ++ nella mia adolescenza ... mi sono annoiato ... ho smesso per alcuni anni. Tuttavia, non ho mai smesso di giocare con il computer.

Ora sto amando la programmazione. Quindi cosa è cambiato? Ho trovato la mia motivazione. Ho iniziato a lavorare dove mi hanno dato una miriade di problemi da risolvere. Trovare soluzioni intelligenti e semplici a problemi complessi fa davvero bruciare il fuoco.

Infine, non preoccuparti di come gli altri codificano o se è "giusto" o no. È giusto se fa quello che vuoi che faccia. Una volta che inizi a lavorare in gruppo, gli standard diventano importanti. Ciò è dovuto al fatto che altre persone dovranno essere in grado di interpretare e modificare il tuo lavoro. Gli standard di progettazione non sono qualcosa di cui un nuovo programmatore dovrebbe preoccuparsi.


3

C'è sempre inerzia da superare quando si imparano cose nuove. I curiosi programmatori che ho conosciuto fanno fatica a trovare la motivazione per continuare ad imparare nuovi linguaggi e paradigmi. Diranno "Ho bisogno di un progetto per provare X". per imparare X. Alcuni troveranno / inventeranno quel progetto.

Tieni presente che una carriera nella programmazione sarà un processo permanente di frustrazione, studio, esperimento e inclinazione contro i mulini a vento. Fino a quando gli IA non assumono il controllo di tutto.

Se stai ancora facendo vera scienza, allora dovresti essere in grado di immaginare un progetto / bisogno di qualche tipo. Ad esempio, combinando dati da più fonti su o fuori da Internet. Questo potrebbe ispirare che stai imparando javascript o R o anche Excel / VBA. Se riesci a collegare alcuni punti per altri nel tuo campo, verrai riconosciuto, e voilà, sarai un programmatore.

Usa ma fai attenzione ai mentori. Autorità interrogativa.

E a proposito, "codifica zen" è un ossimoro.


3

Non ti sentirai mai sicuro delle tue capacità di programmazione.

Il modo in cui descrivi le tue abilità, indica una mentalità in cui non sarai mai soddisfatto delle tue abilità. Hai imparato il C ++? Aspetta c'è Java! Hai imparato Java? Aspetta che ci sia la programmazione parallela. Hai imparato la programmazione parallela in C ++ e Java? Aspetta che ci sia SOA! C'è OOD! E MVC! SOLIDO! Programmazione funzionale! Programmazione Web! Programmazione cloud! Programmazione mobile!

Il punto è non sentirsi depressi per questo. Devi premere alcuni pulsanti nella tua testa: il tuo dubbio sulle tue abilità è puro carburante. Probabilmente non raggiungerai mai un livello soddisfacente di abilità di programmazione. Finché è così, andrai avanti. La parte difficile è realizzarlo e fare qualcosa contro di esso, anche se non ci sarà mai un obiettivo. Più a lungo puoi sopportarlo, più alto sarà il tuo livello di abilità.


Wow, questo è un modo completamente nuovo di vedere questo. Adoro il modo in cui lo metti, ci sarà sempre qualcosa che vorrai fare. Dovrei davvero iniziare a trasformare i miei negativi in ​​positivi. Molte grazie. Apprezzalo!
Ameen

3

Mi sentivo allo stesso modo, e in realtà sono stati i siti di Stack Exchange a darmi fiducia.

Ho iniziato a utilizzare StackOverflow per trovare le risposte alle mie domande e un giorno ne ho visto uno a cui conoscevo la risposta. Ho pubblicato la risposta, ottenuto alcuni voti positivi e un commento dicendo che era una buona risposta, e questo mi ha incoraggiato a cercare altre domande a cui potrei rispondere.

Presto è diventato una dipendenza per me, trovando domande senza risposta che potevo risolvere, e col passare del tempo ho iniziato a guadagnare fiducia nelle mie risposte. Non dovevo più dire "Penso che questo sia perché ..." o "Questo dovrebbe causare ...", ma potrei invece dire con una certa sicurezza che "Questo è perché ..." o "Questo provoca ..."

Mi piacciono i puzzle, e per me così le domande erano come i mini puzzle di programmazione, con l'ulteriore vantaggio di ottenere un feedback positivo se avessi la risposta giusta. Se ho ricevuto una risposta sbagliata, l'ho semplicemente cancellata e ho imparato dalle soluzioni di altre persone allo stesso problema.

Quindi la mia raccomandazione sarebbe di andare su SO e sfogliare le domande in qualunque tag ti interessi, e cercare qualcuno a cui pensi di poter trovare le risposte. Non c'è niente come le persone che ti dicono che le tue risposte alla programmazione sono utili / buone per darti fiducia nelle tue capacità di programmazione :)


Certo, devo farlo. Ma il mio ego interviene e dice "Non sei abbastanza bravo con gli altri per fare cose, diamine non sei nemmeno abbastanza bravo da essere qui". So che sembra sciocco, e come alcune persone qui hanno menzionato, forse ho solo paura di stressare il mio cervello, ma lo farò, sottolineerò quel grumo di grasso fino al suo nulla. Grazie mille per il suggerimento e cercherò di attenermi alla mia nuova abitudine di setacciare SE per domande interessanti ogni giorno da risolvere. Grazie per aver dedicato del tempo e risposto alla mia domanda stupida. Lo apprezzo molto!
Ameen

3

Al tuo cervello non piace lavorare troppo. Data la scelta, preferisce uscire facilmente. Questo è il motivo per cui è facile rinunciare alle cose quando si tenta di affrontare qualcosa di troppo ambizioso - troppo da imparare, troppi dettagli difficili per ottenere il giusto, troppa rasatura dello yak.

Ci sono diverse cose che puoi fare per combattere questo. Prima di tutto è l'energia. Cerca di esercitarti quando sei ben riposato e ben nutrito, o il tuo cervello letteralmente non avrà abbastanza carburante per il pensiero astratto complesso. Il secondo trucco è l'interesse o l'importanza. Se riesci a convincere il tuo cervello che conoscere la maven è vitale per sfuggire alla tigre che ti insegue, imparerai e manterrai più di quando il tuo cervello pensa che sia un compito secondario insignificante sulla strada verso ciò che desideri veramente. Un terzo fattore importante è allungare senza esagerare. Qualche sforzo ti darà quel ronzio dal successo e ti aiuterà a formare nuovi percorsi mentali, senza essere irrealizzabile.

C'è anche qualcosa da dire per la pratica ripetuta. Volete che una variazione sufficiente sia nuova, ma abbastanza somiglianza da poter esercitare le stesse azioni e radicarle.

Un altro punto è che dovresti cercare di rimboccarti le maniche e sporcarti le mani. È facile passare molto tempo a pensare ad approcci alternativi o alla soluzione ideale, nella misura in cui non si inizia mai. Questo è un esempio del tuo cervello che cerca di uscire più facilmente. Cerca di riconoscere quando ti sta succedendo ed evitalo cercando di iniziare. Anche un test o un esperimento è buono. Questo ha anche il vantaggio collaterale di far desiderare al tuo cervello di chiudere il compito o trovare la soluzione migliore.


Wow, hai appena inchiodato il più grande colpevole che abbia mai sospettato. Il mio cervello, ho sempre avuto problemi ad avere i piedi freddi e la maggior parte delle volte finisco per sabotare me stesso. Ci sono sempre delle scuse che mi inventano per evitare di fare ciò che è importante. Devo diventare un hacker e smettere di preoccuparmi di fallire monumentalmente a causa di fallimenti passati. Ho bisogno di hackerare la mia vita in modo da diventare il "Sì uomo" per antonomasia. Grazie per aver sottolineato alcuni dei difetti in me che avevo davvero bisogno di cambiare, e spero di farlo al più presto. Grazie mille, e non posso mai ringraziarti abbastanza per questo! Saluti.
Ameen

2

Tre cose da considerare: (o no, ovviamente.)

  1. Pratica. E se il fallimento non significasse altro che un'indicazione che stai praticando? Se rinunciassi ad imparare a camminare la prima volta che cadi, continueresti a gattonare.
  2. Gioca con qualunque cosa tu stia facendo. Il gioco è semplicemente provare qualcosa e notare cosa succede. Smetti di giudicare i risultati buoni / cattivi, gioca e guarda cosa succede. Rinuncia ad essere attaccato a un risultato particolare, prova semplicemente qualcosa e vedi cosa succede.
  3. E se non fossi l'unico programmatore al mondo che si sia mai sentito così?

2

Ci sono molti buoni commenti sulla pratica qui, fa davvero la differenza.

Dovresti preoccuparti di meno dei "code jocks" e seguire i loro consigli o commenti per quello che sono. Se sono difficili da affrontare in un thread, probabilmente sono difficili da affrontare anche nella vita reale; e davvero, chi ha tempo di preoccuparsi della propria inettitudine sociale?

Il risultato finale è che ci sono migliaia di modi per affrontare le attività di programmazione. Molte cose si riducono alle preferenze personali. Ad esempio, odio leggere il codice con operatori tenari. Altri, li adoro. Penso che abbiano ragione o torto? ... in realtà, nessuno dei due. È una preferenza personale, anche se sull'argomento si terranno molti dibattiti accesi.

Se qualcuno rimprovera il tuo codice perché hai preso 25 righe invece di 20, tenderei semplicemente a ignorarle a meno che non abbiano trovato un vero difetto nella logica. A volte nel mondo reale, dobbiamo solo fare le cose (e chi vuole davvero ascoltare qualcuno che sbuffa su quanto complicato ... err, elegante sono riusciti a fare un pezzo di codice che avrebbe dovuto essere fatto in 10 minuti) . Puoi imparare qualcosa da infiniti dibattiti filosofici su quanto lontano dalle cose astratte? Certo ... ma ci sono ritorni deboli nel farsi succhiare in un'eleganza costante al 100%. Non è sempre realistico tanto quanto vorremmo fingere che lo sia. Alcuni dei miei codici meno eleganti che sarei imbarazzato da condividere con chiunque (che ho scritto all'inizio della mia carriera) hanno salvato persone settimane su settimane,

C'è un ottimo post sul blog di Joel Spolsky chiamato Duct Tape Programmer. È un'ottima lettura e IMO mette in prospettiva alcune delle tue paure.

http://www.joelonsoftware.com/items/2009/09/23.html

Non sto dicendo di scrivere codice di merda e ignorare le migliori pratiche, ma prendere programmatori ranty con un pizzico di sale.


1

Chiediti perché in realtà senti mancanza di fiducia. Penso che sia perché ti importa di ciò che pensano i tuoi colleghi, ed è completamente comprensibile. Ma per essere veramente zen a riguardo, devi cancellare tali pensieri e confrontarti con te stesso solo nel tempo. Lasciati guidare dal tuo interesse, impara e lavora sodo e diventerai un buon programmatore senza tutte le BS psichiche.

Non è davvero la fiducia di cui hai bisogno, è meno rumore nel tuo percorso di progresso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.