A che punto un'azienda ha bisogno di un ingegnere di sistema?

3

Sono 8 mesi nel mio primo lavoro come sviluppatore in una piccola azienda. I quattro team di sviluppo hanno circa 7 sviluppatori ciascuno, il team di progettazione consiste di circa lo stesso numero e il team di amministrazione / vendite / marketing / ora è di 4 persone.

Sviluppiamo principalmente app web, una tantum, da eseguire sull'ambiente del cliente (solitamente esistente). Mi sto ritrovando a configurare ambienti di sviluppo da abbinare, di solito cose che non ho mai usato prima (da C # .NET 1.1 e MS-SQL a un WAS sviluppato a livello regionale chiamato JEUS), che richiede una notevole quantità di tempo.

A volte ricevo aiuto da altri sviluppatori, ma per lo più seguo tutorial online fino a quando non sembra funzionare, e quindi passo più tempo a correggere il mio codice quando si interrompe perché le impostazioni non sono esattamente le stesse dell'ambiente reale.

Sto iniziando a pensare che un tizio specializzato in questa roba renderebbe molto più facile agli sviluppatori fare effettivamente quello che sono pagati per fare. Quando è logico che un'azienda possa ottenere un ingegnere di sistema dedicato? O sbaglio e dovrei solo succhiarlo e imparare a farlo? Mi rendo conto che familiarizzare con ambienti diversi potrebbe migliorare la mia occupabilità ...

    
posta bdares 18.10.2011 - 12:33
fonte

3 risposte

4

Le mie esperienze lavorative in un'azienda con meno di 20 persone sono che come sviluppatore di software devo essere al primo posto nella catena alimentare e indossare molti cappelli.

Quando dico "cima alla catena alimentare", intendo dire che mi aspetto di eccellere in ogni problema IT che mi viene lanciato e di superare le capacità dei miei colleghi IT che lavorano in un ruolo di sviluppo non software. Indossando molti cappelli intendo dire che ho bisogno di svolgere molti ruoli IT diversi di volta in volta.

I miei colleghi sono costituiti da supporto tecnico, specialisti del supporto per pc e un webmaster / amministratore di rete / controllo qualità. Oltre al QA, se la rete fallisce e il ragazzo responsabile non è in ufficio quel giorno non mi aspetto solo di risolvere il problema, ma farlo meglio del ragazzo che è stato assunto per farlo. Stessa cosa se il sito web fallisce e la stessa cosa se tutte le persone del supporto tecnico sono sull'altra linea e una password deve essere resettata per un utente.

Non ritengono che i miei set di competenze siano solo codificanti / in via di sviluppo, ma che questi altri professionisti IT siano lì per proteggermi dal tran tran quotidiano di un'azienda di successo in modo da avere il tempo di lavorare su progetti con il minimo distrazioni.

Qualunque cosa tu stia combattendo, prenditi il tempo per impararlo ed essere felice che stai imparando una nuova abilità, perché se la compagnia cade nei momenti difficili e devono lasciare che metà della squadra se ne vada, si sbarazzeranno del sviluppatori di software che codificano / sviluppano e che codificano / sviluppano esattamente ciò che è scritto su una specifica senza domande.

    
risposta data 18.10.2011 - 14:36
fonte
3

IMO ci sono due problemi qui:

  1. Dovresti imparare a configurare / mantenere tutti questi diversi strumenti / ambienti? La necessità di chiamare l'helpdesk IT ogni volta che si verifica un problema di configurazione con un server Web rallenta molto. Quindi, a lungo termine, probabilmente stai meglio imparando questi strumenti, almeno fino ad un certo livello. Non è necessario diventare un guru, ma dovresti essere in grado, ad es. individuare i problemi di impostazione comuni. Come puoi notare, potrebbe anche aumentare il tuo valore di mercato.

  2. Hai bisogno di ambienti di sviluppo / distribuzione riproducibili? Assolutamente. Anche un guru del sistema non è un aiuto molto efficace se gli ambienti di sviluppo / test / staging / produzione sono impostati in modo ad hoc, quindi non è possibile riprodurre un bug di produzione nel proprio ambiente di debug.

    Il (i) vostro (i) team (i) ha bisogno (s) di sviluppare standard / procedure per ottenere build e implementazioni affidabili e deterministici. Per esempio. metti tutto (o il più possibile) sulla configurazione dello strumento e / o installa i pacchetti sotto il controllo del codice sorgente e scrivi gli script per distribuirli su un host specifico con la semplice pressione di un pulsante. Gli strumenti esistenti di integrazione / integrazione continua potrebbero anche aiutare in queste attività.

    Ultimo ma non meno importante, questo riduce anche il carico di lavoro degli sviluppatori delle attività relative all'impostazione dell'ambiente, alleviando il tuo problema (e di chiunque altro).

risposta data 18.10.2011 - 12:43
fonte
0

Quando è logico che un'azienda possa ottenere un ingegnere di sistema dedicato?

Logicamente, quando esiste un numero sufficiente di lavori per occupare un FTE

Ovviamente la conseguenza sarebbe che potrebbe essere in grado di fare con un programmatore in meno

    
risposta data 18.10.2011 - 12:39
fonte

Leggi altre domande sui tag