Domanda:
Mi vergogno del mio vecchio codice
jackwoods
2019-12-06 09:44:55 UTC
view on stackexchange narkive permalink

L'anno scorso sono entrato in una società di software come sviluppatore Junior e ho iniziato a lavorare con nuovi linguaggi e tecnologie.

Ho fatto del mio meglio, studiato e realizzato molte funzionalità. Per questo motivo ho guadagnato visibilità e sono stato promosso.

Oggi studio ancora di più e cerco di fare le cose veramente organizzate (il più possibile) e seguendo buone pratiche.

Ma quando guardo il mio vecchio codice mi vergogno molto, perché ci sono molte cose che sono incasinate e avrebbero potuto essere fatte molto meglio. Ho sempre paura che qualcuno (questo è già successo) veda il mio vecchio codice e mi giudichi, pensando che non sono bravo. Cerco di eseguire il refactoring di tutto il codice che posso, ma non ho abbastanza tempo, ci sono grandi funzionalità che richiederebbero molto tempo per essere refactoring.

Non so cosa fare, Mi sento triste, a volte mi sento così triste che voglio lasciare il mio lavoro, ma non posso. Come posso superarlo? La gente mi giudicherà mai a causa del vecchio codice?

Con "(questo è già accaduto)", stai dicendo che qualcuno in effetti _did_ "vedere [il tuo] vecchio codice e giudicare [te], pensando che [tu] non sei bravo"?Voglio assicurarmi che stiamo affrontando la questione in modo adeguato.
Benvenuto nel club!Mostra solo che sei in grado di migliorare.
È una cosa normale per ogni sviluppatore, devi solo lasciarlo andare ed essere contento di stare migliorando.Le persone giudicheranno sempre il tuo codice, nel bene e nel male.Viene fornito con il lavoro, temo.
Sì, anch'io mi vergogno del tuo vecchio codice.E allora.Il tuo ultimo codice è bellissimo.
Nove risposte:
Goose
2019-12-06 09:52:22 UTC
view on stackexchange narkive permalink

Ti vergogni perché stai crescendo come ingegnere del software?

Più impari, peggiore sarà il tuo vecchio codice ... viene semplicemente fornito con il territorio. Continua a guardare avanti, quel codice "orribile" a cui ti riferisci ti ha aiutato ad arrivare dove sei oggi. Hai imparato e non c'è niente di cui vergognarsi.

Preoccuparsi di coloro che ti giudicano raramente è un evento produttivo.

Non è solo dovuto alla crescita personale.Anche le pratiche di ingegneria del software si stanno sviluppando con il tempo.
Questo.Mi vergogno del codice che ho scritto 1 mese fa.In questo ramo apprendi ed evolvi costantemente come persona e nelle tue capacità.Prova a vedere quei vecchi frammenti come momenti di apprendimento
@Taacoo Tengo anche una selezione di vecchi frammenti in un documento che chiamo "hall of shame".Abbastanza divertente da guardare a volte.Ma contiene anche insidie di SDK che non puoi ragionevolmente conoscere come principiante.Cose come quando le classi o le funzioni SDK non fanno quello che penseresti che facciano.
Al lavoro abbiamo concordato una cosa: quello che è stato fatto, è stato fatto.Potrebbero esserci state buone (e talvolta meno buone) ragioni per cui qualcosa è stato fatto nel modo in cui è ora.Possono essere motivi personali, strutturali, tecnici, tecnologici, organizzativi o educativi.Non importa.Ciò che conta è come affrontarlo.Se puoi migliorarlo, in modo che si traduca in un vantaggio per il tuo team e per l'azienda, fallo.Ma non cambiate le cose solo perché "oggi le facciamo diversamente" se non serve.Se qualcuno doveva incolpare per il codice principiante, è la persona che ha assunto un junior.
Inoltre, qualsiasi ingegnere del software che ha attraversato lo stesso processo di crescita (quasi tutti) dovrebbe avere la consapevolezza di non giudicare.Un segno di uno sviluppatore maturo non sta giudicando gli altri a causa del codice legacy.Come sviluppatore impari rapidamente che raramente lo sviluppatore ha tutta l'esperienza, il tempo o le risorse per scrivere codice perfetto.
Gonçalo Peres 龚燿禄
2019-12-06 14:58:16 UTC
view on stackexchange narkive permalink

