Dovremmo assumere un nuovo sviluppatore ora, o aspettare fino a quando il codice non sarà refactored per renderlo adatto per un ambiente di squadra?

2

Supporto e sviluppo di un sistema di grandi dimensioni che utilizza varie tecnologie, ad es. c ++ ,. net, vb6 ecc. Sono un unico sviluppatore.

Sto discutendo se ora sia il momento giusto per contattare il mio manager (che non è uno sviluppatore) per chiedere se è possibile reclutare un altro sviluppatore.

Non ho alcuna esperienza di lavoro nei team di software. Sono sempre stato un unico sviluppatore.

Le preoccupazioni che ho sono:

  1. C'è ancora molto da fare. Allenare un altro sviluppatore richiederebbe del tempo e mi distoglierebbe dalle mie funzioni.
  2. La società non investe molto in strumenti, ad es. controllo del codice sorgente
  3. Il codice in questo sistema deve essere rifattorizzato per introdurre concetti come interfacce, polimorfismo, ecc., supportati da metodologie come Agile (ho ereditato il sistema circa 12 mesi fa). Sto gradualmente cercando di ridefinire il codice.

Credo di avere due opzioni:

  1. Avvicinati al mio manager ora
  2. Attendi finché non ho avuto il tempo di ridefinire il codice, quindi è più adatto per un ambiente di squadra.

Quale opzione è la migliore? Spero di sentire altri sviluppatori che sono stati nella mia situazione.

    
posta w0051977 04.12.2012 - 21:30
fonte

4 risposte

15

Il tuo nuovo sviluppatore può aiutarti a refactare il codice. Questo sarà il suo allenamento (familiarizzarsi con il tuo software). Assumi qualcuno che già conosce interfacce, polimorfismo e agilità. Implementare autonomamente un sistema di controllo del codice sorgente.

    
risposta data 04.12.2012 - 21:33
fonte
3

Devi chiedere perché è necessario aggiungere un nuovo sviluppatore e qual è l'obiettivo. Fred Brooks ha scritto su questo nel mese di Mythical Man. L'aggiunta di un nuovo sviluppatore a un progetto in ritardo lo renderà più tardi. Se stai cercando di risolvere un problema a breve termine, dimentica l'idea e aggiungi ore extra. Se stai pensando a lungo termine, le tue preoccupazioni per un impatto a breve termine sulla produttività sono mute. Se hai un problema a breve termine che non sta andando via - meglio prendere il dolore di addestrare una nuova recluta ora, piuttosto che differirla fino a tardi.

La prima risposta dei tuoi capi riguarderà il ROI e i budget. Cosa otterrà per il salario extra e per il dolore aggiuntivo che soffrirà. Devi "vendergli" i benefici e i premi. Non ignorare i costi, diretti e indiretti, e i rischi (cosa succede se recluti un idiota). In termini commerciali, avrà bisogno del flusso di cassa e del ROI prima ancora che inizi a pensarci. Se vai da lui con "Voglio assumere un altro programmatore", probabilmente dirà "Voglio una nuova Porsche, ora torni al lavoro". Se glielo porti con "Abbiamo X mesi di lavoro sui libri e altro in arrivo ogni giorno." Non posso tenere il passo, ma se reclutiamo un nuovo sviluppatore possiamo farlo. Se non lo facciamo, non saremo in grado di finire questo per allora e probabilmente perdere le entrate che vale Y dollari "......

Che cosa mai fai, NON CI PARTI delle parole in 3) della tua domanda. Ciò che il tuo capo ascolterà è "buzz word, technobable, buzzword, buzzword, technobable .... tempo di gioco in denaro aziendale con nuovi giocattoli brillanti e nessun vantaggio di costo ..... technobable, technobable", e lo farà (giustamente?) rispondi "È bello, ora torna al lavoro".

    
risposta data 04.12.2012 - 23:37
fonte
1

Se hai una casella in più, puoi avere il controllo del codice sorgente. Puoi persino avere il controllo del codice sorgente senza una casella aggiuntiva, specialmente se usi un sistema di controllo del codice sorgente distribuito come mercurial o git.

Il nuovo sviluppatore può aiutarti a rifattare il tuo codice. Questo va bene per molteplici ragioni:

  • Lo sviluppatore apprende il codice base mentre lo refactoring
  • Non è necessario andare al business e dire: "Ehi, investi in questo processo dispendioso in termini di tempo che non eliminerà alcuna funzionalità aziendale aggiuntiva".

Anche le basi di codice agili hanno un codice errato. Non pensare che devi avere un buon codice ora per essere in grado di assumere qualcuno.

    
risposta data 04.12.2012 - 21:40
fonte
0

Assolutamente chiedere il budget per un secondo sviluppatore. Sono stato un unico sviluppatore io stesso un anno fa, e negli ultimi mesi ho portato due nuove persone che hanno dato un enorme contributo - uno con la creazione della nostra API e l'altro con la possibilità di gestire un sacco di lavoro da grugnito che un tempo succhiare il mio tempo in un buco nero. Siamo solo molto più produttivi ora. Cerca di trovare persone con set di abilità diverse che possono contribuire a dove vuoi essere tra due anni.

Ho finito col lavorare con uno di loro per implementare il nostro controllo del codice sorgente (con Git). E questo significava che tutti dovevano rinforzare i loro curriculum.

    
risposta data 04.12.2012 - 23:39
fonte

Leggi altre domande sui tag