Se fossi il manager di un team di 25 sviluppatori, come li motiveresti? [chiuso]

21

Immagina di essere assunto da una nuova startup con qualche milione di venture capitalist.

La tua missione: organize the development of the next killer app .

25 sviluppatori sono troppi per prendersi cura di ciascuno individualmente, quindi quale decisione prendere / a per motivarli?

Apprezzerò qualsiasi risposta dalle opzioni di riserva ai cookie gratuiti;)

Ovviamente il trucco qui (a meno che tu non sia davvero un manager di una tale startup), ti metti nei panni di uno di quei programmatori.

EDIT: è un contesto immaginario. Lo scopo di questa storia è stimolare i tuoi desideri. Voglio catturare ciò che motiva gli sviluppatori.

    
posta 2 revsuser2567 26.10.2010 - 22:00
fonte

21 risposta

60

Ecco la mia lista di controllo, in nessun ordine particolare:

  1. Computer fantastici su cui sviluppare. Almeno raddoppiare la potenza dell'utente target, con abbondanza di RAM e monitor grandi / multipli ... ~ $ da 3 a 5k di budget.
  2. Belle cuffie per chi ne ha bisogno, quando preferisce lavorare sulla musica.
  3. Strumenti di sviluppo eccellenti con cui lavorare. Ciò dipende in qualche modo dall'ambiente di destinazione, ma Visual Studio / Eclipse / qualunque sia il migliore per il lavoro. Ciò include cose come server di integrazione / generazione continua.
  4. Accesso Internet veloce - forse con un server proxy di cache per pre-memorizzare nella cache cose come SO, TheRegister, Reddit, ecc.
  5. Pochissimi incontri - solo ciò che è assolutamente necessario e un limite rigido alla loro lunghezza (usiamo un timer); pensa a "riunione stand-up" come Scrum.
  6. Atmosfera salutare in cui lavorare. Luce diurna, opzioni di aria fresca, aria condizionata stabile, piante, immagini, buona illuminazione.
  7. Tempo di inattività dal 10 al 20% per imparare qualcosa di nuovo o flettere un po 'le tue abilità.
  8. Un dispositivo di raffreddamento acqua per ogni gruppo di banchi che viene regolarmente mantenuto.
  9. Market- stipendi competitivi con bonus relativi alla performance, in cui la performance e la remunerazione sono chiaramente definite. I bonus di rendimento sarebbero probabilmente la quota degli utili dell'azienda.
  10. Incoraggiare un'etica di lavoro collaborativa ; avere rapporti tecnici per condividere l'apprendimento, ruotare le persone attorno ai team per costruire la propria esperienza.
  11. Bevande gratuite (non alcoliche).
  12. Un cesto di frutta per spuntini salutari che non rovinino il pranzo.
  13. Stabilire un livello di rispetto professionale dalle altre parti del business per il reparto di sviluppo software e viceversa. Questo è un obiettivo a lungo termine, sfocato, ma ci sono modi e mezzi per stabilirlo.
  14. Chiara comunicazione da e verso la gestione delle aspettative e la consegna su tali aspettative.
  15. Cancella priorità per gli elementi di lavoro, revisionati regolarmente.
  16. Uso delle migliori pratiche in termini di metodologie SDLC - Agile / Scrum, ecc.
  17. Procedure chiare e documentate su cosa deve essere fatto, perché e come per cose importanti come la gestione dei rilasci. Qualunque cosa possa essere automatizzata, quindi questo è solo il bit manuale: ce n'è sempre.
  18. Ambiente di supporto per quando le cose non vanno così bene. Non dare calci alle persone quando causano bug, ma aiutandole a imparare dai loro errori.
  19. Accesso 24x7 all'edificio e accesso remoto per quando i membri del team traggono ispirazione al di fuori dell'orario normale.
  20. Lavagne bianche per la prototipazione / pensando ad alta voce.
  21. Celebrazioni del successo - sia che si tratti di un pranzo di gruppo o di un viaggio al Grand Prix nel fine settimana, è importante riconoscere grandi sforzi e grandi risultati.

