tirsdag 16. mars 2010 QCon
QCon London 2010 er vel gjennomført. Her følger en (faglig) oppsummering av hva vi fikk oppleve.
Konferansen ble innledet med en keynote levert av alltid inspirerende Robert C. Martin. Deretter valgte jeg å følge Software Craftsmanship-tracket, ledet av Kevlin Henney. Det gjennomgående temaet på foredragene var hvorfor utviklere må fokusere på kontinuerlig læring, hva vi bør lære, og ikke minst hvordan vi lærer på en best mulig måte.
Dan North ledet ann med en av konferansens aller beste sesjoner. Deretter fortalte Jason Gorman om en spennende strategi for å sertifisere en gruppe utviklere i smidige teknikker, samtidig som de faktisk utvikler sine ferdigheter. Denne modellen tror jeg vi vil forsøke i teamet i PSWinCom. Etter lunch fortsatte Pete Goodliffe å snakke om læring, før David Harvey forsøkte å peke på noen farer med Software Craftsmanship-bevegelsen. Argumentene var svake, og selv om han stimulerte til et par, nye tanker, så var dette dagens nedtur. Alt ble derimot bra igjen da Corey Haines – omreisende utvikler – entret scenen og fortalte om Craftmanship-bevegelsen fra sitt ståsted.
Dagens høydepunkt: Avslutnings-keynote'n hvor legendariske Dan Ingalls lekte seg med Fortran, Smalltalk/Squeak og Lively Kernel. Den fyren fikk til ting på 70-tallet som jeg ikke har den fjerneste anelse om hvordan jeg skulle ha gjort i dag.
Stikkord: Dreyfus Model | Pomodoro | Six Thinking Hats
Sentrale slides: Sharpening the Tools | The Craftsman Learns (or Learning the Craft)
Ralph "Gang of Four" Johnson ledet an dagen med en keynote om å leve med software som blir eldre. Deretter skulle jeg gå på en leksjon kalt The Counterintuitive Web. Jeg fant det derimot ganske intuitivt, kjedet meg, og forlot salen. Jeg gikk i stedet inn i et tilfeldig annet rom, hvor det viste seg at Jim O. Coplien kodet Ruby og snakket om noe han kalte DCI-arkitektur. Dette var veldig interessant – noe jeg skal titte mer på.
Dagen fortsatte med Patterns for the People av Kevlin Henney, Simplicity med Dan North – et meget underholdende foredrag – og Roy Osherove som snakket om hvordan man skaper gode utviklingsteam og hvordan man er en god teamleder. Til slutt gikk jeg på en sesjon med Amanda Laucher og Josh Graham, som presenterte 12 ting .Net-utviklere bør lære seg i år: F#, M, Boo, nUnit, RhinoMocks, NHibernate, Windsor, NVelocity, Guerilla SOA, Azure og MEF. Det var ikke mye nytt her for meg, men både Oren Eini, Roy Osherove og Jon Skeet var i salen, og det gjorde at det ble noen interessante diskusjoner, så det var en grei måte å avslutte dagens leksjoner.
Dagens høydepunkt: NNUG Bergen's sosiale event (i sammabeid med AltNetBeers, og sponset av ThoughtWorks). Her hadde jeg mange, spennende samtaler, og fikk bl.a. preiket litt med Corey Haynes.
Dagens manifest: "We are learning better ways of doing software development by seeing how others have already done it." – Patterns Manifest, Kevlin Henney.
Stikkord: The DCI Architecture | Bath Duck | Chunking up / 5 Whys
Sentrale slides: Patterns for the People | Simplicity – The Way of the Unusual Architect | Beautiful teams and leaders | The State of The Art .NET
Siste dagen dedikerte jeg i stor grad til concurrency og parallelism (parallelisering er samtidighet + høy hastighet/ytelse). Og den første sesjonen, hvor Erlang's far Joe Armstrong fortalte om meldinger som en strategi for samtidighet, var en ren åpenbaring. Jeg har snust litt på erlang tidligere, men da Joe forklarte filosofien bak språket kunne jeg nærmest kjenne hvordan hjernen begynte å vokse og danne nye koblinger – jeg så sammenhenger jeg ikke har sett før, og kom ut av forelesningen med en ny og bedre forståelse av verden! Jeg gikk rett bort til O'Reilly's stand og kjøpte Programming Erlang – Software for a Concurrent World. Dette vil det garantert komme flere blogposter om..
Neste forelesning var Test-Driven Development of Asynchronous Systems, som var veldig aktuell for oss i PSWinCom. Deretter fikk jeg med meg Multicore Programming in Haskell (ikke så veldig interessant), etterfulgt av A Pattern Language for Parallel Programming med Ralph Johnson. Siste foredrag – Death by Accidental Complexity med Ulf Wiger – hadde et viktig budskap, men gjennomføringen var ikke så bra, så det ble en liten nedtur. Alt i alt var jeg derimot veldig fornøyd med dagen.
Dagens høydepunkt: Joe Armstrong forfekter at sekvensiell, tilstandsbasert (objektorientert) programmering er MYE VANSKELIGERE enn concurrent, funksjonsbasert programmering.
Ett av dagens mange gode sitat: "Shared memory is for the people who can't rememeber the lessons from the past." - Ralph Johnson
Sentrale slides: Message Passing Concurrency in Erlang | A Pattern Language for Parallel Programming