Come mantenere una squadra ben allenata? [chiuso]


11

Attualmente sto mentorando un piccolo team di 4 sviluppatori junior in una piccola società di software. Sono molto intelligenti e spesso svolgono i loro compiti con un lavoro di alta qualità, ma sono sicuro che possono ancora fare di meglio - in realtà ho esattamente la stessa sensazione per me :) -. Inoltre alcuni di loro sono più "junior" di altri.

Quindi vorrei trovare un modo divertente per migliorare le loro abilità CS (progettazione, codifica, test, algoritmico ...) oltre all'esperienza che acquisiscono nel loro lavoro quotidiano. Ad esempio, stavo pensando di organizzare sessioni settimanali, non più lunghe di 2 ore, dove potevamo riunirci per lavorare su esercizi CS impegnativi. Un po 'come un dojo di programmazione.

Sono sicuro che al team piacerà, ma è davvero una buona idea? Sarebbe efficiente in un contesto professionale? Passano già tutta la settimana a programmare, quindi come dovrei organizzarlo per ottenere dei benefici?

Qualsiasi feedback benvenuto!


3
SIG. NOLAN ~ Dead Poets Society: "All'età di questi ragazzi? Non sulla tua vita! Tradizione, John. Disciplina. Preparali al college e il resto si prenderà cura di se stesso." Non posso resistere: P +1 per una buona domanda.
Matthieu,

Risposte:


9

Ecco alcune idee

  • Club del libro, leggi libri come Pragmatic Programmer o altre cose incentrate sulla carriera.
  • Codifica Dojo, puoi iniziare con un semplice problema al di fuori del progetto e poi estenderlo al Progetto o altrimenti se puoi scegliere.
  • Retrospettive o incontro di feedback, per ottenere idee dal gruppo stesso per migliorare lo sviluppo del progetto a cui ognuno partecipa
  • Una riunione di un gruppo di utenti in cui una persona designata presenta questo migliorerebbe la presentazione / soft skills del team

  • di tanto in tanto svolgendo un compito non legato al lavoro come andare a Dave & Busters per divertirsi un venerdì o qualcosa del genere .. per migliorare la chimica della squadra

Qualsiasi attività o riunione dovrebbe essere inferiore a 45 minuti solo per avere l'intero gruppo interessato. Qualsiasi cosa che vada oltre l'ora cadrà completamente sulle spalle del presentatore o del leader del gruppo.


Secondo il club del libro. Non sarei nemmeno vicino a un buon sviluppatore se non leggessi i libri che ho sulla programmazione e lo sviluppo del software. I libri ti permettono di vedere come lo fanno gli esperti, così tu stesso puoi diventarlo.
Brian D.

1

Le persone potrebbero avere le proprie idee su come vogliono imparare. Personalmente preferirei seguire un corso o lavorare a un progetto nel mio tempo - e ho fatto entrambi. Se tutti i membri del team sono d'accordo con le sessioni di allenamento, seguitelo, purché le persone nel vostro team non inizieranno a trattarlo come "lavoro" nel tempo ...


Capisco che hanno bisogno di una "atmosfera" diversa per imparare, ma mi piace l'approccio collettivo di codifica dojo. Tutti possono trarre vantaggio dalle idee migliori e possono capire quale sia stato l'approccio per trovarle ...
PierrOz,

Abbastanza giusto, anche se se vuoi riunire tutti potresti voler coinvolgere maggiormente il gruppo. Ad esempio, porta le tue idee alla prima coppia di sessioni, ma poi una persona diversa porta l'esercizio ogni settimana successiva. Inoltre, considera di fare anche altre cose come rivedere uno snippet di codice settimanale, fare in modo che le persone presentino compiti su cui hanno lavorato (o aree tecniche su cui stanno imparando come WPF, TCP, ecc.) E così via ...
Justin Ethier

1

Penso che l'unico modo per mantenere una squadra ben addestrata sia assumere sviluppatori che vogliono continuare ad apprendere.

Se non proviene dall'interno, non produrrà risultati duraturi.

se desiderano imparare, se le attività di apprendimento di gruppo sono efficaci o meno dipenderà principalmente dagli interessi e dagli stili di apprendimento.


1