Non avrei:

  • Pistole Nerf / frisbee / biliardo / giocattoli. L'ambiente di lavoro è dove lavoriamo. C'è molto divertimento da fare mentre si fa il lavoro senza giocare ai soldati attorno ai colleghi che stanno cercando di concentrarsi.
  • Cibo gratis: le persone dovrebbero fare una pausa per uscire e prendere qualcosa da mangiare.
  • Censura su Internet - Lascio agli individui il compito di esercitare il proprio giudizio.
risposta data 18.06.2013 - 15:20
fonte
30

Offri loro problemi interessanti su cui lavorare e la loro scelta di strumenti su cui lavorare, quindi togliti di mezzo.

I grandi programmatori non sono motivati dal denaro o dallo stato all'interno di un'azienda. Hanno bisogno di denaro e status sufficienti per sentirsi a proprio agio, ma il gioco è fatto. I grandi programmatori sono motivati dall'interesse.

Paul Graham è d'accordo con me .

    
risposta data 26.10.2010 - 14:15
fonte
21

C'è un ottimo video di YouTube sulla "Sorprendente verità su ciò che ci motiva". Ho scritto blogger un po 'di tempo fa:

link

Mi piace la parte in cui dice, in sostanza, di pagare abbastanza i tuoi dipendenti in modo che i soldi vengano tolti dal tavolo come considerazione del motivo per cui vogliono lavorare lì. Quando il denaro non è più un fattore motivante, ottieni risultati molto migliori.

So cosa mi motiva:

  • Essere in grado di utilizzare gli strumenti che preferisco. Quindi dai ai tuoi sviluppatori gli strumenti che vogliono e di cui hanno bisogno. Con una squadra di 25 persone, ovviamente, devi arrivare al compromesso e al consenso, ma la linea di fondo è che hanno bisogno degli strumenti migliori. Questo comprende hardware e software.
  • Ore di lavoro normali. 35-40 ore per lavoro. Niente di più. Se vogliono entrare da soli a fare di più perché sono ispirati, va bene. Ma le persone che lavorano eccessivamente nel lavoro in cui sono obbligate a flettere i muscoli critici del pensiero è la via veloce verso il disastro.
  • Opzioni di Telelavoro. Mi piace lavorare dalla comodità della mia casa; non avere a che fare con il mal di testa del traffico e perdere un'ora al giorno per viaggiare. Posso essere lì per la mia famiglia, per le emergenze, come un taxi, ecc. Se hai dipendenti in grado di gestirli e ottenere il loro carico di lavoro, dai loro l'opzione di telelavoro. Inoltre, è molto più facile fare un pisolino elettrico da 20-30 minuti a casa (dimostrato di aumentare la produttività, ma la società ancora si acciglia sul pisolino).
  • Uno spazio di lavoro di qualità. Lavagne bianche, strumenti di collaborazione, sale conferenze, ecc. Un team di 25 dipendenti può davvero creare qualcosa di fantastico se lavora insieme, e per lavorare insieme devono condividere idee liberamente e collaborare. Se stanno lavorando in remoto, hanno Skype, ecc. Ma dagli loro gli strumenti per collaborare.
  • Obiettivi chiaramente definiti. Non scadenze: quelle sono diverse. Obiettivi. Implementa ciò che vuoi, Scrum, XP, non mi interessa, ma la tua squadra ha bisogno di obiettivi chiari e pietre miliari.
  • Non rimanere bloccato in un particolare dogma; essere aperti al cambiamento e nuove idee, nuove tecnologie, ecc. Ascoltare l'un l'altro. Non forzare l'architettura sulla tua squadra; lascia che si evolva attraverso la collaborazione, il feedback, l'input.

Gli sviluppatori vogliono realizzare un software fantastico. Se puoi dare loro l'opportunità di farlo, compensali abbastanza bene che il denaro non influisce sui loro processi mentali e fornisce loro un salutare equilibrio tra lavoro e vita, che produrranno.

    
risposta data 26.10.2010 - 15:13
fonte
16

Delega.

