Skip to content

Konferanse i BerlinWe are developers

Profilbilde av Arne O. Ose

Forfatter

Arne O. Ose
18 minutter lesetid

Målet for turen var konferansen WeAreDevelopers World Congress, heretter referert til som WAD. Konferansen beskriver seg selv som flaggskipet innen utviklerkonferanser og kan ved hvert event skilte med flere store navn - i hvert fall store i den boblen vi befinner oss i. Dette måtte vi få med oss.

Totalt var vi 9 fra ITverket som reiste ned, og siden konferansen varte fra tirsdag til onsdag valgte 5 av oss å dra ned på forhånd og oppleve Berlin og områdene rundt. Under disse dagene var vi blant annet på vinfestival, buldret på Berlins beste klatresenter, og tok en tur til den vakre byen Potsdam. Vi prøvde også å komme inn på den sagnomsuste klubben Berghain, som er notorisk for å slippe inn folk basert på et intrikat, og i følge rykter, hemmelig system. Opplevelsen levde opp til ryktene, da ingen av oss kom inn.

Konferansen åpnet sterkt ettersom vi hadde hentet billettene dagen før og kunne kjenne en viss grad av schadenfreude når vi gikk forbi den flere hundre meter lange køen inn til konferanseområdet på Berlins CityCube. God start til tross, så klarte en av oss å stå 30 minutter i kø for kaffe, for så å finne ut av at det var gratis kaffe lett tilgjengelig. Så litt kø ble det likevel. Nok selvmedlidenhet, det viktigste med en konferanse er jo tross alt innholdet, og videre kommer noen av høydepunktene vi hadde.

How we will build the software of tomorrow - Thomas Dohmke, CEO GitHub

Etter en liten åpningsseremoni hvor vi blant annet det ble delt at FAQ kan uttales “Fack you”, noe som bedre beskriver en rekke FAQs som finnes der ute, var første keynote ut Thomas Dohmke, CEO for GitHub. Han skulle presentere for oss fremtiden for utvikling, og påstod blant annet “there will be more change in the next 5 years than the last 40”. En noe vågal påstand kanskje, men for å understreke poenget dro han inn den AI-drevne parprogrammereren GitHub Copilot, og skulle ha en demo av denne. I tro utviklerånd ble han rammet av demospøkelset og fikk ikke opp demoen, men etter litt IT-support gikk det til slutt. Det er vel både litt vondt og litt godt at demospøkelset rammer oss alle, vi må kanskje innse at det alltid vil være med oss? GitHub Copilot er unektelig imponerende til det de fleste av oss sikkert har sett før, generere relativt standard kode basert på en funksjonsbeskrivelse. Men vi fikk også se at den kan skrive kommentarer for oss og hjelpe oss med tester. Det ble også estimert at 40 % av kode som skrives sammen med CoPilot er skrevet av CoPilot. De forventer at dette tallet skal øke til 80 % i løpet av 4 år. Definitivt noe man kan spare en del timer på altså, og flere av oss kommer til å sjekke ut Copilot. Da det ble stilt litt kritiske spørsmål til sikkerheten av CoPilot ble vi bare servert et passe skuffende og passe tvetydig svar. Videre ble det påstått at all koding ville bevege seg over til skyen og dra fordeler av tilnærmet ubegrenset datakraft og enkelt oppsett av utviklermiljø. Noe som kanskje er mer en salgspitch av GitHub enn et realistisk scenario. For å dra poenget i mål avsluttet han med “the world needs happy developers”. Om GitHubs skyløsninger vil gi lykkeligere utviklere for tiden vise, men undertegnede finner fortsatt mye lykke i andre ting.

What’s Next, or, how we messed up the WWW, and how to fix it - Joel Spolsky

Vi sitter på hovedscenen og et foredrag er akkurat ferdig. Det er en varm dag i Berlin og de fleste bruker tiden mellom foredragene til å mingle eller trekke ut for litt frisk luft, men ikke nå - den neste foredragsholderen drar flere publikummere enn Githubs CEO Thomas Dohmke og vi blir sittende for å sikre oss plass. Neste mann ut er ingen mindre enn Joel Spolsky, en av Internetts første bloggere, skaper av både StackOverflow og Trello. Han er typen som liker å kode mer enn han liker ledelse, og nå forteller han oss om hvordan det var for han å ta opp igjen webutvikling med ReactJS og Google Sign-In.

