Che cosa definisce il ruolo di "sviluppatore di software"

10

Sono uno sviluppatore di software junior e ho lavorato per un'azienda meno di un anno.

Anche se ho sempre pensato che essere uno sviluppatore di software significa sviluppare software e CODE qualcosa, i miei compiti sono più nel tipo di lavoro di amministrazione, come l'impostazione di Jenkins, SQL Replication ed ecc.

Questi tipi di lavori sono inclusi in un ruolo di sviluppatore o uno sviluppatore sviluppa solo software? Dovrei parlare con il mio manager di questo? Questo è un modo comune per le aziende di valutare le abilità "in via di sviluppo"?

    
posta mrz 30.01.2013 - 15:06
fonte

6 risposte

11

Mi sembra che abbiano assunto un junior perché non potevano permettersi un senior, piuttosto che perché volevano un junior (qualcuno in cui possono investire e mentore finché non diventano senior). Ho gestito una squadra che ha preso questa decisione obbligata da manager che non conoscevano meglio.

Finì con tutti i tipi di lavori sfortunati come creare video di addestramento per gli utenti e così e mi sento ancora in colpa ora, ma ero sotto pressione per fornire e l'aspettativa era che aggiungere una testa alla stanza di sviluppo sarebbe solo velocizza le cose.

È sfortunato, perché mette te e il tuo capo in posizioni difficili.

Probabilmente non ha alcun lavoro di cui possa fidarsi per un giovane, e qualsiasi anziano che potrebbe avere non può essere distratto dal loro giorno per giorno. La facile via d'uscita è quella di dare al junior un sacco di compiti non di sviluppo, che non vuole nemmeno perdere tempo con gli sviluppatori senior.

Ma alcuni problemi sorgono da questo.

In primo luogo, il tipo di lavoro di devops che ti sta offrendo richiede uno sviluppatore senior. In particolare, un server di build dovrebbe essere impostato da qualcuno che sta costruendo il software e sa dove sono i punti di dolore.

In secondo luogo, il junior non sta diventando più utile. Dopo cinque anni di questo, continuerai a svolgere gli stessi compiti, perché non ti puoi fidare del lavoro di sviluppo vero e proprio.

Terzo, i giovani alla fine (come voi) si renderanno conto che non stanno aiutando la propria carriera. L'ipotesi che i junior siano di bassa qualità, piuttosto che di esperienza (e di ricerca) bassa, è un errore terribile, ma molto comune, in questo settore.

Quindi, sì, siediti con il tuo capo. Ma comprendi la situazione in cui si trova. Vedi se riesci a trovare un accordo che risolva i problemi di tutti. Avrai bisogno di un mentore senior e alcuni dei tuoi compiti attuali dovranno essere passati a un anziano. Ciò rallenterà il progetto ma, a lungo termine, ripagherà. Questo è il punto che devi raggiungere con il tuo capo, e possibilmente con i loro capi. Inoltre, vedi se riesci a trovare qualcosa che puoi offrire in cambio di mitigare i costi.

Se non puoi, potresti voler guardare altrove.

    
risposta data 30.01.2013 - 16:57
fonte
7

Trovo che il termine "Sviluppatore software" sia sinonimo di "Programmatore". Quindi uno sviluppatore di software è una persona la cui responsabilità principale è scrivere codice. Nel mio primo lavoro, il mio titolo era "Sviluppatore" e la mia responsabilità principale era progettare e codificare il software. Ma penso che non ci sia una definizione esatta del termine. È usato in modo diverso da persone diverse, quindi il significato diventa confuso.

Tuttavia, affinché un team di sviluppo funzioni in modo efficiente, è necessario configurare queste impostazioni, i server CI, la replica SQL, la distribuzione sui server di test, il monitoraggio dei server di test, l'archiviazione di build, ecc. (Forse non tutti si applicano in qualsiasi situazione).

Queste attività richiederanno una grande quantità di tempo nella fase iniziale del progetto, ma richiederanno una quantità minore di tempo dopo aver eseguito una bella installazione.

