Come posso ottenere una revisione dei miei progressi come sviluppatore junior da solo [chiuso]


38

Attualmente sto lavorando per un'azienda di 2 persone, come sviluppatore primario solista. Il mio capo prende i clienti, prende in giro alcuni modelli di progettazione png e me li passa.

Questo sistema ha funzionato bene e mi sto davvero divertendo.

I tipi di progetti a cui lavoro sono per le piccole e medie imprese e di solito vogliono un sistema CMS. Sviluppato da zero, creerò un back-end personalizzato per il cliente per aggiungere / modificare / rimuovere categorie, tag, prodotti, ecc. E poi li output sul front-end secondo il modello di progettazione che mi è stato consegnato. Con il passare del tempo, i progetti sono aumentati in complessità, con le funzionalità carrello / ordinazione acquisti e altre funzionalità di tipo e-commerce comuni.

Ancora una volta, questo sistema ha funzionato bene e mi sto davvero divertendo.

Il mio problema è il mio sviluppo personale come programmatore. Trascorro molto del mio tempo libero leggendo blog di programmazione, controllando stackexchange, leggendo libri di programmazione suggeriti (attualmente su " The Pragmatic Programmer ", davvero buono finora), facendo esercizi di cervello ( lumosity.com e problemi di matematica di khanacademy ), facendo molto di attività fisica e altre attività di sviluppo personale.

Non posso fare a meno di pensare, però, che mi sto perdendo feedback, critiche. Il mio capo è fantastico e non si tollera mai di elogi per quanto riguarda il mio lavoro, ma purtroppo è troppo impegnato a controllare il mio codice, o ad essere sincero, non penso che sia una delle sue specialità e quindi non posso fornire feedback .

Voglio sapere cosa sto facendo di sbagliato e cosa sto facendo di giusto. Dovrei mettere così tanta logica nel controller, sto modulando abbastanza il mio codice ecc.

Quindi quello che ho fatto è stato sviluppare una piccola app "Family Budgeting" e ho cercato di farlo in modo pulito ed efficace come attualmente so come fare.

Quello che voglio sapere è che c'è un posto dove posso inviare questa app e alcuni sviluppatori esperti possono fornire feedback. Non è solo una sottosezione del mio codice come "codereview.stackexchange" sembra richiedere, è il mio intero flusso di lavoro che voglio criticare.

So che questo è molto da chiedere, e mi aspetto che il consiglio principale dato sarà quello di cercare un lavoro all'interno di una squadra, che è certamente qualcosa che esaminerò più avanti, ma per ora voglio persistere con la mia attuale situazione lavorativa, ma non voglio sviluppare troppe cattive abitudini.

Fammi sapere se posso fornire ulteriori informazioni per chiarire, o se questo non è il posto giusto per questo tipo di domanda, mi scuso in anticipo. Non volevo usare reddit poiché pensavo che questa comunità favorisse risposte più ponderate.


3
Come ex sviluppatore junior non molto tempo fa trovo una cattiva idea lasciare che uno sviluppatore junior si scateni in questo modo. Per non parlare di un mock up PNG difficilmente ti dà le informazioni necessarie per scrivere un CMS efficace. Inoltre, perché scrivere costantemente CMS in assenza di configurazioni automatiche è molto più efficace di quanto uno sviluppatore solista possa scrivere in qualsiasi momento ragionevole per un client, inclusi i micro CMS.
Rig

2
Bene, inizialmente aveva il suo CMS interno che era stato costruito a Coldfusion. Ho imparato la lingua attraverso tentativi ed errori e abbiamo completato alcuni progetti utilizzandola. Nel corso del tempo, sebbene lo abbia convinto, sarebbe una buona idea passare a PHP, dato che avevo più esperienza nell'usarlo e c'è una comunità più ampia su cui fare affidamento (non avendo superiori che faccia molto affidamento su Google). Da allora ho gradualmente costruito un CMS modulare riutilizzabile in ciBonfire. Sta andando davvero bene, il sistema di catalogazione è praticamente completo. Il problema è che sto imparando mentre vado, abbiamo clienti da accontentare.
Hoppipolla,

2
@OliverHyde "Il problema è che sto imparando mentre vado, abbiamo clienti per favore." Neanche questo sarà diverso altrove.

Risposte:


21

Sei sulla strada giusta per migliorare le tue abilità ed è comprensibile che non sei sicuro dell'affidabilità e della prontezza aziendale del tuo codice.

