Qual è il ruolo dello sviluppatore senior nel team? [chiuso]

20

Con un team di altri 3 sviluppatori web ho il titolo di sviluppatore web principale per un anno. Questo è il mio primo lavoro da protagonista.

Sono abbastanza determinato su quali sono i miei ruoli dalla gestione. Sono curioso di sapere cosa fanno gli altri sviluppatori senior. Sono principalmente curioso di sapere quali sono le responsabilità degli altri come lead / senior developer in altre organizzazioni; come ho incontrato solo lavorando in una piccola / media impresa.

(a) Cosa ci si aspetterebbe da uno sviluppatore web senior / principale di un'organizzazione (indipendentemente dalle dimensioni)?

(b) C'è una differenza tra leader di sviluppo web e sviluppatore web senior?

Ho esaminato alcuni thread e ne ho parlato solo uno quando dovresti definirti uno sviluppatore senior ma non discuti in modo esaustivo i ruoli di ciò che uno sviluppatore senior dovrebbe fare con il suo team.

    
posta chrisjlee 02.09.2011 - 06:02
fonte

8 risposte

22

Punto di vista del project manager

Sei il punto di contatto singolo (o predefinito) per qualsiasi cosa relativa al lato tecnico delle cose. Ci si aspetta che tu mantenga il lavoro degli altri sviluppatori muovendosi per pura forza, dando l'esempio o qualunque sia il tuo metodo.

Punto di vista dello sviluppatore non protagonista

Sei il modello di ruolo. Aspettati che gli sviluppatori meno esperti ti guardino e ti facciano domande tecniche quando sono bloccati.

Pensate

Se stai davvero chiedendo ad internet di definire il tuo ruolo / lavoro, fermati. Parla con il management per una risposta reale.

    
risposta data 02.09.2011 - 06:43
fonte
9

Hai due ruoli principali come lead developer: essere un sostenitore del tuo team con il lato business della tua attività e fornire una guida tecnica al tuo team.

Come avvocato, dovresti aiutare a comunicare i requisiti al tuo team, spingendoti indietro quando il lato business (che si tratti di gestione, project manager o addetti alle vendite) fa richieste o richieste irrealistiche e generalmente si occupa di qualsiasi cosa impedisca alla tua squadra di codice di scrittura.

In qualità di mentore tecnico, devi aiutare il tuo team a prendere buone decisioni, assisterli con eventuali problemi tecnici e indirizzarli verso soluzioni adeguate. Dovresti incoraggiarli a migliorare le loro capacità e ad essere un attaccante assoluto per seguire i giusti standard di sviluppo.

Soprattutto, devi essere un modello di ruolo impeccabile. Il tuo codice dovrebbe essere di altissimo livello, i tuoi progetti dovrebbero essere consegnati in tempo ed essere della massima qualità. Quello che fai sarà molto più importante di quello che dici.

EDIT: Un'altra cosa. Devi essere proattivo con problemi tecnici. Non aspettare che la tua squadra venga da te con problemi. Siate consapevoli di ciò a cui stanno lavorando e andate da loro se impiegano troppo tempo, se sapete che si trovano su qualcosa di complicato o al di fuori del loro set di competenze, o se sembrano frustrati. Ascolta quando le persone della tua squadra iniziano a discutere di problemi tecnici senza di te e intervieni in se (e solo se) senti che stanno iniziando ad allontanarsi da una soluzione decente, o se stanno andando in cerchio e non realizzare nulla.

    
risposta data 02.09.2011 - 14:41
fonte
5

Bene, spieghiamo ... leadership .

Tutti gli errori della tua squadra ora sono tuoi per prendersela con.

Lo stesso vale per i successi, ma in realtà, questo è lo sviluppo del software, il successo è modesto, difficilmente avrai problemi ad affrontare un eccesso di successo.

Concentrati su quegli errori. Evitali, minimizzali, prova a tenerli sotto controllo.

E non diventare prepotente, la tua squadra fa più errori se lo fai .

    
risposta data 02.09.2011 - 07:49
fonte
4

IMO il ruolo è di guida. Sei stato in giro per il blocco, quindi se un altro sviluppatore (non junior ma non senior) ha una domanda o si imbatte in un problema nel modulo di Foobar, sei l'uomo giusto da chiedere "Sto cercando di fare X con Foobar, qualche idea? ". Dovresti anche comunicare gli obiettivi e gli sforzi del team alla gestione mentre schierarti con il team su questioni tecniche (ad esempio se tu e il team pensate che un progetto impiegherà 4 mesi a fare, non crollare e dì al CEO che sarà fatto in 1 mese e poi costringerai tutti a fare gli straordinari). Dovresti anche essere responsabile di assicurarti che il codice sia di qualità appropriata e gli altri membri del team stiano facendo le cose nel modo giusto e non solo eliminando i rifiuti che stanno per crollare.

Ovviamente è tutto teorico. Dipende dalla squadra; Ho lavorato con "anziani" che non sapevano nulla di qualsiasi sviluppo moderno negli ultimi 5 anni e che erano "fabbri" per l'alta dirigenza e avrebbero detto "Signore, sì, signore!" a qualsiasi richiesta, non importa quanto ridicola, soffocata creatività da parte di altri membri del team, e incoraggiato un ambiente di lavoro molto scialbo invece di uno di costante apprendimento e artigianato. Ho anche lavorato con sviluppatori senior molto esperti che hanno svolto un ruolo attivo assicurandosi che le cose andassero come meglio potevano e non hanno mai ceduto alla pressione del management.

    
risposta data 02.09.2011 - 14:24
fonte
4