Det mimres tilbake til en tid der nettsider måtte håndterte registrering av brukere og innlogging på egen hånd, all koden og all tid som gikk med på å gjøre nettopp dette. I dag slipper vi å skrive denne koden gang etter gang ved å bruke åpne standarder som OAuth 2.0 og OpenID Connect. Så hva blir den neste store abstraksjonen i WWW? Vel, skal vi tro Spolsky er svaret “blocks”! Blocks er enkelt forklart frontend-komponenter som kan plugges inn i en hvilken som helst webapp som implementerer den nye Block protokollen. Slack og Notion er gode eksempler på webapps med blokker, som dukker opp i en liste bare du skriver inn en /. Tenk bilder, kodesnutter, polls, tabeller eller lignende. Elementer som i dag implementeres om og om igjen. Men hva med WebComponents sier du? Ifølge nettsiden til Blocks protokollen er Blocks mer “plug and play”, uten konfigurasjon eller innsikt i hvordan komponentene fungerer internt. Hvis dette tar av, kan det skape et helt nytt marked for å utvikle nye og kreative idèer gjennom markedsplasser for blokker. Kanskje man en dag vil kunne kopiere og lime inn hele blokker med kanban-tavler og handlelister mellom ulike webapps? Kan dette være fortsettelsen på Joel Spolskys suksesshistorie?

A Million And One Random Digits - Douglas Crockford

Crockford er et av de friskere pustene i bransjen vår. Han har hatt en rik karriere hvor han blant annet har jobbet på Lucasfilm og Paramount Pictures, samt vært med å lage språket E og dataformatet JSON. Han er også kjent for å ha funnet bra ting med JavaScript, noe som omtales (trolig av ham selv) som den første viktige oppdagelsen i det 20. århundre. Han har utvilsomt en viss pondus og mange i bransjen respekterer både han og meningene hans høyt. I tillegg har han en form for fremtoning, som ikke alltid gjør det soleklart om han drar en spøk, eller om han er seriøs - noe som kan være ganske underholdende. I dette foredraget tok han oss gjennom historien til tilfeldige tall og deres kontraintuitive natur, med et fokus på dets bruk i programmeringsspråk. I 1955 kom første utgave av boken A Million Random Digits with 100,000 Normal Deviates, utgitt av det Crockford omtaler som den hemmelighetsfulle organisasjonen RAND. Dette var en viktig bok før vi enkelt kunne få tilfeldige tall fra datamaskiner. Crockford, som allerede har flere bestselgende bøker på CV-en, hadde bestemt seg for å skrive oppfølgeren, A Million And One Random Digits, som du kan kjøpe på Amazon. Produktiv som fyren er, hadde han også allerede skrevet oppfølgeren til sin egen bok, nemlig A Million Nines, også tilgjengelig på Amazon. Og, ja, du gjetter riktig, denne boken inneholder en milion 9-ere. Men ikke nok med det, om du snur boken opp ned så har du en bok med en million 6-ere, så her får man dobbelt opp for pengene sine, som Crockford var snar med å påpeke.

Wolfenstein 3D Postmortem - John Romero

Stack Overflow undersøkelser viser oss at den gjennomsnittlige utvikler er ca 30 år gammel, da burde det ikke komme som en overraskelse at John Romeros gjennomgang av hvordan de utviklet Wolfenstein 3D ble et svært populært foredrag. Sammen med blant annet John Carmack, som er hjernen bak den relativt revolusjonerende 3D teknologien de brukte, og et knippe andre personer utviklet de Wolfenstein 3D. Romeros rolle kan forstås som både utvikler og designer, og han tok oss kronologisk gjennom historien til hvordan de utviklet spillet. Det var utvilsomt spennende og interessant, men siden det er Carmack som har laget motoren, var talken egentlig relativt overfladisk og vi savnet litt mer rundt de teknologiske utfordringene. Det var interessant å lære om hvor hurtig de utviklet spill på denne tiden, ID Software som kun består av en håndfull ansatte, produserte eksempelvis 16 spill på et år! Det var likevel mye hardt arbeid, og lange kvelder med noe de brant for. De kjørte spillet ofte for å unngå bugs, og gjorde testingen selv i motsetning til hva et studio ville gjort idag. Alt i alt minnet prossesen mer på prosessen man kan se på dagens indie spill, og ikke dagens studioer.

Du har kanskje hørt om den noe negative stereotypen Rockstar Developer? Selv om Romero trolig ikke faller inn i denne kategorien var hans tilstedeværelse på konferansen lik en ekte rockestjerne. Da han gikk rundt konferanseområdet ble han stoppet av ivirge fans som ville ha et bilde sammen med han, og han hadde også med en rekke bøker og lignende hvor det ble en lang kø for å få det signert. I tillegg kunne man prøve seg på en live deathmatch mot han, noe som resulterte i en overfylt konferansesal.

