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


16

Sono l'unico sviluppatore nella mia azienda. Faccio la programmazione (in ASP.NET 4.0, jQuery e SQL Server 2008) e mantengo il database e il web server (win 2008 r2).

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

  1. La mia preoccupazione è quanto sarà difficile adattarmi quando cambio il mio lavoro in un'azienda in cui un numero maggiore di sviluppatori è coinvolto in un progetto?
  2. Dal momento che non seguo alcun modello di progettazione, giocherebbe contro di me quando cerco un lavoro o mi adeguo a un nuovo lavoro?
  3. Qualche altro pro / contro che ti viene in mente?

Risposte:


8

Se ti piace questa situazione con le sue libertà, è probabile che non ti piacerà andare ovunque che lo consideri un problema (dopo aver saltato questo recinto, so di sì).

In realtà gioca a tuo favore nei lavori futuri perché finisci con un set di competenze 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 per avere un un'opinione forte serve bene a questo ruolo, a volte meglio di un collega perché sono un punto di vista esterno. (Lo faccio ancora anche se lavoro in un negozio più grande ora, mi aiuta a tenere il passo con quello che fanno gli altri per risolvere problemi simili e vedere problemi futuri nella progettazione)

L'altro problema che ho avuto quando ero lo sviluppatore solitario era che non c'era nessuno a supportarmi quando è arrivato il momento di combattere davvero una cattiva direzione dalla direzione. Il tuo chilometraggio può variare, ma se sei l'unico sviluppatore 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 dire loro l'ultimo sogno non è ragionevole provare a realizzare con la tecnologia attuale.


5
L'altro problema con l'essere l'unico tecnico è quando hai la febbre alta e una forte nausea e il web server non funziona. Si spera che abbiano un piano di riserva diverso da quello di portare un laptop in ospedale se vieni investito da un autobus.
David Thornley,

1
Questo è un problema, ma spesso è un problema anche per le aziende di dimensioni considerevoli, una volta che hanno distribuito le loro risorse troppo sottili.
Bill

35

Quando sei solo, nessuno può dire che hai torto

Quindi potresti seguire la strada sbagliata, 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 è necessario uscire dalla tua azienda. Essere l'unico ha anche alcuni vantaggi.


3
Questo è un consiglio fantastico ...
webdad3,

4
La parola chiave è "maggio". Se uno sviluppatore fa uno sforzo coscienzioso per rimanere istruito sulle varie tecnologie e metodologie e, cosa più importante, sui dati che li circondano, allora non c'è motivo di credere che farebbe un lavoro scadente. Ovviamente, gli sviluppatori che lavorano nel vuoto e si limitano a ciò che sanno probabilmente stanno diventando progressivamente più obsoleti.
Aaronaught,

D'accordo con Pierre qui, due sviluppatori possono produrre [codice o db o qualsiasi altra cosa] molto meglio di quanto entrambi potrebbero singolarmente]. I vantaggi aumentano con un numero maggiore di sviluppatori, ma c'è un rendimento decrescente.
jamesbtate,

5

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