Prima di tutto, quello che stai attraversando sembra essere una sorta di sindrome dell'impostore, quindi grazie mille per esserti fatto avanti.

In qualità di sviluppatore junior stai seguendo i requisiti e assicurandoti che siano soddisfatti (e forse sollevi alcune preoccupazioni sul modo in cui le cose dovrebbero essere implementate?). Con ciò, non devi provare vergogna / tristezza mentre sviluppi ciò che era necessario / richiesto. Inoltre, se sei uno sviluppatore junior, presumo che qualcuno senior abbia approvato il tuo codice prima di entrare in produzione.

Alcune cose da tenere a mente, poiché accadono abbastanza spesso (frutto del processo di apprendimento, processi che migliorare nel tempo, ...):

• Guarda indietro ai problemi che erano difficili e trovali davvero facili.

• Guarda indietro al codice scritto e trovalo brutto e / o che non si adatta alle buone pratiche.

Per quanto riguarda la necessità di rendere tutto perfetto (è impossibile poiché il tempo è limitato e ci sono problemi che spuntano costantemente e non si può dedicare troppo tempo piccole differenze ai margini a scapito di cose importanti), considera solo quanto segue:

Questo codice solleva problemi di sicurezza? Se sì, annotali e consegnali al tuo supervisore come vuole, o parla con qualcuno che stabilirà le priorità e forse darà a te / qualcun altro (non dimenticare che sei una squadra) un po 'di tempo per sistemarlo codice.

Chris
2019-12-06 11:14:18 UTC
view on stackexchange narkive permalink

Guardiamo tutti il ​​nostro vecchio codice e rabbrividiamo un po '. Questo è del tutto normale, ma ciò che molti di noi non sperimentano è il desiderio di smetterla. Non rinunciare a qualcosa di normale, concentrati invece sul fatto che questo codice che trovi indesiderabile, è stato visto dall'azienda abbastanza buono da meritare una promozione.

Impara a ridere del tuo stesso codice, di quanto fosse un noob e senti il ​​successo in quanto sei cresciuto. Se riesci a farlo, chiunque indichi negativamente il tuo codice passato può essere accolto con una risatina e un "sì, quello era noob, a cosa stavo pensando?"

JPI
2019-12-06 11:25:40 UTC
view on stackexchange narkive permalink

@jackwoods - non c'è nulla di cui vergognarsi . In effetti, ti sei reso conto che i probabili problemi del tuo codice sono molto apprezzabili poiché molti programmatori non sono ancora in grado di realizzare l'auto-realizzazione. Ti sbrigherai per modifiche correttive se questo codice scadente sta causando bug o diventerà una responsabilità in futuro.

Puoi provare a fare un elenco di possibili problemi che hai identificato da questo codice scadente e suggerire / discutere con il tuo progetto responsabile per l'ambito di miglioramenti futuri. Dovrai costruire una strategia per tali scenari per le migliori pratiche / approccio di codifica per tutti i tuoi sviluppi futuri.

Potrebbero esserci pochissime opportunità in cui un'organizzazione / un project manager ti consentirebbe un refactoring / miglioramenti così importanti poiché non c'è nessun cliente a pagare per questo.

Puoi anche usare questo vecchio povero codice vs nuovo codice migliore come strumento di apprendimento per insegnare / guidare i membri del tuo team in modo che anche loro non introducano errori. E probabilmente potrebbe consentire la tua prossima promozione a team leader dal programmatore senior.

Ricorda questi fatti della vita di un programmatore

  1. Il cambiamento è inevitabile
  2. La vita Apprendimento lungo ...
Old_Lamplighter
2019-12-06 19:51:58 UTC
view on stackexchange narkive permalink

Questo è molto molto MOLTO comune e non c'è nulla di cui vergognarsi. Mi rabbrividisco quando vedo parte del mio vecchio codice e sto programmando da più di quattro decenni.

Un mio amico, professore, ha notato che in IT non si incontra mai Classe "201". Non ci insegnano mai nulla in profondità, ci vengono fornite più o meno le basi e gettate nel profondo, ed è affondare o nuotare. Impari mentre stai facendo, e non c'è vergogna in questo fintanto che impari dai tuoi errori e fai programmi migliori mentre continui.

