Quali sono alcuni buoni compiti per assegnare studenti / stagisti co-op? [chiuso]

5

La mia azienda sta studiando l'assunzione di uno studente in cooperativa di Computer Science dell'Università (BSc anno 3) per un periodo di lavoro di 4-8 mesi. (Non sono sicuro di come il termine co-op sia riconosciuto a livello internazionale - è essenzialmente uno stage retribuito, dopo di che lo studente ritorna agli studi.) Il mio team sviluppa un'applicazione web in ASP.NET e tiene palmari spessi su iOS, BlackBerry e Android.

Per ognuno di voi che ha portato stagisti in un team di sviluppo con esperienza, che tipo di compiti avete trovato per loro? Mi rendo conto che è una domanda difficile da porre poiché ogni risposta può essere abbastanza specifica per un'azienda individuale.

Mi aspetto quanto segue:

  • Attività che richiedono tutoraggio ma non babysitter
  • Attività che dureranno alcune settimane (in modo che il mentore possa rimanere produttivo)
  • Attività che ampliano la comprensione dello sviluppo software dello studente

Ho preso in considerazione aspetti come la copertura del codice in espansione nei nostri test unitari, o lo sviluppo di una funzione che è stata progettata, o il miglioramento / la scrittura della documentazione dei requisiti mancanti da funzionalità aggiunte senza documentazione di supporto.

Non ho mai fatto uno stage, quindi non so quale tipo di attività valga sia per lo studente che per l'azienda. Qualche raccomandazione?

Modifica: queste sono tutte risposte eccellenti e ponderate che mi hanno aiutato molto. Grazie mille a tutti. Posso scegliere solo una risposta, quindi vado d'accordo con la folla e accetto la più popolare.

    
posta Stefan Mohr 26.09.2011 - 19:57
fonte

7 risposte

9

I nostri studenti co-op lavoravano su strumenti interni che non erano fondamentali per l'applicazione principale da noi fornita, ma aiutati in aree come l'automazione delle build, rendendo facilmente un set di dati complesso facilmente visualizzabile in un'applicazione web, convertendo un Sito HTML ad un'applicazione dinamica (e facile da aggiornare !!). Penso che uno studente di co-op abbia scritto una volta un visualizzatore di log che ha semplificato la gestione dei log da una particolare applicazione con un output molto dettagliato. Penso che alcuni studenti di co-op siano stati assegnati al team di test, quindi immagino che stessero scrivendo ed eseguendo test.

Queste applicazioni erano ottime per le cooperative perché le basi di codice erano piccole e facili da ottenere. Poiché i progetti sono stati utilizzati solo internamente al nostro team, gli studenti non hanno dovuto sottoporsi a lunghi processi per ottenere l'approvazione per l'implementazione e l'implementazione. Hanno avuto modo di fare le proprie idee sul design (con la guida degli sviluppatori senior) e hanno imparato molto. Occasionalmente davamo loro dei difetti più semplici dalle applicazioni di produzione, ma solo se non c'era abbastanza spazio per gli strumenti interni per tenerli occupati.

    
risposta data 26.09.2011 - 20:02
fonte
4

Devo dire che dipende sia dalla cooperativa sia dal tempo che avranno con la compagnia.

Qui assumiamo cooperative nella mia azienda che vanno da 4 mesi a 18 mesi. Invitiamo spesso anche le nostre cooperative per un altro termine.

Vuoi trattare una cooperativa come un membro del team. Non fare grugniti su di loro se puoi aiutarlo. Non sarà un termine piacevole per loro e potrebbe sprecare le loro capacità.

Per iniziare, sono come qualsiasi altro nuovo dipendente, solo senza esperienza di lavoro extra. Cosa daresti a un nuovo noleggio la loro prima settimana? Supponiamo che finirà la co-op per due settimane, con qualche indicazione in più.

Se preformano bene su quell'attività, vedi se puoi dare loro qualcosa in più. Abbiamo trovato qui che se dai a una co-op un compito o un ticket che è loro, e li distingui dalla squadra mentre ci lavori, è spesso vantaggioso per la cooperativa e l'azienda. Otteniamo un lavoro reale e impariamo molto su come lavorare nel mondo reale.

Non lanciare un co-op al QA a meno che tu non li abbia assunti come QA. Niente è peggio per un co-op che entra in un'azienda pensando che si svilupperanno piuttosto che scoprire di essere solo un tester. A meno che tu non inserisca il post che è quello che faranno, non metterli su quello solo b / c è facile per te.

Delle tue idee direi che "sviluppare una funzionalità che è stata progettata" sarebbe la migliore per una cooperativa. Anche i casi di test potrebbero funzionare, a seconda della co-op.

Alla fine del termine, falli sentire come se potessero guardare qualcosa e dire che l'ho fatto, e ho imparato molto a farlo. No, ho passato 4 mesi a scrivere documentazione ... odiavo quel posto.

    
risposta data 26.09.2011 - 21:17
fonte
4

