It-tendenser, Open Source, Software, Systemudvikling og systemer

Konference: Udviklere skal have mulighed for at udvikle

GOTO i København og Øredev i Malmø var rig på metoder og teknologier til at gøre livet nemmere for udviklere, og udviklerne bør selv tage initiativ til at sælge dem ind i deres virksomhed.

Hvis man skal tage efterårets to store udviklerkonferencer, GOTO i København og Øredev i Malmø, som pejlemærker, så vil stadig flere udviklere komme til at arbejde inden for rammerne af Continuous Integration, Delivery, Deployment, osv. Og med alle disse varianter af løbende udvikling kommer en stadig højere grad af automatisering – ikke mindst af tests, både af selve koden og af scenarier. 

Både GOTO og Øredev gør meget ud af at være deciderede udviklerkonferencer. Det lever begge op til ved i programlægningen at have en skarp fokus på de processer og teknologier, der kan gøre det muligt for den enkelte udvikler at gøre det, han eller hun allerhelst vil – at skrive noget rigtig god kode, der resulterer i løsninger, som brugerne bliver glade for, og som tilfører virksomhederne værdi.

Tankegangen er, at jo flere udenomstekniske og administrative sten, der kan ryddes af vejen, jo gladere bliver udvikleren, og jo bedre løsninger kan blive udviklet – og det mere effektivt. Hele Continuous Integration- og Continuous Delivery-bølgen handler i høj grad om det. Men disse ændringer kommer ikke af sig selv og kun sjældent ovenfra, lød det i mange oplæg på de to konferencer. Så udviklerne har selv et stort ansvar for at være "change agents", der internt i virksomheden tager opgaven på sig med at demonstrere værdien af de nye metoder og teknologier – både over for kolleger i udviklingsafdelingen og over for ledelsen.

Move fast and break things – eller ej

Spændingsfeltet mellem den umiddelbare "move fast and break things"-tilgang og den mere styrede udviklingsproces var et tema, der i den grad var oppe at vende på GOTO. I en meget personlig og engageret key note leverede Erik Meijer, ophavsmand til Reactive Extensions (Rx) og stifter af startup-virksomheden Applied Duality, hvad der må være topkandidat til årets mest bidende omgang Scrum bashing. Scrum, som burde sikre agil udvikling, var efter hans mening sandet fuldstændig til i formalisme, hvor man brugte mere tid på at tale om kode end at skabe kode. Gå i gang, og hvis der er noget, der ikke virker, så lav det om, var hovedpointen.

Heroverfor stod Brian Goetz, Java Language Architect hos Oracle og en gammel kending på GOTO, med sit oplæg "Move Deliberately and Don't Break Anything". "Move fast and break things" kan måske være en fin tilgang for en startup-virksomhed, men har man sin software ude på over en milliard enheder, er det måske ikke så smart og kræver en mere forsigtig tilgang.

Inspiration og begejstring

Konferencer handler også meget om at inspirere og booste begejstringen over at skabe noget nyt og  specielt. Og det gør GOTO og Øredev gerne ved at give plads til folk fra domæner, der måske kun har en perifer forbindelse til softwareudvikling. NASA-ingeniør Anita Guptas fortælling på GOTO om projektet med at lande Curiosity-roveren på Mars og Jonas Ernhill og Leopold Nilssons fortælling på Øredev om 80'er-kitsch-filmen og crowdfunding-succesen Kung Fury var vellykkede eksempler på det. 

Microservices fylder meget

Microservices fyldte meget på de to konferencer, og security er nærmest ved at blive et populært emne. Sam Newman, udvikler og forfatter til bogen "Building Microservices", kombinerede de to emner, da han på Øredev netop talte om de sikkerhedsrisici, der kommer af at have kommunikation mellem et stort antal services og den dertilhørende omfangsrige tool stack. Et godt eksempel på, hvordan nye trends og teknologier lever et liv i flere faser på konferencerne – fra den første store buzzword-drevne begejstring til den mere nuancerede fortælling, efter at teknologien har været en tur rundt i virkeligheden.

På GOTO kastede Jay Fields, forfatter til "Working Effectively with Unit Tests", på tilsvarende måde et kritisk blik på den måde, unit testing bliver implementeret mange steder. Det er fint at få returneret en fejl, men hvis afdækningen af årsagen til fejlen bliver for tidskrævende, giver det ikke mere værdi.

Docker et varmt emne

På platformsfronten er containerization et varmt emne i form af Docker, der er en Linux-baseret open source container-løsning, som leverer et abstraktionsniveau til at isolere og pakke alle ressourcer og afhængigheder i en applikation ned i en virtuel container. Dermed bliver det meget nemmere at deploye og vedligeholde applikationen på forskellige platforme – og er faktisk også en meget hurtig metode til at give nye udviklere i teamet det rigtige udviklingsmiljø, så de kan komme i gang med det, der er deres kerneopgave.

Som i tilfældet microservices kan en konference også medvirke til at nuancere billedet. I sit oplæg "DevOps in large companies – is it possible?" på Øredev gav Henry Stapp mange gode eksempler på, hvorfor microservices, PaaS og Docker er glimrende teknologier, som på mange områder eliminerer kompleksitet, men som også potentielt skaber kompleksitet andre steder. I tilfældet Docker nævnte han risikoen for at skabe et Docker sprawl i lighed med med VM sprawl. Fordi det er så nemt lige at lave endnu en container til et godt formål, eksploderer antallet af dem og dermed muligheden for at bevare overblikket og styringen af dem.