It’s all about the domain, honey! Experiences from 15 years of Domain-Driven Design - Carola Lilienthal

I foredraget til Dr. Carola Lilienthal om Domene Drevet Design (DDD) delte hun fra hennes 15 års lange erfaring innenfor temaet og belyste de vanlige feilene som går igjen og igjen i prosjektene hun har jobbet på. Problemer som alt for store entiteter som blir brukt over hele applikasjonen, hvordan dele de opp i mindre og mer logisk oppbygde entiteter basert på business logikk, og hvordan dele opp kildekoden i det som kalles for «bounded contexts». Poenget med DDD er nemlig å bygge opp moduler som er basert på det underliggende domenet. Da forenkles kommunikasjonen mellom de som utvikler applikasjonen og domeneekspertene. Samtidig som modellen bygger opp grunnmuren for hvordan applikasjonen skal designes. For å komme frem til gode subdomener nevnes det flere teknikker som er kjent fra DDD som «Event storming» og «Domain storytelling». Dr. Carola Lilienthal snakker også om hvordan det er å rydde opp i legacy kode og fremgangsmåter for å gå fra en stor monolith til mikrotjenester ved hjelp av DDD. Målet er nemlig å oppnå høy kohesjon og lav grad av avhengighet. For å oppnå det må det lages små moduler som kan gjøre individuelle endringer og endringer som påvirker resten av systemet må gjøres asynkront. Til slutt kommer det spørsmål fra salen om duplisering av kode innenfor bounded contexts og valget mellom å lage en monolith eller microservice arkitektur for startopp bedrifter. Fra foredraget så sitter man igjen med følelsen av at det er godt å vite at det er andre som sitter og tenker over de samme problemstilligene. Det er spennende å lære fra de med mer erfaring og håpet om at man ikke gjentar de samme feilene om og om igjen!

Can CSS recreate Tufte’s designs? - Håkon Wium Lie

Nordmannen er sammen med Bert Bos kjent som faren til CSS, som de lagde sammen i 1994. En av de store inspirasjonskildene var Edward Tuftes bøker med en rekke illustrasjoner og spennende typografi og uttrykk. Nå, nesten 30 år senere ville Lie vise oss hvor langt teknologien har kommet, og hvor nærme vi kan komme Tuftes design. I korte trekk kommer vi oss veldig nærme. Vi fikk en bra gjennomgang av historien til CSS, hvor han også forklarte tanken bak oppsettet og navngivningen. Lie er forsåvidt også en forkjemper for at bokbransjen skal gå over til å bruke HTML og CSS.

Workshops

I motsetning til f.eks. JavaZone som har workshops før konferansen, var workshops i Berlin noe man meldte seg på på forhånd og deltok på samtidig som foredrag gikk. Med det tettpakkede programmet, ble det dermed en liten logistikk utfordring å få med seg alt man ville se. Samtlige av oss deltok på workshops og vi satte definitivt pris på variasjonen i forhold til passive foredrag.

Blant annet var flere av oss på Hands on BDD, altså oppførelsesdrevet utvikling. Her lærte vi at utviklerne kun står for definisjonsimplementasjonene, og vi skulle bruke verktøy som cucumber, mockito, samt lage definisjoner av user stories. Det var dessverre en del oppsett av repo som ikke gikk som planlagt, men heldigvis hadde de som holdt workshoppen lagt ut flere git brancher, hvor flere steg var representert, slik at man lett kunne hoppe videre til neste branch selv om man stod fast på den forrige. Et grep vi definitivt kan ta med oss neste gang vi holder workshop! Alt i alt en veldig nyttig workshop som viste tydelig skille mellom enhets-, og integrasjons-tester, og som viser nytten av BDD og hvorfor dette er et godt konsept å kunne når man jobber med kravspesifikasjoner som er definert av andre.

En veldig populær workshop var Building an APP in 30 minutes. Flere av oss prøvde å melde oss på, og noen av oss fikk plass. Dessverre respekterte ikke alle på konferansen om de hadde fått plass eller ikke, så her kom vi rett og slett ikke inn! Så et tips kan være å møte ca 10-15 minutter før workshoppen starter for å unngå dette.

