Tecniche per aumentare la logica nella programmazione [chiusa]

20

Sono in programmazione da 3 anni. Ma mi sembra che ci sia perso. Non riesco a farcela bene anche se codice tutti i giorni.

Supponiamo che risolvo un problema, vado da una soluzione all'altra e implemento qualche altra soluzione. Non posso concentrarmi molto. Ricevo molti difetti per il codice che scrivo. Ho paura del codice Non so perché se non lo finisco in tempo il mio capo mi licenzierà ecc. Mi piace programmare ma non sempre. Come aumentare la pazienza?

Mi chiedo sempre come faccio a diventare il miglior programmatore come molti programmatori eccezionali. So che questo suona soggettivo, ma penso che questo aiuterà la comunità di programmatori a diventare bravo soprattutto per i programmatori medi come me o per i principianti.

    
posta u449355 21.07.2011 - 21:33
fonte

8 risposte

11

Personalmente suggerirei di iniziare con ostacoli più piccoli; prova a prendere il codice in piccoli pezzi e ottenere di più nelle vittorie intermedie. Sembra che tu sia sopraffatto o annoiato se qualcosa dura troppo a lungo o non mostra progressi. Posso dire definitivamente che sono stato nella stessa barca.

Pensa ad affrontare un panino: non mangi tutto in un solo boccone, lo abbatti. Fai la stessa cosa con i tuoi progetti, attività, ecc. A seconda del livello in cui ti trovi, potresti chiedere al tuo supervisore / manager di suddividerlo per te. Se sei responsabile del tuo carico di lavoro, imposta delle piccole linee di traguardo per te stesso che siano riuscite (non fissi un obiettivo che non raggiungerai mai, questo ti rende solo più scoraggiato e ti mette in una posizione indesiderabile). cioè "A mezzogiorno voglio avere questa classe definita", "Con 2 voglio che questa interfaccia sia implementata", ecc.

La mia azienda è famosa per aver iniziato e avviato un progetto, permettendomi di raggiungere il 90%, quindi di far scivolare il tappeto da sotto per passare alla "prossima grande cosa". Comincio a scoraggiarmi dal fatto che non ho mai fatto nulla, e mi mette in un "funk" (se vuoi). Alla fine ho spinto indietro e ho detto loro che non mi sarei mosso fino a quando non ho finito quello che avevo quasi completato. Questo ha fatto meraviglie per la mia stima, morale ed energia (anche se non posso dire lo stesso dei miei datori di lavoro: scrollata di spalle:)

    
risposta data 21.07.2011 - 21:40
fonte
7

Il mio suggerimento sarebbe di ottenere un mentore.

Quando ottieni un nuovo progetto, decidi il percorso che intendi intraprendere: come si presenta il design generale; che algoritmi hai intenzione di usare; come pensate di svilupparlo in modo da poter testare presto e spesso; e così via.

Porta questi piani al tuo mentore e parla con lui / lei. Se vedono di essere sulla strada sbagliata o se ti è sfuggito qualcosa di importante, rivedi i tuoi piani e riprova.

Ora che hai un piano approvato, attenersi ad esso. Non cambiare i tuoi piani a meno che non si verifichi qualcosa di completamente disastroso, e poi tornare a rivedere i tuoi piani, ottenere l'approvazione e il riavvio. Altrimenti, attenersi al piano e fare esattamente ciò che si è deciso di fare. Effettua il check-in con il tuo mentore a intervalli regolari per convalidare la tua implementazione e assicurati di scrivere e utilizzare i test lungo la strada.

Se hai eseguito correttamente tutto quanto sopra, avrai consegnato un progetto in tempo e con risultati corretti. Se vuoi tornare indietro e rifattorizzare parte del progetto, hai tutti i test che hai costruito e una copia funzionante del programma da cui partire.

Mi sembra che tu sia solo un po 'troppo sparpagliato e privo di concentrazione. Forse se riesci a sistemare quelle aree e a lavorare con qualcuno che rispetti, ti metterai in pista abbastanza presto.

Buona fortuna.

    
risposta data 21.07.2011 - 21:48
fonte
5

Se dopo 3 anni di programmazione quotidiana, stai lottando con le basi, devi considerare seriamente la possibilità che questa non sia la professione giusta per te.

Questa non è una brutta cosa. La programmazione non è per tutti, trova ciò che sei bravo e fallo, piuttosto che forzare qualcosa su te stesso che non è naturale.

Se quello che stai dicendo è vero .. Never non sarai un "programmatore eccezionale". Va bene, basta accettarlo.

    
risposta data 21.07.2011 - 21:39
fonte
4

