L'avvento del programmatore sociale

Embed Size (px)

DESCRIPTION

Slides di una breve conferenza che ho tenuto a scuola. Ritengo che lo stereotipo del programmatore brutto, scontrorso e antisociale sia in declino, ma perché ciò si realizzi davvero occorre affinare nuove abilità, le abilità sociali. Sia Online che Offline Basato in parte sul lavoro seguente http://www.slideshare.net/mastorey/msr-2012-keynote-storey-slideshare

Citation preview

  • 1. Ilprogrammatoresociale Social network e Ingegneria del software prof.MarcelloMissiroli Aprile 2014, ITIS Corni

2. Ilprogrammatore,oggi In linea di massima, non che il programmatore abbia una grande considerazione sociale Nel pensiero comune, un programmatore solitamente un concetto fortemente stereotipato.. 3. Comequesto... 4. oquesto! 5. Perfortuna... Questo sta cambiando, per fortuna. Per tanti motivi.. 6. Come,peresempio,... I progetti software raggiungono una dimensione tale per cui IMPOSSIBILE sviluppare senza comunicare L'arrivo di Internet ci permette di comunicare e gestire le informazioni con grande facilit senza limiti di tempo e di spazio I Social media ci permettono di interagire in modo semplice e gradevole 7. Tuttoquestoporta al... Programmatore sociale! 8. Cosaserve? Strumenti adeguati Metodologie moderne Sviluppare abilit non tecnologiche (e, ovviamente, essere bravi a programmare) 9. Oltreleattividisviluppoe manutenzione 10. appaionoecosystemisoftware ecommunitspecializzate 11. "Noi costruiamo i nostri strumenti, e dopo gli strumenti forgiano noi", Leggi dei Media di Marshall McLuhan "Noi costruiamo i nostri strumenti, e dopo gli strumenti forgiano noi", Leggi dei Media di Marshall McLuhan http://www.youtube.com/watch?v=A7GvQdDQv8g 12. Quali sono le tecniche etecniche e strumentistrumenti che portano il maggiore cambiamento? Quali sono le tecniche etecniche e strumentistrumenti che portano il maggiore cambiamento? 13. Nuove tecniche dello sviluppo Social Media Pair programming Controllo Versione Inglese Metodi agili Abilit Sociali Tool Avanzati 14. Tool Integrated development environments: Text editor: Tool Avanzati 15. Pairprogramming Pair programming Programmare in coppia produce codice molto pi corretto. Anche se non sembra, si produce pi codice e quindi conviene anche economicamente 16. Controlloversione Controllo Versione Permettono di programmare in remoto, in parallelo, resistendo agli errori 17. Abilitsociali Dovrete PARLARE e confrontarvi con la gente Essere gentili, gradevoli e non testardi vi permetter di lavorare meglio Saper comunicare (verbalmente e per iscritto) sar il vostro punto forte Abilit Sociali 18. Inglese L'inglese la lingua di Internet. E della globalizzazione. Specie nell'informatica e nell'ambito scientifico. Non potete ignorarlo. Punto. Inglese 19. Metodiagili Rivoluzionano il modo di costuire il software, rovesciando il modo tradizionale e proponendo tecniche innovative Metodi agili 20. Architettura della participazione Tim OReilly Architettura della participazione Tim OReilly Social Media 21. Qual' il ruolo dei mediaruolo dei media nello sviluppo del software? Qual' il ruolo dei mediaruolo dei media nello sviluppo del software? 22. I social media nello sviluppo del software Wiki, social network... Tagging Microblogging Siti di domande e risposte Social Coding Blogging Commenti al sorgente 23. Commenti al sorgente 24. Tagging Categorizazione (problematiche comune) Organizzazione Modo di lavoro del team Tagging 25. Microblogging I programmatori twittano spesso fatti e considerazioni sulla programmazione. Integrati negli IDE? MicroBlogging 26. Blogging Determining requirements through blogs [Park and Maurer, CHASE 2009] How developers blog: high-level concept discussion and requirements [Pagano and Maalej, MSR 2011] Blogs play a role in documenting APIs [Treude and Parnin, Web2SE 2011] Blogging 27. Siti di domande e risposte Pi del 92% delle domande di Stackoverflow ottengono una risposta, con un tempo medio di risposta di 11 minuti 28. SocialCoding Permette trasparenza Costruisce una reputazione Gestione dei profili Autopromozione Social Coding 29. Wikietc...Wikietc... Wikis utili per documentare, brainstorming, organizzare il lavoro! Crowdsourcing della codifica (TopCoder) e del test (Approccio al test A/B di Google) Utente finale icoinvolto nel progetto Portali delle comunit software Wiki, social network... 30. Comesifa? Non si pu imparare tutto in una volta, naturalmente...nessuno nasce imparato. Oltre ad affinare le vostre abilit sul linguaggio, dovete affinare anche il resto. Per partire, scegliete una tecnica e uno strumento social e provate a usarlo per un mese. 31. Grazieperl'attenzione! Gran parte di queste dispense (soprattutto la parte grafica) derivano da questo lavoro di M.S. Storey: http://www.slideshare.net/mastore y/msr-2012-keynote-storey- slideshare Per tutto il resto, vale la licenza CC- BY-SA 3.0