Questo è un processo normale da seguire per uno sviluppatore junior e il tuo interesse a migliorare è molto importante, in quanto è la chiave per diventare un giorno uno sviluppatore di rock star.

Come riferimento per apprendere le migliori pratiche, consiglierei di aderire a progetti open source che sono ospitati gratuitamente per programmatori appassionati / curiosi. Ti aiuterebbero davvero a capire come usare le migliori pratiche e come decidere sulla progettazione dell'applicazione. Inoltre, cerca di essere coinvolto nello sviluppo di progetti open source, poiché aumenterà drasticamente il tuo autoapprendimento e il tuo miglioramento.

Consiglierei anche di partecipare agli eventi della comunità locale per gli sviluppatori di software. Alcuni di questi gruppi sono disponibili su communitymegaphone.com . Parla con i programmatori di amici locali, sono per lo più brave persone a cui non dispiacerebbe aiutare un collega.


Hmm, forse esaminerò l'adesione ad alcuni progetti open source, non sono sicuro da dove cominciare: / Devo fare qualche ricerca. Per quanto riguarda gli eventi della comunità, ho partecipato a incontri locali, in Nuova Zelanda sono scarsi rispetto a come sembra che tu abbia negli Stati Uniti ma si verificano e sono molto utili. Grazie per il feedback.
Hoppipolla,

Sicuramente mettiti in contatto con altre persone reali guardando il tuo codice. Non c'è sostituto per quello.
jeffreypriebe,

Sì, sto riordinando la mia app "budget personale" e la sottoporrò a valutazione magari su redit o su altri forum della community.
hoppipolla,

9

Man mano che acquisisci più esperienza, puoi sicuramente tornare indietro e rivedere i tuoi precedenti progetti / codice per vedere dove hai sbagliato. Il senno di poi è una cosa bellissima. So per certo che ho esaminato il codice / la documentazione che ho scritto x fa e ho capito dove avevo sbagliato e dove avrei potuto migliorare.

Il fatto che tu legga blog, libri, SE, ecc. Dovrebbe darti una visione più approfondita della programmazione come parte del tuo sviluppo personale e la prova, l'errore e l'evoluzione dei tuoi progetti e codice dovrebbero certamente essere la prova del fatto che tu ' ri migliorare. L'autocritica può essere un'ottima cosa.

Detto questo, avere l'occhio critico di un altro sviluppatore aggiunge sempre valore e può fornire opinioni / opzioni che potresti non aver pensato. Anche se non conosco nessun sito particolare in cui è possibile scaricare un progetto completo per una revisione del codice, è possibile inserire frammenti di ciò che si ritiene sospetto su codereview.stackexchange per la loro lettura e commento, quindi prendere in considerazione quel feedback e applicarlo altrove ove appropriato.

In alternativa, potresti scrivere alcune cose open source e lanciarle su github (o equivalente). La comunità open source sicuramente criticherà il tuo lavoro e lo migliorerà dove lo riterrà opportuno.

Alla fine della giornata, se i prodotti che stai producendo funzionano come previsto, soddisfano i requisiti aziendali e sono mantenibili: stai facendo qualcosa di giusto.

Per domande di programmazione concettuale, schemi, ecc. Puoi sempre pubblicare queste domande qui su PSE e per problemi di implementazione del codice su SO.


Saluti, penso che forse romperò la mia app di budget e pubblicherò alcuni frammenti su codereview.
Hoppipolla,

3

Condivido la mia opinione, alcune parole di saggezza e alcune domande su cui riflettere.

Essendo un programmatore esperto ho scoperto negli anni che il miglior codice è quello che è semplice (guarda il concetto KISS) e più facile da modificare da un altro programmatore.

Inoltre, lasciando uno spazio adeguato affinché il codice non sia congestionato (spazio di respirazione) e strutturato in modo uniforme. Usa una convenzione di denominazione ben nota per le tue variabili, dando loro nomi comprensibili (che un altro programmatore può capire) e scrivendo commenti che siano pertinenti, non troppo e non troppo poco.

Se segui quanto sopra, sei già su una buona strada.

Inoltre, poiché gli sviluppatori sono qualcosa di simile agli architetti, ti darò un detto molto importante sul quale dovresti riflettere;

  1. "La perfezione si ottiene, non quando non c'è più niente da aggiungere, ma quando non c'è più nulla da togliere" - Antoine de Saint-Exupery.

e

  1. "La ricerca dell'eccellenza ti motiva; la ricerca della perfezione è demoralizzante" - Harriet Beryl Braiker.

