Come possiamo rendere le migliori pratiche di sviluppo del software più interessanti per le persone senza un background software?

8

Dove lavoro ci sono alcuni sviluppatori di software esperti con un background software, ma la maggior parte degli sviluppatori sono fisici o chimici con eccellente conoscenza del dominio ma esperienza limitata quando si tratta di sviluppare software di alta qualità e manutenibile. Per risolvere questo problema, abbiamo iniziato a tenere dialoghi e workshop regolari.

Quali argomenti pensi che dovremmo discutere per aiutare a rendere queste persone più efficaci sviluppatori di software?

In particolare, stiamo lottando per ottenere entusiasmo per questi discorsi poiché molti sviluppatori non considerano il software un argomento interessante. Come possiamo renderli più interessanti per le persone senza uno sfondo software?

Grazie

    
posta Andy Lowry 31.10.2010 - 19:19
fonte

5 risposte

4

Penso che sarà difficile, quindi preparatevi a una lotta - ma non impossibile. Alla fine della programmazione del giorno (in particolare la codifica non-hack'n'slash) non sarà per niente entusiasmante per tutti. Ciò è particolarmente vero per le persone che già lavorano in un'area che è intellettualmente stimolante e gratificante di per sé.

Innanzitutto rendi divertenti i discorsi e i workshop - cibo gratis (assicurati che sia buon cibo!) e prelibatezze simili sono un buon punto di partenza. Cerca di iniettare anche un po 'di umorismo e, almeno inizialmente, mantenerli abbastanza brevi e il più informali possibile.

In secondo luogo, assicurati che i discorsi e i workshop siano pertinenti. Cerca di non renderli troppo astratti (anche se i concetti trattati sono astratti) e se puoi assolutamente, assicurati che possano provare ciò che è stato coperto. Ancora meglio controllare cosa hanno fatto tra le sessioni e fornire un feedback positivo. Se non sono pertinenti e non applicano ciò che hai discusso, lo vedranno (correttamente) come una perdita di tempo.

Infine cerca di introdurre alcuni standard di programmazione di base, preferibilmente quelli che non sono troppo intrusivi nel modo in cui attualmente operano. Se sei nel mondo .net, Resharper è un buon inizio, poiché ti avviserà di cose come le convenzioni sui nomi. Puoi farlo ulteriormente con StyleCop (che può essere integrato in Resharper) - ma assicurati di personalizzare prima il set di regole. Se non sei in .net allora sono sicuro che strumenti simili esisterebbero altrove. Non è molto, ma è un inizio.

Non aspettarti risultati immediati (eccetto forse eventuali standard di codifica applicati automaticamente) - Ho sentito 6, 9 e 12 mesi banditi per il tempo necessario per introdurre le migliori pratiche.

L'ho solo sfogliato finora, ma sembra esserci un bel po 'di consigli utili per te nel prossimo libro Guida alle modifiche tecniche .

    
risposta data 31.10.2010 - 21:03
fonte
5

Se questi chimici e fisici non sono principalmente sviluppatori professionisti e non sono destinati a diventare tali, suggerirei di pensare in modo diverso al problema.

Gli sviluppatori "reali" dovrebbero fornire ambienti facili in cui possano svilupparsi. Dovresti fornire mentoring e dovresti fornire una peer review del loro codice con forti incentivi per rendere il codice abbastanza buono da passare in primo piano.

In altre parole, non trattarli come uguali, ma fornire tutto ciò che puoi per loro di eccellere su ciò che effettivamente fanno è la loro forza.

    
risposta data 31.10.2010 - 21:11
fonte
2

Lavoro con ingegneri di rete molto intelligenti che non sono sviluppatori e non vogliono esserlo. Posso capirlo perché non voglio essere un ingegnere di rete.

Ciò che abbiamo trovato che funziona bene è per l'ingegnere e io per fare la programmazione di gruppo. Siamo in siti separati, quindi entriamo in contatto con il telefono, apriamo una sessione di condivisione dello schermo in genere con il comando screen e interrompiamo il codice.

L'abbiamo fatto molte volte e ho ritenuto che funzionasse davvero bene. Capisco come fanno meglio la loro cosa, e l'ingegnere sta imparando come scrivere codice mantenibile e testato.

    
risposta data 01.11.2010 - 01:39
fonte
1

Che ruolo hanno in azienda? Se hai bisogno di sviluppatori, lasciali andare se non sono dei buoni sviluppatori e non sono interessati a diventare dei buoni sviluppatori. Se si suppone che siano fisici e chimici, puoi tenere seminari, ma non aspettarti che mantengano un alto livello di interesse. Se si suppone che siano entrambi, aumenta le aspettative e assicurati di pagarle abbastanza per giustificarle assumendo il ruolo di sviluppatore di software mantenendo al contempo competenze e competenze complesse sul dominio.

A meno che parte del ruolo definito di qualcuno non sia uno sviluppatore, probabilmente non saranno mai interessati allo sviluppo di software di alta qualità. Solo perché qualcuno sta creando script rapidi e hack non significa necessariamente che vogliono davvero diventare sviluppatori software, è solo un mezzo per raggiungere un fine, come un contabile che stia elaborando complesse formule di Excel. Se hai bisogno di software di alta qualità e manutenibile, gli sviluppatori di software dovrebbero crearlo.

    
risposta data 31.10.2010 - 21:11
fonte
1

mostra loro i vantaggi per loro . altrimenti, perché dovrebbero interessarsene?

    
risposta data 02.11.2010 - 02:45
fonte

Leggi altre domande sui tag