Sono un deviatore anziano e ho molti contatti tecnici con cui lavoro. La differenza è che sono i project manager tecnici. Se c'è un conflitto tra gli sviluppatori su un problema tecnico, essi stabiliscono la decisione su cosa fare. Se le cose stanno dietro, decidono come affrontarlo. Hanno la responsabilità di assicurarsi che le persone facciano pagare il loro tempo per progettare, che siano richieste più ore a seconda delle necessità, che vengano assegnate nuove attività, che vengano fatte le revisioni del codice (come senior posso fare le revisioni del codice), ecc. In genere mi vengono assegnati compiti più difficili. In veste di senior, sono consultato e mi aspetto di fare da mentore ai giovani. I leader della tecnologia fanno anche questo, ma hanno il potere decisionale e la responsabilità per il successo complessivo del progetto. In qualità di senior, sono responsabile solo della mia parte del progetto.

    
risposta data 02.09.2011 - 15:26
fonte
2

Potrebbero esserci molti punti di vista diversi, come Jonathan menziona sopra.

In qualità di sviluppatore senior, puoi impostare le decisioni architetturali per il tuo gruppo e agire come rappresentante della tua squadra per le riunioni del gruppo di sviluppo di livello superiore. Puoi anche fungere da mentore e dirigere le attività tecniche dei membri del tuo team.

Spesso, potresti anche essere un punto di contatto sia con la gestione del progetto che con gli utenti aziendali. Aiuterà a decidere come e quando consegnare i risultati del progetto e potrebbe avere l'opportunità di negoziare le priorità degli elementi del progetto a lungo termine.

In breve, il tuo ruolo è ciò che scegli di fare, dati i limiti stabiliti dalla tua stessa gestione (sia tecnica che aziendale).

    
risposta data 02.09.2011 - 07:33
fonte
2

Altre persone hanno coperto l'aspetto di leadership di base di questa domanda, quindi cercherò di focalizzare i miei punti sulle domande dirette poste:

(a) What would one expect out of a senior / lead web developer of an organization (regardless of size)?

Mi aspetterei un individuo con un carattere strong e una base di conoscenze tecniche. Mi aspetterei che qualcuno che non solo demolisca le idee, ma proponga nuove idee per sostituire quelle che ritengono carenti. Mi aspetterei che qualcuno che non spinge o prepotente subordinare gli sviluppatori, ma cerca di trovare modi che motivano, insegnano, guidano ogni individuo. Mi aspetterei che qualcuno fosse disposto ad assumersi la responsabilità e la proprietà di progetti, concetti e decisioni. "Yes-men" e "wall flowers" non devono essere applicati. Un senior / lead deve essere in grado di trattare le persone con la stessa efficacia di (s) che fa con il codice ... forse anche meglio in alcuni casi.

(b) Is there a difference between web development leader and senior web developer?

La differenza principale che ho osservato è quella dell'ambito e non l'ho mai visto scritto da nessuna parte. Un lead è in genere responsabile della produttività di una singola squadra. Un anziano può essere responsabile di diverse squadre, una squadra singola o nessuna squadra. Ci si aspetta che un lead aiuti i suoi sviluppatori subordinati a raggiungere i loro obiettivi nell'ambito di uno specifico progetto o incarico. Per subordinato intendo semplicemente gli sviluppatori che sono stati assegnati a un progetto per il quale la guida è tecnicamente "responsabile". Trovo spesso che io sia il protagonista di progetti in cui molti sviluppatori sono uguali o hanno più anzianità rispetto a me, quindi non è scontato che il lead sarà il membro più "senior" del team. Dato questo scopo, uno sviluppatore senior è qualcuno su cui l'intera organizzazione può contare per avere le conoscenze e l'esperienza necessarie per aiutare chiunque. Ci si aspetta che un senior sia un modello di ruolo (come ha detto qualcun altro) a qualsiasi sviluppatore dell'organizzazione e dovrebbe aiutare gli sviluppatori junior a risolvere problemi tecnici.

In breve, per me: un vantaggio aiuta. Un anziano insegna.

    
risposta data 02.09.2011 - 14:40
fonte
2

Gli sviluppatori web senior possono essere considerati come persone che possono avere un problema, trovare varie soluzioni e implementare il meglio da soli. L'esercito di una persona in un certo senso. Mentor sviluppatori junior per contribuire a migliorare le prestazioni complessive della squadra. Potrebbe anche essere portato a sfruttare le competenze in vari pacchetti software in quanto ci si può aspettare che l'anziano sappia davvero qualcosa di meglio di altri sviluppatori in alcuni casi. Generalmente le abilità che lo sviluppatore ha utilizzato per il massimo beneficio che può essere una combinazione di mentoring, consulenza, codifica, progettazione e creazione di processi.

I principali sviluppatori web possono venire in un paio di forme diverse per la mia mente. Il capo di una squadra è il capo amministrativo ed è quello che farebbe una revisione generale delle prestazioni, essere a conoscenza dei progetti a cui è assegnato uno sviluppatore e gestire alcuni documenti, pur essendo uno sviluppatore una volta terminato. C'è anche la guida per un progetto in cui l'attenzione della persona è molto più ristretta, poiché è proprio per questo progetto che questa persona ha la responsabilità di far rispettare gli standard e le pratiche all'interno del team. Quindi c'è la domanda su quale sia il vantaggio principale? Un progetto o un gruppo di sviluppatori dal punto di vista amministrativo?

    
risposta data 02.09.2011 - 17:54
fonte

Leggi altre domande sui tag