Tuttavia,

  1. "Molti eventi, circa l'80% degli effetti proviene dal 20% delle cause" - Principio di Pareto

Con quanto sopra voglio che tu capisca che esiste un buon equilibrio tra sforzo ed effetto, costo e qualità.

E le domande su cui riflettere;

  1. Cosa mi piacerebbe fare tra cinque anni?
  2. Lo sforzo per migliorare le mie capacità di programmazione gioverà alla mia carriera professionale a lungo termine?

1

Potresti voler dare un'occhiata a https://codereview.stackexchange.com/

Sarebbe un ottimo posto per ottenere feedback sul tuo codice o design da professionisti esperti.


Sì, suppongo che il nocciolo della mia domanda fosse, è un'app a tutti gli effetti adatta a postare lì, o c'è un altro posto dove posso farlo. Sembra che codereview sia più mirato come frammenti di codice da esaminare. Fondamentalmente fornire un collegamento al progetto github e lasciarli perdere. Lo sto riordinando oggi e cercherò in giro alcuni forum della comunità per pubblicare il link. :)
hoppipolla,

1
Tutto in una volta potrebbe essere molto per uno sviluppatore da masticare in un momento. meta.codereview.stackexchange.com/questions/537/… dice di provare un pezzo alla volta. Non sarebbe adatto per la visualizzazione di codici, ma una documentazione di progettazione di alto livello o un qualche tipo potrebbe essere utile per un revisore che esamina la tua base di codice per la prima immagine
Jessica Brown,

@OliverHyde Se pubblichi un file sorgente, diciamo uno dei più complessi, otterrai un feedback su quel file che si applica all'intero progetto. Questo sarà un buon modo per ottenere feedback sul linguaggio del programma e sullo stile di programmazione. Se stai cercando feedback sulla progettazione complessiva del programma, potresti (secondo le FAQ) pubblicarli su questo sito.

1

Continua a leggere libri, blog e domande e risposte su Stack Overflow. Se vuoi migliorare te stesso in un modo più sociale, perché non impegnarti a lavorare su un progetto open source? Non intendo creare il tuo progetto , ma lavorare su uno esistente.

Dato che sei l'unico sviluppatore di questa azienda, immagino che un giorno sarebbe possibile assumere un altro. Dì a te stesso che questo giorno, il ragazzo dovrà leggere il tuo codice. Scrivi già della documentazione sul tuo strumento? Ricordare che il tuo lavoro può essere letto da altre persone è una buona cosa per gli sviluppatori solisti e ti aiuta a creare un codice migliore.


1
Sì, è quello che ho iniziato a fare con il mio codice ora. Il mio capo ha suggerito che potrebbe prendere in considerazione l'assunzione di un ulteriore sviluppatore l'anno prossimo .... scommetti in cima alla mia documentazione :)
hoppipolla,

1

Sono in una situazione simile alla tua, sei stato assunto come unico programmatore per un'azienda di 5 persone e solo una di esse è direttamente coinvolta nelle applicazioni che sto sviluppando / aggiungendo. Fortunatamente, non ho dovuto creare nulla da zero, ma finora ho modificato solo le applicazioni create dal mio predecessore. Nel fare ciò, credo di essermi già migliorato riconoscendo quali parti del suo codice erano buone, quali parti erano cattive e come si potevano migliorare.

Leggere il codice è una parte importante del miglioramento della tua codifica, quindi soprattutto ti suggerisco di cercare un progetto open source, leggere il codice, comprenderlo e provare a giudicare ciò che è buono, ciò che è cattivo e ciò che potrebbe essere migliorato. Forse potresti anche scrivere una recensione di codice al riguardo sul tuo blog.

Saluti!


Sì evviva! Sto lavorando qui da un po 'di tempo ormai e mi sono trovato un buon ritmo nell'uso dei siti Web di revisione del codice online e dell'autovalutazione.
Hoppipolla,

-1

Partire. Trova un nuovo datore di lavoro in cui lavorerai in un team più ampio di sviluppatori, inclusi alcuni ragazzi di merda da cui puoi imparare.

Hai chiaramente tutte le giuste motivazioni nel volerlo.


4
Questa non dovrebbe essere la prima opzione. L'OP si sta godendo il suo lavoro e apparentemente ha anche un capo decente, che al giorno d'oggi sembra raro. Prima di saltare, considera che potresti finire con un lavoro che non ti piace, con un cattivo capo e nessuna garanzia che imparerai effettivamente nuove cose.
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.