Credo di essere nella stessa identica posizione di te e non è bello essere lì. Può essere demoralizzante e onestamente piuttosto deprimente, a volte. Tuttavia, come con qualsiasi cosa, credo che ci siano alcune cose che puoi fare per contribuire ad alleviare questo e quindi progredire verso una carriera lavorativa più sana e più felice.

  1. Devi cambiare e migliorare. Se ti senti così, ma non sei preparato a entrare nei cantieri duri per migliorare le tue abilità, allora non c'è nessuno che nessuno strumento / processo possa fare per te.

  2. Alcune persone sono naturalmente brillanti. Alcune persone lavorano duramente per essere brillanti. La maggior parte delle persone lavora sodo per sforzarsi di essere brillante. Se non hai talento naturale (programmazione o altro), allora il duro lavoro può portarti lì. Solo il livello del duro lavoro può variare. Niente è impossibile.

  3. Accetta le tue deficienze e cerca di migliorare. Uno dei maggiori ostacoli che vedo sono persone che hanno paura di accettare che la loro strada non è un buon modo e quindi non chiedere mai consigli o discutere altri modi di fare le cose. Quindi non imparano mai le migliori pratiche e quindi continuano a ripetere gli stessi errori più e più volte.

  4. Chiedi consiglio a coloro che consideri buoni programmatori. Non aver mai paura di parlare e chiedere consiglio ai colleghi. Tuttavia, prendi sempre il loro consiglio al valore nominale e decidi se sei d'accordo o no. Non importa quanto sia geniale qualcuno ci sono sempre molti modi per programmare un ciclo.

  5. Leggi, leggi, leggi. Leggi i gruppi di notizie. Pubblica domande su siti come questo (ben fatto). Compra libri che hai ascoltato sono buoni, o chiedi in caso contrario di consigli.

  6. La semplicità applica i principi di progettazione a piccoli passi e quindi sii orgoglioso di ciò che hai fatto. Se sei orgoglioso di ciò che scrivi, è meno probabile che ci sia spazio per errori e bug.

  7. Apri per suggerimenti e aiuto. Chiuso a un pensiero dimensionale. Sii aperto a molte possibilità e metodi. Fai attenzione a quelli che pensano che ci sia un modo per tutto. Un po 'come 4.

  8. Essere un brillante programmatore non è la stessa cosa di un brillante impiegato. Se essere un brillante programmatore è tutto ciò che vuoi, allora ad essere sincero non potresti mai arrivarci. Tuttavia, ognuno ha le capacità che ritengo essere un brillante dipendente e persona. Lavora su cose che possono aiutarti ad arrivare.

risposta data 21.07.2011 - 22:10
fonte
3

Cerca di entrare in uno stato mentale Flow . Questo è il singolo fattore più importante che ho visto essere un buon sviluppatore. Per fare questo, devi affrontare sfide che sai di poter fare, ma sono difficili. Devi trovare il giusto livello di sfida per metterti dentro; quindi puoi aumentarlo gradualmente man mano che migliora. Avere compiti troppo facili o troppo difficili sarà dannoso.

    
risposta data 21.07.2011 - 21:46
fonte
3

Spezzalo in piccoli pezzi.
Fammi dimostrare usando un sandwich PB & J.

Scopri la procedura di base generale.

1 - Get Ingredients
2 - Combine Ingredients
3 - Cut Sandwich
4 - Serve Sandwich

Quindi interrompi ciascuno di questi

**Get Ingredients**
1 - Validate/Create PB
1.1 - Validate/Create Jelly
1.2 - Validate/Create Bread
2 - Move PB To assembly area
...

ripeti il processo di interruzione fino a comprendere appieno la logica in questione.

Questo renderà più facile la comprensione. E più facile identificare i processi comuni. Prima di iniziare la codifica, assicurati di aver già capito la logica. Fare errori non è solo ok, è previsto. Trovarli prima di implementarli è molto più facile da correggere.

Spesso la logica è la parte più difficile della programmazione. È perché non tutti vogliono farlo. Se non ti piace la logica, ma adori l'UI Design, ci sono ruoli specializzati in questo, dove potresti trovare più divertimento. Non c'è niente di sbagliato in questo. Personalmente preferisco la logica all'interfaccia utente. Ci sono altri ruoli anche se la logica non è dove vuoi essere capire dove vuoi essere.

    
risposta data 21.07.2011 - 22:31
fonte
2

Ho avuto questo tipo di problema prima. È successo proprio prima che bruciassi e non potessi programmare a livello produttivo per quasi un anno dopo (e avevo solo 19 anni all'epoca).

Ad ogni modo, ripensandoci, il problema che ho avuto è stata la mancanza di direzione e gestione. Lavorerei sull'implementazione di qualcosa per un mese o due e poi quando fu quasi terminato, improvvisamente è necessario farlo in un modo completamente diverso. Questo è stato un duro colpo per la mia autostima perché sono abbastanza orgoglioso di ogni riga di codice che scrivo. Anche la gestione consisteva principalmente in un paio d'ore di discussione su come dovrebbe funzionare qualcosa e poi un paio di giorni di discussione. Ovviamente anche questo è stato colpa mia. Ciò è stato anche aggravato dal fatto che ad un certo punto il lavoro è diventato estremamente noioso e mi sono sentito come se stessi scrivendo semplicemente il codice e non essendo affatto creativo.

Linee guida generali:

  1. Se ritieni che ci sia una mancanza di direzione, tiralo su. Chiedi al tuo superiore di avere più strutture in cui le cose stanno andando
  2. Se devi cancellare il codice tutto il tempo (e non in modo positivo come il refactoring), seriamente ti chiedi perché non c'è un piano più completo costruito prima di implementare
  3. Se sei in una start-up piccolissima e lavori come uno sviluppatore "principale", quando non hai esperienza per questo, ingoia il tuo orgoglio e dì al tuo manager che sei davvero uno sviluppatore junior.
  4. Di solito, il tedio è causato dall'assenza di lavoro da svolgere. Porta le tue attività in piccoli morsi e tieni traccia dei tuoi progressi. Questo ti aiuterà a sentire che stai facendo qualcosa
  5. Se tutto il resto fallisce, potresti voler iniziare ad applicare altrove, specialmente se il tuo manager non sembra preoccuparsi che tu possa essere diretto verso un esaurimento
risposta data 01.10.2012 - 23:01
fonte
-1

Trova un gioco di logica induttivo come Zendo e gioca nel tuo tempo libero. Sul serio. La logica induttiva è il cuore del debugging.

    
risposta data 21.07.2011 - 22:02
fonte

Leggi altre domande sui tag