Sfortunatamente, gli sviluppatori preferiscono il codice piuttosto che gestire i build server. Pertanto, spesso questi compiti noiosi cadono nelle mani degli sviluppatori junior, poiché gli sviluppatori senior hanno compiti più importanti.

Non ho esperienza di alcuna azienda che utilizza questi compiti come mezzo per valutare le competenze.

Se non sei soddisfatto delle tue attuali responsabilità, ti suggerisco di risolvere il problema con il tuo manager di linea.

    
risposta data 30.01.2013 - 15:34
fonte
2

Dipende. Sembra che aziende diverse lo definiscano diversamente e per alcuni è un termine generico per una serie di funzioni tecniche. Per alcuni è solo un titolo. Facendo la stessa domanda prima, ho ottenuto una risposta simile a "Solo gli sviluppatori hanno la capacità di farlo nella nostra organizzazione", direi forse, ma questo non lo rende necessariamente lo sviluppo).

La risposta teorica è che uno sviluppatore (confrontato con programmatore / programmatore) è una persona che "risolve i problemi" anche se non hanno a che fare con "codificare qualcosa".

Vuoi programmare di più, quindi chiedi al tuo manager ulteriori attività di codifica o alcune delle cose che fai codificando? Hai citato materiale operativo, quindi forse alcuni di essi potrebbero essere fatti dai framework DevOps (controlla chef e puppet ), che renderà le funzioni più efficienti e vicine allo sviluppo.

    
risposta data 30.01.2013 - 15:34
fonte
2

Non è raro che uno sviluppatore possa avere alcune capacità di amministrazione del sistema. Come sviluppatore senior, ritengo che circa il 5% del mio tempo sia dedicato a tali compiti.

Tuttavia, se non stai facendo nessuna codifica, probabilmente dovresti parlare con il tuo manager di come ottenere attività di codifica. Dopo tutto, vuoi sviluppare un'esperienza di codifica. Sei anche più utile come programmatore che come amministratore di sistema.

    
risposta data 30.01.2013 - 16:11
fonte
1

Il codice non è terribilmente utile se non viene incorporato correttamente in un'applicazione o se accede ai dati corretti, quindi le attività elencate sembrano molto in linea con ciò che fa uno sviluppatore. Devo aggiungere che anche gli sviluppatori di software sono molto confusi nella documentazione e nei test. Queste sono attività necessarie nella produzione di software.

È fantastico che la tua azienda abbia specialisti in grado di svolgere questo compito per te, ma in caso contrario, gli sviluppatori di software sono responsabili di tutto (e possibilmente incluso) implementando un'applicazione in produzione e supportandola lì.

    
risposta data 30.01.2013 - 16:36
fonte
0

È abbastanza comune per uno sviluppatore di una società di piccole e medie dimensioni assumere alcune funzioni di amministratore del server / DBA / configurazione generale.

Tuttavia, se queste attività iniziano a diventare la maggior parte delle tue responsabilità, potrebbe essere qualcosa di preoccupante a seconda dei tuoi obiettivi di carriera. Sebbene tu possa probabilmente prosperare all'interno di determinate aziende come un tecnologo generale, quando hai bisogno di trasferirti in una nuova azienda può causare molti problemi nella tua transizione. Se non stai facendo uno sviluppo tradizionale, devi essere sicuro di farlo chiaro sul tuo curriculum. Se vuoi ottenere un lavoro in linea retta dopo un periodo di lavoro come hai descritto, potresti dover accettare qualcosa per cui sei "troppo qualificato" in base agli anni nel settore.

D'altra parte, ci possono essere aziende in cerca di sviluppatori con competenze diverse. Ma con l'attuale tendenza a scrivere il codice nelle interviste, avrai bisogno di avere anche le migliori capacità di codifica, anche se il lavoro richiede poco codice una volta entrato.

Se non vuoi rimanere bloccato nella tua posizione attuale, proverei sicuramente a porre rimedio alla situazione presto.

    
risposta data 30.01.2013 - 16:36
fonte

Leggi altre domande sui tag