Getting your ideas heard - How to pitch anything! Handlet om hvordan man skal pitche idéer man sitter inne med, som man ønsker å få gjennomslag for. Enten det er snakk om å benytte en ny teknologi på jobb, eller hva man skal ha til lunsj, så pitcher man, så dette er noe man kan få god bruk for på mange arenaer i livet. Vi begynte workshoppen med å skrive ned en idé vi satt inne med. Dette kunne være hva som helst. Denne workshoppen foregikk i fire forskjellige steg: Vi skulle skrive ned en pitch til idéen vi hadde selv, og prøve å legge det frem på en så god måte som mulig. Etter steg 1 ble vi introdusert til det de kalte de 3 I-ene: Inspiration, Impendment, Impact. Hver I ble så ett steg I prosessen som vi skulle fokusere på. Dette var en workshop, så de ønsket at vi som deltok i workshoppen skulle være så aktive som mulig. Etter hvert steg gikk de derfor rundt i rommet med en mikrofon for å gi folk muligheten til å pitche hva de hadde kommet med så langt. Her tok vår utsending mikrofonen 3 ganger som da innebar å pitche idéen han hadde forran 40-50 andre. Noe han synes var skummelt, men utrolig givende da han fikk innspill på hvordan han kunne forbedre idéen sin, og noen ville til og med backe han! Til slutt lærte vi hvordan vi kunne konkretisere ned pitchen til en one-liner for å fange interesse. Dette er et utrolig nyttig verktøy hvis du f.eks ønsker å introdusere en ny teknologi på arbeidsplassen.

Afterparty

Et lite høydepunkt på mange konferanser er festen etterpå - og her stilte WAD med sterke kort. Bare noen få dager før avreise slapp de info angående afterparty, og her viste det seg at selveste Tiësto skulle spille, som for mange regnes som verdens beste DJ. I tillegg var afterparty arrangert på Kraftwerk - et nedlagt kraftverk - så dette var i tro stereotypisk Berlin ånd altså. Litt plaster på såret etter skuffelsen på Berghain altså.

Det var uheldigvis en liten festbrems her. På en så stor konferanse som WAD er, så var det rett og slett bare plass til ca halvparten av deltakerne på Kraftwerk. Dette ble løst ved at vi måtte sette oss opp på en venteliste. Noe som i praksis var et førstemann-til-mølla system. Men som undersøkelser har vist, så blir langt fra alle e-poster lest, noe som gjorde at ikke alle fikk med seg påmeldingen. På festdagen så hadde bare noen få av oss fått plass, og vi bestemte oss for å splitte oss i to grupper, men så fikk plutselig resten av gjengen også plass, og vi kunne dra alle sammen. Og bra var det, da samtlige syntes det var en artig kveld. Noe man kan ta med seg til neste gang, er at man heller bør dele informasjon med hverandre en gang for mye, da det er vanskelig å få med seg alt av info i en hektisk hverdag.

Konklusjon

Grunnet uforutsette mutasjoner, så var dette første konferansen på mange år for alle, og for noen var det første gang på konferanse! Men en del av oss har vært på JavaZone før, så det blir naturlig å sammenligne litt med den. Er det verdt en tur ned til Berlin, eller er det like bra i Norge?

WAD er langt større en JavaZone, noe som gjør at de kan tiltrekke seg noen av de største navnene i bransjen. Men større betyr ikke nødvendigvis bedre, og keynotene holdt gjerne en lav teknisk grad for å favne et bredt publikum. Der hvor JavaZone er relativt spisset mot Java og open source teknologi favner WAD bredt, og innholdet bærer preg av dette. Dette trenger ikke være bare negativt da en konferanse ofte er en gyllen mulighet til å få et innblikk i en rekke ting man ikke har jobbet med før, for så å gå videre på egenhånd med temaene som falt i smak. Et sted hvor JavaZone stiller adskillig sterkere er bespisning, på WAD var det stort sett mat man måtte betale for (first world problem much?), og køene var ganske lange. Dermed endte noen av oss opp med å ta tog til byen for å fikse lunch.

Så om vi kan få minst samme teknisk nivå på foredragene på JavaZone et steinkast unna kontoret, er det fortsatt noen vits å dra? Det vil vi absolutt påstå. Pris er ingen faktor, siden WAD billettene er såpass mye billigere enn JavaZone så kommer prisen på omtrent det samme. Alle var enige om at det var verd en tur, når man reiser ned en stor gjeng så gir det rom for å bli bedre kjent med hverandre – mens man på JavaZone kanskje drar hjem etter det faglige. Berlin er også en ganske ideel konferanse by, med godt kollektivtilbud og svært mye forskjellig å gjøre.

Det kan vel også påstås at afterparty i Berlin av en litt annen kaliber enn her hjemme også.

Så da sees vi neste år på WAD?