Progetti piccoli, completabili e modulari sono, per me, l'ideale. Qualcosa in cui possono vedere il loro progetto dall'inizio alla fine, ma ottenere l'esperienza di lavorare con qualcosa che farà parte di un progetto più ampio, piuttosto che un semplice esempio di giocattolo.

    
risposta data 26.09.2011 - 22:02
fonte
3

Test e controllo qualità.

Li immergerà nei requisiti software, nelle metodologie di sviluppo Agile, nella scrittura di casi di test, nel lavoro con gli sviluppatori, ecc ...

Però, per quanto riguarda la programmazione delle cose, a volte assegnerò una funzione semplice o poco importante e vedremo come si comportano. Il più delle volte sbagliano e poi provi ad insegnare loro cosa hanno fatto di sbagliato e come possono farlo meglio la prossima volta.

    
risposta data 26.09.2011 - 20:08
fonte
3

Sono uno studente attuale di Informatica, che attualmente sta svolgendo un periodo di lavoro di co-op di 4 mesi. Dopo questo termine inizierò il mio terzo anno di studio, quindi suppongo di essere un anno sotto il tuo pubblico di studenti target. Indipendentemente da ciò, mi piacerebbe comunque condividere un po 'della mia esperienza (e dei vecchi conoscenti).

Le aziende offrono ruoli diversi agli studenti con competenze diverse. La programmazione in generale ha un pool versatile di attività tra cui scegliere: per me, eseguo la manutenzione del server su un server interno di gestione file utilizzando VB.NET e C #, basandosi sui 7 anni precedenti di altri lavori co-op per studenti. Altri hanno ottenuto lavori di test (QA), insieme a descrizioni generiche dei programmatori. Come hai detto tu, dipende molto dal business, ma a seconda del livello di abilità dello studente, è molto comune coinvolgerli (noi) con lo sviluppo di applicazioni web. Sia che siano interni o per uso client è in gran parte irrilevante per l'interesse dello studente, dal momento che in entrambi i casi, otterranno l'esperienza che vogliono. Inizia con compiti facili tratti dalle esigenze della tua attività e assegna loro un lavoro più / meno / più difficile / più semplice basato sul rendimento. Questo ci rende preziosi per la tua azienda nel momento in cui siamo lì e, per quanto riguarda il rendere l'esperienza preziosa per gli studenti, è utile solo programmare fuori dalla scuola. Dateci il codice e saremo felici (purché non si tratti di Turing o qualcosa del genere).

    
risposta data 26.09.2011 - 21:44
fonte
2

Ho fatto uno stage durante i miei giorni universitari (per 14 mesi).

Sono stato praticamente trattato allo stesso modo di tutti gli altri membri dello staff a tempo pieno. Mi è stato assegnato un compito simile e ho fatto praticamente lo stesso lavoro di tutti gli altri.

Era esattamente come speravo che sarebbe stato quando ho scoperto che imparo il meglio quando mi lancio alla fine.

Se invece avessi avuto compiti umili o mi aspettassi di testare solo gli altri sviluppatori, non mi sarei divertito e non mi avrebbe lasciato una buona impressione.

    
risposta data 26.09.2011 - 21:27
fonte
2

Tratterei uno studente di co-op / stagista come qualsiasi altro impiegato junior. Per lo più sono probabilmente lì per acquisire esperienza lavorando in un ambiente di sviluppo software, e necessiteranno di mentorship su cose come 1) controllo del codice sorgente e struttura del codebase, 2) triage e gestione dei bug, 3) produzione del codice di produzione con attenzione alla qualità del codice e leggibilità. Queste sono cose che probabilmente non vengono coperte molto nei programmi di studio di CS / ingegneria (un sacco di matematica però!).

Sicuramente dare importanza a qualsiasi attività che richieda di conoscere i sistemi di segnalazione dei bug o il controllo del codice sorgente, dal momento che questi sono ottimi strumenti per far sì che uno studente co-op possa conoscerlo bene. Inoltre obbligheranno indirettamente gli studenti a migliorare le capacità tecniche di lettura / scrittura / comunicazione e ad essere più organizzati. La programmazione di manutenzione viene in mente come un altro compito che sarà vantaggioso ("Rifatta alcuni dei metodi di ChildClass per integrarsi meglio con la nuova interfaccia GUIObject").

Test e QA sono un'altra cosa che è utile per gli studenti co-op. I test sono un buon modo per far conoscere agli studenti in co-op l'applicazione e i processi generali del posto di lavoro, ma può creare l'impressione che il test sia "facile" e solo qualcosa che le persone che iniziano con "devono affrontare" .

Soprattutto, come menzionato da altre risposte qui, sii onesto con gli studenti in co-op: non assumerne uno con la promessa di essere un codice per lo sviluppo degli sviluppatori e attaccarli con una posizione di supporto o un gopher del caffè. Se non lo faresti con un nuovo noleggio regolare, non farlo con uno studente co-op.

    
risposta data 26.09.2011 - 22:12
fonte

Leggi altre domande sui tag