Jag har varit på NDC i Oslo i veckan. Jag ska försöka lägga ut lite anteckningar från de olika sessionerna jag besökte, men här kommer en sammanfattning.
Efter två dagars workshop med Angular JS var det så dags för konferensen att starta på riktigt. Jag hade höga förväntningar och de flesta infriades: Bra program, bra mat, härliga lokaler, teknik som fungerar, uruselt WiFi. Det var bara att bocka av. Jag hade kanske lite högre förväntningar på utställarna och mässdelen , men plus för de som lockade med Oculus Rift[stavning), flipperspel (Itera), och 3d-skrivare.
Mat och dryck kan man inte klaga på. Konceptet är bra. Som utställare kan man sponsra en restaurang och få sin logga uppsatt på väggen bakom serveringen. Knowit hade sushi och där fanns meze, thaimat, skräpmat, italienskt och en afrikansk bespisning.
Kaffeälskare fick sina behov väl tillgodosedda. Baristor, batterier av Nespressomaskiner och ett nördkafé (Bekk) gav det hela en lyxig touch. Köerna till espressobaren ringlade osannolikt långa, men till nördkaffekaféet var det bara att gå fram. Det är tur att det norska kaffet är lite svagare.
Konferesen fungerar som så att man går till någon av de nio parallella sessionerna som tar en timme. Sedan 20 minuters paus och därpå ny session. Sådär håller det på till tidiga kvällen med en timmes lunchpaus. I pauserna minglar man och förser sig från montrar och serveringar. Sedan är det bara att hoppa in i en ny session.
Lokalerna var inte knutna till några specifika spår, men där fanns ett antal (otal?) teman. .Net-utveckling i olika former finns naturligtvis hur mycket som helst. Funktionell programmering var ett tydligt och trendigt spår. Här fanns hela skalan från Erlang till F# och funktionell utveckling i C#.
De teman som behandlade Internet of things och C++ deltog jag aldrig i. Säkerhet prioriterade jag också bort.
Jag försökte heller att inte gå på så många föredrag om nyheterna i .NET. Även om det är stora saker som händer där så är det ganska lätt att nå på andra sätt. Bättre då att gå på något som Liam Westleys Async C# 5.0 - Patterns for Real World Use som behandlar något som inte är purfärskt och därför blir så mycket bättre nu när det tappat lite av nyhetens behag och fått sjunka in. Stort plus för de föreläsare som anstränger sig för att hitta egna exempel och inte bara tar standardexemplet.
Bäst blir det när det är utvecklare som är öppna för de sociala och psykologiska delarna av utveckling som håller föredrag. Denise Jacobs föredrag Get rid of your inner critic är säkert rätt grundläggande för en beteendevetare, men satt i utvecklarkontexten blir det hon tar upp så konkret. Hon beskriver varningstecknen och ger bra tips och verktyg för att motarbeta dåliga beteenden hos sig själv.
Konkreta fallstudier är en viktig del av sessionerna. Jag tycker de har varit lite få på NDC. Anders Abels Strangling the Legacy out of an application tycker jag var ett lysande exempel på en väl presenterad sådan om hur man skriver om gamla system. Dessutom kom det hela med ett lite oväntat slut där det till sist visade sig att kunden ville ha systemet utbytt vilket bara visar på vilken värld det är många lever i.
Titeln på föredraget är viktig. Ibland blir det nästa som kvällstidningarnas klickbetestitlar. Kevlin Henneys Seven Ineffective Coding Habits of Many Programmers var ett klockrent exempel på det. Dessutom höll föredraget måttet.
Det fanns många som talade om och romantiserade om The Zone (när utvecklaren har Flow och är som mest produktiv). Många föreläsare visade grafen om hur produktiv en utvecklare är under en dag full av avbrott som om den var sann. Och till viss del är den det, en jag tror mer på frustrationen över avbrott och tiden det tar att komma tillbaka beror på brister i processen. Mark Seemanns presentation Zone out check in , move on tog upp mycket av det här och kom med många goda råd om hur man strukturerar upp sitt arbete för att snabbt komma tillbaka till Zonen efter ett avbrott.
Historielektioner är det heller inte ont om. Joe Armstrong, en av grundarna till Erlang, och Robert C., "Uncle Bob", Martin kryddar båda sina föredrag med stora mängder datorhistoria, fysik och matematik. De sätter därmed det vi gör i ett större sammanhang och skänker perspektiv. Båda var otroligt underhållande och känns mycket mer som gamla skollärare som vill sina elevers bästa än föredragshållare.
Joe Armstrong talade på sitt föredrag The mess we're in om hur han tror att många av de större strukturella problemen såsom Legacy Code beror på att vi använder för många olika teknologier för att göra samma sak. Joe Armstrong och panelen som .NET Rocks arrangerade på fredagen berörde också inlåsningen i de olika teknologierna som del i samma problem. Det finns ett kommersiellt element i programspråksutvecklingen som är lite problematisk. Ser jag till mig själv så märker jag hur jag dras allt mer ner i .NET-lägret i takt med att teknikerna och språken utvecklas. Tittar jag på funktionell programmering så blir det väldigt tydligt: Tröskeln att öppna Visual Studio, klicka File New Project… och börja med F# är betydligt lägre än med något av de andra alternativen. Och sådär håller det på: RavenDB ligger närmare till hands än CouchDB, LESS är ingen utmaning i ASP.NET MVC.
Så där fortsatte det i tre dagar. En fantastisk konferens.