Pro 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 ricorso ai tuoi colleghi per ottenere l'autorizzazione a lavorare con la nuova tecnologia X mentre tutti gli altri utilizzano l'attuale tecnologia Y.
  • Hai più responsabilità. Fondamentalmente, tu fungi sia da capo progetto che da sviluppatore per ciascuno dei tuoi progetti, e con la tua capacità di identificare e implementare nuove cose, sei effettivamente anche il capo dipartimento. (Non dirlo ai venditori. Amano parlare con i decisori e non hai tempo di parlare con loro.)
  • Non ci sono dubbi sul merito del lavoro svolto: ovviamente tu e te soli che avete fatto accadere le cose.
  • Puoi dedicare più tempo a lavorare effettivamente sui tuoi progetti e meno tempo alle riunioni sui 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 può essere fatto senza di te. Una volta mi sono vantato con mio fratello che ero "il ragazzo" in un particolare progetto al lavoro. Descrisse accuratamente la mia situazione per me: ero intrappolato. Non potevo andare avanti in quella compagnia perché non sarei mai stato in grado di liberarmi di quel progetto. (Anche lui aveva ragione. Ci sono voluti diversi mesi di allenamento per un lungo periodo di tempo prima che potessi consegnarlo a qualcuno che fosse anche in qualche modo in grado di sostenerlo.) Potresti trovare difficile fare una vera vacanza quando nulla può essere fatto senza di te.
  • Come sottolinea Pierre, non c'è nessuno sul posto per fare recensioni di codice o condividere le migliori pratiche con te. Puoi raggiungere i colleghi in vari modi, ma nulla è abbastanza efficace come toccare un collega sulla spalla e chiederle di guardare il tuo codice per 5-10 minuti.
  • Allo stesso modo, potresti avere difficoltà a fare esperienza con i nuovi strumenti. La formazione fuori sede può essere rara come il tempo di vacanza: qualcuno si lamenterà che la società non può permettersi di farti guardare Lingua 3.0 per una settimana quando non c'è nessuno che faccia funzionare le app di Lingua 2.0.
  • L'avanzamento di carriera può essere estremamente difficile da gestire. Potresti non avere una posizione per la quale puoi lottare, anche un cambiamento nel titolo potrebbe essere difficile da ottenere e le recensioni di fine anno non hanno alcun quadro di riferimento, quindi un lavoro eccellente potrebbe passare in gran parte inosservato se non altro motivo di questo nessuno capisce davvero cosa fai.

Se decidi di trasferirti in una società in cui lavoreresti come parte di un team di programmatori, non penso che la tua esperienza da solista rischia di farti molto male. La tua mancanza di esperienza con i modelli di design non è necessariamente importante quanto la tua volontà di impararli. (Ci possono essere situazioni in cui stai intervistando un candidato con un background simile e anche esperienza in qualsiasi metodo utilizzato dall'azienda, ma questo è vero praticamente per tutti.)

Allo stesso modo, 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 dedicare un po 'di tempo a leggere su strumenti e tecniche che sviluppatori simili stanno usando, quindi anche se non li usi tu stesso, sei consapevole che esistono e puoi fare riferimento a durante un'intervista, anche se solo per dire "Sì, ho letto qualcosa sui framework MVC, ma non li ho usati da solo." Fai ciò che puoi per rimanere in contatto con altri sviluppatori: vai alle riunioni del gruppo di utenti locali, leggi e commenta i blog (o mantieni uno dei tuoi), prova di tanto in tanto a partecipare a seminari, 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 inviare tutti in modalità panico perché sei fuori dall'ufficio.)


2

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

Comunicare / lavorare con un team per implementare una soluzione è infinitamente più difficile. Queste abilità possono essere affinate solo facendolo. Anche quando fai parte di un team, la maggior parte dei membri sta cercando di tenere il passo con le tecnologie proprio come te, quindi le possibilità che il team trovi qualcosa di eccezionale sono molto più grandi.

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


Sviluppare da solo significa perdere il "programmatore di cartone", che è spesso uno strumento utile. Fondamentalmente, avere qualcun altro a spiegare un problema significa spesso che la soluzione si presenta a metà spiegazione (prima che l'altra parte abbia la possibilità di dare suggerimenti)
Phil Lello

0

Sono d'accordo con @Pierre 303 risposta al 100%. Aggiungo anche che dovresti prenderti cura di te stesso per insegnarti le pratiche corrette. Forse sarebbe utile anche una certificazione.

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

Sembra che tu abbia un buon concerto ... Vorrei tenerlo.

Solo i miei 2 centesimi.


0

Penso che ti manchi il fatto che la maggior parte degli standard / pratiche che troverai in una grande casa di sviluppo può essere facilmente applicata alla tua situazione. Apportare queste modifiche a una squadra di una persona è già stato trattato in precedenza su SO. Cerca un po 'di guida:

Come applicare agile ai progetti personali?


Esiste un link per trovare il progetto di esempio complato usando tutti i metodi di log come SDLC, Agile ... ecc?
bp581,

Non rimanere troppo impiccato con parole come "Agile" e "Scrum"; le loro sole definizioni formali dei metodi che i team di successo stavano già utilizzando. Tuttavia, sono utili se non sei stato abbastanza fortunato da lavorare da qualche parte dove è una parte naturale dell'ambiente.
Phil Lello,
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.