Penso che il sistema dojo sia fantastico e permetto loro di procedere a casa se lo desiderano. L'aggiunta di un qualche tipo di ricompensa potrebbe essere utile, ma potresti enfatizzare la competizione e non penso a nulla di buono per il lavoro di squadra. Ad ogni modo, un posto fantastico dove andare a cercare problemi informatici è il suo giudice online Sphere . Definisce un problema, un insieme di risultati previsti e consente di caricare un file con la soluzione al problema. Se hai capito bene, i punti salgono.

Buona fortuna!


1

Esistono diverse competenze di cui abbiamo bisogno come sviluppatori che non sono necessariamente direttamente correlate al codice. Un esempio è presentare e spiegare cose tecniche a persone non tecniche in un modo che possano capire. Qualcosa che può essere efficace mentre porti la tua squadra dove vuoi che sia dare qualcosa come i compiti.

Ogni settimana dai ai tuoi ragazzi un problema su cui lavorare. Per mantenerlo più vantaggioso per l'azienda, mantieni i problemi su qualcosa di rilevante per quello su cui stai lavorando. Preferibilmente qualche punto dolente che non hai ancora capito la soluzione. Ognuno dei membri junior si alternerà presentando (preferibilmente uno a settimana) mentre interpreti il ​​ruolo del cliente. In sostanza, hai due obiettivi con questo approccio:

  1. L'atto di insegnare / presentare richiede al ragazzo sul pavimento di avere una conoscenza più profonda del semplice fare esercizi. È un modo indiretto, ma molto efficace per insegnare a qualcuno un argomento.
  2. Se riescono a convincerti che è una buona idea, potrebbero essere in grado di convincere un cliente la stessa cosa. Assicurati di porre domande che li inducano a riflettere sull'impatto commerciale di ciò che stanno proponendo.

Ovviamente, inizia ogni sessione con un promemoria che stai per porre domande mirate - e lo scopo non è quello di essere cattivo, ma di prepararli per un cliente difficile.


1

Come manager o senior mi sforzerei di continuare a lanciare sfide nel lavoro "reale". Prova a dare alle persone cose su cui lavorare che siano un po 'fuori dalla loro portata o almeno le sfida. Invia uno dei loro colleghi per dare una mano e tutorare se necessario.

Dopo che qualcuno ha finito qualcosa, sfidali a provare un approccio nuovo / diverso.

Insegnali a capire le cose sul posto invece di aggirare cose che non sanno ancora fare.

Integrare l'apprendimento nel lavoro stesso, i progetti collaterali per l'apprendimento tendono a saltare con scadenze all'orizzonte.

A volte affermare direttamente la necessità di un determinato esperto può aiutare come motivatore.


1

Dagli 3 ore a settimana per ricercare / hackerare qualsiasi cosa siano interessate alla programmazione. Idealmente questo sarebbe di più, ma penso che 3 ore siano un buon inizio. Potrebbe essere tutto in un pezzo, potrebbe essere suddiviso in piccoli segmenti di 30 minuti lungo la strada. Sembra che questi programmatori siano abbastanza motivati ​​da riuscire a tenere sotto controllo le cose.

Ma consentire loro di esplorare i propri campi di interesse tornerà ad aiutare anche il team. Una persona a cui piacciono davvero i dati può esaminare e scrivere una piccola app usando una soluzione NoSQL che potrebbe aiutare un progetto che arriva pochi mesi dopo. Un'altra persona potrebbe correggere una piccola app di utilità per un'esigenza banale (come l'analisi dei file di registro) che diventa un'app di base nel tuo team. Anche le conoscenze acquisite dalla lettura di ciò che stanno facendo le grandi aziende possono aiutare a valutare le opzioni per il prossimo progetto che verrà fuori.

Siamo in un ambiente in continua evoluzione e ogni membro del tuo team è sicuro di portare qualcosa di unico al tavolo, quindi dai loro l'opportunità di espandersi alle proprie condizioni. Saranno riconoscenti che non sono stati costretti a qualcosa (anche se tutte le intenzioni sono buone) e otterrai una buona varietà di feedback.


0

Un'altra tecnica che ho visto che funziona è una presentazione del pranzo da uno sviluppatore / consulente senior una volta al mese circa. E non dimenticare di fornire il pranzo. La maggior parte degli sviluppatori che conosco grub free love Potresti chiedere loro se preferiscono argomenti specifici.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.