Letteralmente ogni ultimo programmatore si è sentito come ti senti in questo momento. Chiunque dica il contrario sta mentendo. Vieni colpito da scadenze ravvicinate. Ti viene detto di fare cose che non hai mai provato prima. Lo svolgi per la maggior parte del tempo.

Ciò che conta di più è che funzioni. Un kluge funzionale consegnato in tempo vale più di un codice elegante consegnato in ritardo.

Anche se ovviamente, un codice elegante consegnato in tempo è la situazione ideale, spesso è al di là delle nostre capacità di farlo. E va bene così.

Jacqueline
2019-12-06 10:07:07 UTC
view on stackexchange narkive permalink

Perché sei triste per il tuo vecchio codice?

In effetti, per ogni vecchio codice che è stato scritto, sarà visto come uno scherzo, soprattutto se hai imparato molte cose. Come ho fatto io.

Ma da qui devi prendere il lato positivo, hai imparato molte cose e da lì non dovresti ripetere cose che pensi siano cattive.

Non pensare a cose che ti rendono triste, continua e starai bene.

Per me personalmente, non ti giudicherò a causa del tuo vecchio codice. Il passato è il passato, l'attuale tu sei quello che sei ora che sei disposto a imparare molte cose e migliorare per essere un buon programmatore.

Matthew Gaiser
2019-12-06 10:34:43 UTC
view on stackexchange narkive permalink

Non so cosa fare, mi sento triste, a volte mi sento così triste che voglio lasciare il mio lavoro, ma non posso. Come posso superarlo? Le persone mi giudicheranno mai per il vecchio codice?

Qui hai alcune scelte:

  1. Trova un nuovo lavoro e inizia con una tabula rasa altrove. Per quanto drastico possa sembrare, se questo ostacola in modo sostanziale la tua produttività, carriera (specialmente se passi del tempo a refactoring di un codice che non interessa a nessun altro) e la felicità sarebbe trovare un nuovo lavoro un modo per lasciarsi alle spalle il problema. Non passeresti giorno dopo giorno con persone che sapevano dei tuoi precedenti fallimenti. Hai anche 1-2 anni nel tuo primo lavoro tecnico, quindi potresti essere in linea per un bel aumento. Puoi scrivere un buon codice nel tuo nuovo lavoro, anche se avrai questo problema 2-3 anni dopo.

  2. Cambia la tua mentalità per non preoccuparti più delle opinioni degli altri . Prendersi cura così personalmente di ciò che è solo un business non è produttivo. Ti vergogni di qualcosa in cui qualcuno ha visto un valore sufficiente per darti una promozione. La persona che conta in azienda era evidentemente soddisfatta, quindi perché l'opinione di alcune persone a caso che non sono influenti per la tua carriera è importante? Concentrati maggiormente sui risultati e meno sul modo disordinato in cui sono stati ottenuti. Qualsiasi cosa fatta in cui è coinvolto l'apprendimento avrà dei difetti.

  3. Rifattorizza tutto il tuo vecchio codice Ciò consumerà il tuo tempo e potenzialmente bloccherà la tua carriera poiché il refactoring potrebbe non avere alcun valore commerciale. Questo non è consigliato.

Suggerisco almeno 2 con la possibile aggiunta di 1 se hai difficoltà a staccarti.

Solar Mike
2019-12-06 20:28:10 UTC
view on stackexchange narkive permalink

2 domande che dovresti porre quando guardi indietro:

1) ha funzionato?

2) era stabile?

Se sì è la risposta allora ok, da allora sei progredito con il codice, ecc. Quindi, sebbene possa essere migliorato, potrebbe non averne bisogno.

Tuttavia, se migliorarlo è un buon esercizio per un giovane o un principiante di per sé una buona ragione per non preoccuparsene.

gnasher729
2019-12-07 18:20:29 UTC
view on stackexchange narkive permalink

Non vergognarti del tuo vecchio codice. Sii orgoglioso di essere migliorato così tanto in un anno che guardi indietro al tuo vecchio codice e te ne vergogni.

(Chiediti anche: avresti potuto scrivere un codice migliore un anno fa? Il codice sembra brutto perché sei venuto a lavorare ubriaco o perché eri su Internet tutto il tempo e non passavi il tempo sul codice, o sembra brutto perché non sapevi le cose che sai oggi? In quest'ultimo caso, non c'è motivo di vergognarsi).



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...