Essere l'unico sviluppatore e le sue conseguenze [chiuso]

16

Sono l'unico sviluppatore della mia azienda. Faccio programmazione (in ASP.NET 4.0, jQuery e SQL Server 2008) e gestisco il database e il web server (vinci 2008 r2).

Mi piace la libertà di implementare ciò che mi piace allo stesso tempo e sento che potrei fare tutto in modo brutto. Non uso diagrammi SDLC, non metodi come Agile, ecc. Gestisco più piccoli progetti. Uso il mio tempo libero per stare al passo con le ultime tecnologie e apprendere e testare nuove cose. Lo sto facendo da 7 anni.

  1. La mia preoccupazione è quanto sarà difficile per me adattarmi quando cambio il mio lavoro in un'azienda in cui più sviluppatori sono coinvolti in un progetto?
  2. Dato che non seguo alcun modello di progettazione, potrebbe giocare contro di me quando cerco lavoro o mi adeguo con un nuovo lavoro?
  3. Qualche altro pro / contro ti viene in mente?
posta bp581 29.04.2011 - 17:00
fonte

6 risposte

8

Se ti piace questa situazione con le sue libertà è probabile che non ti piacerà andare da nessuna parte che considera questo come un problema (avendo saltato questa barriera che so di fare).

In realtà gioca a tuo favore nei lavori futuri perché ti ritroverai con uno skillet molto più ampio del 90% delle persone là fuori.

La mancanza di qualcuno con cui discutere delle decisioni pro / contro è un problema come descrive Pierre (+1 per lui), ma un collega in un'altra azienda che ha la pazienza di ascoltare quello che stai cercando di fare e abbastanza interesse avere un'opinione strong serve bene questo ruolo, a volte meglio di un collega perché è un punto di vista esterno. (Continuo a farlo anche se ora lavoro in un negozio più grande, mi aiuta a tenere il passo su ciò che gli altri stanno facendo per risolvere problemi simili e vedere i problemi futuri nel design)

L'altro problema che ho avuto quando ero l'unico sviluppatore era che non c'era nessuno che mi sostenesse quando è arrivato il momento di combattere davvero una cattiva direzione dalla direzione. Il tuo chilometraggio può variare, ma se sei lo sviluppatore solitario e tutta la gestione non è tecnica, può diventare molto difficile spiegare perché dovresti o non dovresti fare qualcosa e molto difficile quando arriva il momento di dirglielo L'ultimo sogno non è ragionevole per provare a implementare con la tecnologia attuale.

    
risposta data 29.04.2011 - 17:19
fonte
35

Quando sei da solo, nessuno può dire che hai torto

Quindi potresti perderti per un po ', senza nemmeno saperlo.

Per questo motivo, ti incoraggio a trovare qualcuno con cui parlare dello sviluppo. Non solo online, ma in realtà, fisicamente.

Non c'è bisogno di lasciare la tua azienda. Essere l'unico ha anche alcuni vantaggi.

    
risposta data 29.04.2011 - 17:04
fonte
5

Ho lavorato come unico sviluppatore in un'azienda che conosceva una tecnologia specifica, l'unica che ha fatto il tipo di programmazione che ho fatto e come appaltatore in situazioni simili. (Ho anche lavorato in team con altri sviluppatori che conoscevano diversi strumenti e con altri sviluppatori che hanno fatto esattamente quello che ho fatto.)

I vantaggi di essere l'unico programmatore

  • Come accennato, hai spesso la libertà di utilizzare qualsiasi strumento o lingua che ritieni di poter imparare. Non devi sempre presentare un caso ai tuoi colleghi per ottenere il permesso di lavorare con New Technology X mentre tutti gli altri usano la tecnologia corrente Y.
  • Hai più responsabilità. Essenzialmente, tu funzioni come lead di progetto e sviluppatore su ciascuno dei tuoi progetti, e con la tua capacità di identificare e implementare nuove cose, sei anche tu il capo reparto. (Non dirlo ai venditori: amano parlare con i responsabili delle decisioni e non hai tempo di parlare con loro.)
  • Non c'è dubbio sul credito per il lavoro che viene svolto: ovviamente tu e tu solo tu hai fatto accadere le cose.
  • Puoi dedicare più tempo a lavorare sui tuoi progetti e meno tempo a riunioni su progetti che sono fondamentalmente di qualcun altro (ma sei lì come persona di supporto, possibile backup o altro).