Supponendo che i 25 sviluppatori lavoreranno su diversi aspetti dell'applicazione, li divideranno in sottogruppi e nomineranno 1 membro di ogni squadra per essere il capo squadra. (NOTA: questo ruolo dovrebbe spostarsi mentre il progetto si sviluppa e i team vengono rimescolati).

Ora hai 5 team lead da motivare e a loro volta hanno 4 sviluppatori da motivare.

Puoi concentrarti sui motivatori "globali" (come le opzioni azionarie, ecc.) mentre il tuo team leader può concentrarsi sui singoli motivatori (essere autorizzati a partire presto un mercoledì).

Assicurati di essere coerente e che i lead del team comunichino le loro azioni con te e gli altri per evitare inutili frizioni.

    
risposta data 26.10.2010 - 13:10
fonte
9

Sono pronto per essere votato, ma puoi motivarmi in qualsiasi modo tu voglia (farmi lavorare ore difficili, darmi un 386 per una macchina su cui codificare, lavorare su un tavolo da gioco tremante al buio in uno scantinato, urla contro di me, lavora nei fine settimana e nei giorni festivi, e non offri caffè gratis) e sarò la tua squadra di crack finché tu mi paghi una quantità ridicola di soldi .

    
risposta data 26.10.2010 - 18:16
fonte
6

Sono d'accordo con Dima e ChrisF. Tranne che su uno dei punti di Dima: stock options.

So che questa è una questione regionale, ma in molti paesi le stock option sono tassate dallo stato al loro valore attuale (valore interno) quando assegnate o emesse. Questo a meno che tu non sia in grado di dimostrare che la volatilità non consente di calcolare un valore interno.

Una volta ho finito per pagare le tasse per le mie stock options molto più di quello che valevano. Avevano un valore di $ 40 ciascuno al momento dell'emissione, ma non potevo esercitarli per un anno, e a quel punto erano sotto un dollaro.

Ma torniamo alla tua domanda:

Tempi di lavoro individuali, grandi strumenti, influenza nel processo decisionale, un ambiente libero dalla politica (tenerlo lontano da loro, in modo che possano funzionare).

Vantaggi marginali come un budget da spendere da solo su strumenti, libri, corsi.

NESSUN cubicoli, al massimo 3 persone in un ufficio con più di 9 m2 a persona. Se possibile, sposta la squadra nel suo stesso edificio o almeno sul suo piano. Lascia che siano loro a personalizzare la loro scrivania, senza poliziotti.

Elimina i telefoni dalle loro scrivanie (e-mail senza audio o messaggistica istantanea, di nuovo senza audio, e cabine telefoniche al di fuori degli uffici con sedie e piccole scrivanie per i loro laptop, senza interruzione del flusso di lavoro senza urgenza). Avere un segretario per gestire le chiamate in arrivo.