Contro

  • Come sottolinea David in un commento, sei l'unico sviluppatore, quindi nessuno sviluppo viene fatto senza di te. Una volta mi sono vantato con mio fratello di essere "il ragazzo" di un particolare progetto al lavoro. Ha accuratamente descritto la mia situazione per me: ero intrappolato. Non potevo andare avanti in quella compagnia perché non sarei mai riuscito a sbarazzarmi di quel progetto. (Aveva ragione anche lui. Ci sono voluti diversi mesi di allenamento per un lungo periodo di tempo prima che potessi consegnarlo a qualcuno che era persino in qualche modo capace di supportarlo.) Potresti avere difficoltà a fare una vera vacanza quando nulla può essere fatto senza di te.
  • Come sottolinea Pierre, non c'è nessuno sul sito per fare revisioni del codice o condividere le migliori pratiche con te. Puoi raggiungere i tuoi coetanei in vari modi, ma nulla è altrettanto efficace di toccare un collega sulla spalla e chiedergli di guardare il tuo codice per 5-10 minuti.
  • Analogamente, potresti avere difficoltà ad acquisire esperienza con nuovi strumenti. La formazione fuori sede può essere rara quanto il tempo di vacanza: qualcuno si lamenterà che la compagnia non può permettersi di guardare fuori da Language 3.0 per una settimana in cui non c'è nessuno che possa far funzionare le app di Language 2.0.
  • L'avanzamento di carriera può essere estremamente difficile da gestire. Potresti non avere una posizione per cui puoi lottare, anche un cambio di titolo può essere difficile da ottenere, e le revisioni di fine anno non hanno alcun quadro di riferimento, quindi un lavoro eccellente potrebbe passare inosservato se non altro La ragione è che nessuno capisce veramente quello che fai.

Se decidi di trasferirti in un'azienda in cui lavoreresti come parte di un team di programmatori, non penso che la tua esperienza da solista possa farti molto male. La tua mancanza di esperienza con i modelli di progettazione non è necessariamente tanto importante quanto la tua volontà di apprenderli. (Potrebbero esserci situazioni in cui stai intervistando un candidato con un background simile e anche esperienza in tutti i metodi che l'azienda utilizza, ma questo è vero per tutti.)

Sulla stessa linea, la tua mancanza di esperienza in una squadra è bilanciata dalla tua capacità di indossare molti cappelli. Ci sono alcuni sviluppatori che sono buoni giocatori di squadra ma non sviluppano mai la capacità di gestire un progetto; hai già dimostrato che puoi farlo.

Consiglierei che quando sei uno sviluppatore solista, dovresti passare un po 'di tempo a leggere su strumenti e tecniche che gli sviluppatori simili stanno usando, quindi anche se non li usi da solo, sei consapevole che esistono e tu posso riferirmi a loro durante un'intervista, anche se solo per dire "Sì, ho letto un po 'di quadri MVC, ma non li ho mai usati io stesso". Fai tutto il possibile per rimanere in contatto con altri sviluppatori: partecipa alle riunioni del gruppo di utenti locali, leggi e commenta i blog (o ne mantieni uno dei tuoi), cerca di arrivare ai workshop di volta in volta, guarda webinar e simili. (Potresti anche considerare siti come lynda.com per la formazione interna: non è buono come una conferenza di una settimana da qualche altra parte, ma puoi guardare i video nel tuo tempo libero e non mandare tutti in modalità panico perché sei fuori dall'ufficio.)

    
risposta data 30.04.2011 - 07:13
fonte
2

Le tue capacità di programmazione si deteriorano ogni giorno in cui ti trovi in questo tipo di situazione. La codifica è la parte più semplice del lavoro di ogni programmatore.

Comunicare / lavorare con un team per implementare una soluzione è infinitamente più difficile. Queste abilità possono essere acuite solo facendolo. Inoltre, quando fai parte di una squadra, la maggior parte dei membri cerca di tenere il passo con le tecnologie proprio come te, quindi le probabilità che la squadra trovi qualcosa di grande sono molto più grandi.

Per favore non prenderlo come un attacco personale. Sono anche un programmatore solitario, ma cerco un team al più presto.

    
risposta data 29.04.2011 - 20:23
fonte
0

Sono d'accordo con @Pierre 303 rispondi al 100%. Vorrei anche aggiungere che dovresti prenderti cura di te stesso per insegnare a te stesso le pratiche corrette. Forse anche una certificazione sarebbe d'aiuto.

Sì, se cambi lavoro sarà difficile ... Non solo se hanno processi ai quali non sei abituato, ma anche con personalità. I programmatori sono notoriamente competitivi. Non devi occupartene adesso. Ma lo farai quando programmatori > = 1

Sembra che tu abbia un buon concerto ... lo terrei.

Solo i miei 2 centesimi.

    
risposta data 29.04.2011 - 17:33
fonte
0

Penso che manchi il fatto che la maggior parte degli standard / pratiche che troverai in una grande casa di sviluppo possono essere applicati facilmente alla tua situazione. Effettuare queste modifiche a un team di una sola persona è stato trattato in precedenza su SO. Cerca un po 'di orientamento:

Come applicare agile ai progetti personali?

    
risposta data 29.04.2011 - 17:39
fonte

Leggi altre domande sui tag