Come piccole riunioni possibili. Non fatecelo il lunedì (i lunedì non sono comunque divertenti, alcuni sono ancora nel weekend, alcuni perdono l'ultima energia per iniziare) o il venerdì (cosa ho detto solo dei fine settimana), ma i mercoledì sono perfetti (questo dà una bella pausa a metà settimana).

Diritti amministrativi sulle loro macchine. Nessun supporto di primo e secondo livello.

Non vorrei essere costretto a mangiare con il gruppo - so di essere diverso - perché ho bisogno di una pausa dall'essere con le stesse persone tutto il giorno. Ma una pausa da croissant per lo scambio di informazioni informali, una serata mensile senza pressioni da parte dei pari per partecipare ogni volta e con gli sposi (bowling, cena) lo farei per me.

Secondo ChrisF: non penso che nessuno possa gestire 25 rapporti diretti. Formare squadre E di tanto in tanto organizza una competizione tra di loro.

    
risposta data 26.10.2010 - 14:08
fonte
6

Modifica: su riflessione, ecco il punto principale: trattare i dipendenti come persone, non come macchine o "risorse". Assicurati che si sentano a proprio agio a farti domande o a sollevare problemi. Assicurati di poter accogliere le persone quando hanno problemi personali, come un bambino malato o un genitore. In altre parole, fai del tuo meglio per stabilire un rapporto con loro. Inoltre, 25 è ancora un gruppo abbastanza piccolo per festeggiare il compleanno di tutti con una torta. Queste piccole cose fanno un mondo di differenza.

Sicuramente opzioni azionarie, in modo che il successo dell'azienda avrebbe un impatto significativo sulla propria qualità di vita. In aggiunta a ciò, sii aperto con loro su quello che sta succedendo nel mondo degli affari. Il punto è far vedere ai dipendenti almeno una parte del quadro generale oltre alle loro responsabilità immediate, in modo che si sentano più come partner in azienda e meno come ingranaggi in una macchina.

Buone condizioni di lavoro. Comode sedie, macchine veloci, grandi monitor, tastiere e mouse con i quali sono più a loro agio. Una finestra è carina ... Buon flusso d'aria. Compra loro libri di programmazione se vogliono migliorare le loro capacità.

Inoltre, consumare un pasto regolarmente, come una volta alla settimana, preferibilmente con la birra, è fantastico per il morale. 25 persone potrebbero essere un po 'troppe per questo, però. Quindi forse le singole squadre dovrebbero avere pizza e birra insieme una volta alla settimana. Pagato dalla compagnia, ovviamente. :)

    
risposta data 26.10.2010 - 16:29
fonte
6

Gestisco un team di sei programmatori, quindi dedico un po 'a questo argomento. Ecco le mie idee -

Dagli tempo per lavorare - Le interruzioni causano la perdita di produttività e motivazione. Ai programmatori piace di più quando possono abbassare la testa e andare avanti con il lavoro. Devi anche dare loro il tempo di fare un buon lavoro - i programmatori odiano affrettarsi a finire qualcosa con una scadenza arbitary. Di solito chiedo ai miei programmatori quanto tempo impiegherà un compito e quindi rispetterò le loro stime. Parte del mio lavoro come team leader è quello di gestirlo con il business e aiutarli a sviluppare aspettative realistiche.

Offri loro una buona attrezzatura - è terribile dover programmare su computer lenti e la maggior parte dei programmatori odia anche usare vecchi strumenti di sviluppo. Assicurati che i tuoi programmatori dispongano di ottime attrezzature: computer veloci, strumenti all'avanguardia, schermi grandi e anche una sedia molto buona. Queste cose non sono così costose nel grande schema.

Dai loro rispetto - I programmatori desiderano strongmente il rispetto delle loro capacità tecniche. Onora il lavoro che hanno già svolto e il lavoro che stanno facendo. Rispetta le loro opinioni su questioni tecniche. Quando fai una domanda tecnica, prendi la risposta al valore nominale. Se hanno commesso un errore, trova un modo per farcela senza perdere la faccia. Puoi dire cose del tipo: "Ho seguito ciò che mi hai suggerito, ma mi sono imbattuto in questo problema. Cosa pensi che dovrei fare?"

Dai loro il permesso di andare a casa - lavorare a lungo termine diventa presto controproducente. Quando i programmatori sanno che possono tornare a casa alle 17:00, sono molto più propensi a tornare il giorno successivo sentendosi motivati a lavorare.

Dai loro la responsabilità - ai programmatori piace prendere decisioni tecniche, quindi dai loro lo spazio per sviluppare le cose nel modo migliore. Se hai standard di architettura o di design, assicurati che siano compresi in anticipo. Se durante una revisione del progetto emergono problemi, assicurati che siano comunicati in modo rispettoso e incoraggiante.

Offri loro supporto - Fai in modo che possano venire e chiedere aiuto se ne hanno bisogno. Di ': "Se hai qualche domanda, non esitare a chiedere". Non farli sentire male per non conoscere una certa tecnologia, invece di dire "Se hai bisogno di un paio d'ore per rispolverare questa tecnologia, vai avanti".

    
risposta data 23.11.2010 - 04:36
fonte
6

Qui prenderò una virata diversa rispetto alle altre risposte: cerca più che puoi per non demotivare i tuoi dipendenti. Puoi dare ai tuoi dipendenti tutto il caffè, gli snack, i computer, ecc. Che desiderano e non avere ancora dipendenti motivati se intraprendi molte comuni (cattive) pratiche di gestione che possono sembrare molto ragionevoli per te come manager, ma quali sono patologica alla motivazione dei dipendenti. Per esempi di queste cattive pratiche, puoi invertire molti dei suggerimenti nelle altre risposte:

  • "considera i dipendenti come persone, non come macchine o" risorse "" - > trattare i dipendenti come risorse intercambiabili senza volto o "FTE".
  • "Paga tariffe superiori al mercato" - > i tuoi dipendenti sono i costi, i buoni manager minimizzano i costi.
  • "Dai loro un motivo per creare prodotti di qualità" - > insistere su uno sviluppo veloce e sporco (dal momento che il cliente è disposto a convivere con bug)

Il mio punto è che creare un ambiente che movimenta i dipendenti richiede molto più di una lista di azioni positive *. Devi monitorare ogni aspetto delle tue azioni come manager per assicurarti di non contraddire questo obiettivo.

Peopleware: progetti e team produttivi è un libro che ritengo molto pertinente alla motivazione dei programmatori. Ha molti capitoli sulle pratiche di gestione che demotivano i dipendenti (e quindi prevengono squadre efficaci). Uno dei miei capitoli preferiti è "Teamicide", il che presuppone che non ci sia nulla che un manager possa fare per creare una squadra efficace, ma molto che può fare per distruggerne uno o impedirne la formazione.

* In effetti, alcune azioni "motivazionali" affermative possono avere un effetto demotivazionale se ci sono altri fattori demotivazionali presenti.

    
risposta data 25.02.2011 - 18:01
fonte
5
  1. Evita la tentazione di assumere tutti i 25 subito.
  2. Cerca di attirare i migliori sviluppatori noti all'inizio.
  3. Una volta che hai una piccola squadra di molto persone di talento, che sanno quello che loro stanno facendo e hanno stabilito un alto livello di aspettativa.
  4. Continua ad aggiungere più persone. Devono sapere di essere circondati da brave persone che sono disposte ad aiutarli, ma devono tenere il passo.

I meno talentuosi (non sto dicendo che fanno schifo, ma queste cose sono relative). Le persone saranno in grado di raggiungere se messi nell'ambiente giusto (brave persone), sono addestrati bene e controllati.

È molto più facile gestire le persone quando si ottengono le persone giuste e si costruiscono cultura e atteggiamenti invece di cercare di stabilire una serie di regole.

    
risposta data 26.10.2010 - 21:28
fonte
3

IMO, le stock options nelle startup sono un po 'una truffa. In genere va così:

1) Una squadra di brillanti giovani ed energici sviluppatori viene reclutata con promesse di arricchirsi tramite le opzioni su azioni.

2) L'avvio passa attraverso il capitale iniziale e viene iniettato il secondo round di finanziamento VC. Le opzioni sono diluite a 1/2, 1/4 del valore iniziale della carta.

3) Questo viene ripetuto una volta, due volte, ...

Alla fine le pieghe di avvio e le opzioni degli sviluppatori sono totalmente inutili. In alternativa, sono così diluiti che il ritorno degli sviluppatori è minuscolo.

Penso che dovresti pagare ai tuoi sviluppatori uno stipendio decente in denaro reale. Se questo li motiva dipende dalla loro personalità. Ma almeno otterranno un buon ritorno per il loro lavoro ... non un flim-flam.

    
risposta data 26.10.2010 - 14:35
fonte
3

Conoscere ogni singolo sviluppatore individualmente, personalmente e sinceramente soddisfacendo le loro esigenze su queste dimensioni:

  1. Fornire una chiara direzione di responsabilità e aspettative (dirgli cosa è necessario)
  2. Fornisci l'accesso agli strumenti necessari per eseguire correttamente il lavoro (monitoraggi, sistemi energetici)
  3. Offri loro un modo per misurare le loro prestazioni (geek come i grafici)
  4. Dare ampie opportunità di sviluppare competenze professionali
  5. Dai loro un sacco di riconoscimento quando fanno un buon lavoro (a chi non piace l'elogio)
  6. Dai a loro lavori che saranno riusciti a (cosa sono bravi a fare individualmente)
  7. Offri loro un modo per esprimere le loro opinioni, idee e sentimenti (in modo sicuro)
  8. Dai modi per incoraggiare e promuovere amicizia (cultura del lavoro)
  9. Fornisci loro un motivo per creare prodotti di qualità (orgoglio per ciò che fanno)
  10. Dai una chiamata più alta sottolineando perché ciò che fanno è significativo con un'altra persona (sembra che ci sia quasi una dimensione "spirituale" da utilizzare)
risposta data 26.10.2010 - 17:18
fonte
3
  • Squadre secondarie (DB, livello intermedio, GUI)

  • Non hai bisogno di tester? Sostituisci alcune scimmie di codice

  • Non hai analisti? Sostituisci alcune scimmie di codice

  • Chi gestirà strumenti / controllo del codice sorgente / wiki / infrastruttura / ambienti? Sostituisci alcune scimmie di codice

  • Caffè gratuito, acqua gratis, frutta gratis

  • Birre del venerdì

risposta data 26.10.2010 - 20:35
fonte
2

Vuoi dire che stanno costruendo "la prossima grande cosa" e non sono già motivati?

Sbarazzati di loro e trova persone a cui piace quello che fanno.

    
risposta data 26.10.2010 - 17:26
fonte
1

Vuoi scoprire le personalità delle persone. Secondo le recenti teorie sulla leadership, è importante che tu sia autentico e condividi comportamenti e obiettivi comuni con i membri del tuo team. La leadership può anche essere vista come coaching dei membri del tuo team per raggiungere i loro obiettivi ( qui sarebbe una teoria)

    
risposta data 26.10.2010 - 15:00
fonte
1

Devi motivare gli sviluppatori a scrivere la prossima app killer?

Forse un buon punto di partenza sarebbe quello di far loro sapere che lo faranno, in modo che possano vedere la prospettiva a lungo termine su questo. Un tale obiettivo dovrebbe essere molto motivante da solo - SE è davvero un'app killer.

Quindi mostra loro in azione che lo intendi veramente!

    
risposta data 26.10.2010 - 17:23
fonte
1

in ordine o importanza:

  • visione condivisa
  • chiare aspettative
  • ambiente prevedibile (TDD, build notturni, chat di squadra quotidiane, check-in settimanali, qualsiasi cosa funzioni per la tua squadra e il tuo prodotto)
  • i migliori strumenti possibili
  • stipendio serio con lavoro straordinario
  • telelavoro
  • stock options
risposta data 23.11.2010 - 04:43
fonte
1

Steve McConnel ha una buona panoramica di questo nel suo libro Rapid Development , nonché un elenco di fonti (incluso il tanto lodato Peopleware ) per ulteriori letture.

È un po 'datato, ma comunque un sommario a tutto tondo e molto pertinente.

    
risposta data 25.02.2011 - 00:10
fonte
1
  • Paga le tariffe sopra il mercato
  • Fornisci loro requisiti chiari (filtra gli elementi non essenziali)
  • Sii appassionato dello sviluppo del software, persino fai un po 'di programmazione
  • Diventa enabler , non il "boss"
risposta data 25.02.2011 - 07:46
fonte
0

Assumi qualcuno più esperto di me da cui possa imparare, e riconosca sia il momento in cui seguo correttamente il loro esempio, sia i tempi in cui ho ragione e si sbagliano.

    
risposta data 24.02.2011 - 21:58
fonte
-1

Gli eventi di squadra potrebbero aiutare. Eventi come andare a un gioco di sport e così via potrebbero motivare parte del gruppo. Immagino che il saldo stia scoprendo un evento che includerà tutti.

    
risposta data 26.10.2010 - 20:16
fonte

Leggi altre domande sui tag