I år som i fjor vil kode24 oppsummere kodeåret som har gått, og spå litt om kodeåret vi går inn i.
I spalta Kodeåret ber vi derfor viktige, norske utviklingsmiljøer oppsummere hvordan koden deres har utvikla seg i 2019, og hva de forventer av 2020.
Først ut er Bouvet, med sine 700 utviklere over hele landet. Med såpass mange kodere kommer svarene deres etter en aldri så liten undersøkelse hos kolleger i Sandvika, Sandefjord, Arendal, Kristiansand, Oslo, Skien, Haugesund, Trondheim, Stavanger, Bergen, Ørebro, og Stockholm.
De som har sammenfatta dette, så godt det lar seg gjøre, er Bouvets CTO Simen Sommerfeldt, avdelingsleder for Microsoft/Azure Magnus Green i Bouvet Øst, og teknologiansvarlig Kjell Wilhelmsen i Bouvet Rogaland.
Bouvet-gjengen forteller blant annet om utfasing av tradisjonell .NET og økt fokus på mikrotjenester og API-er gjennom 2019, og hvordan utviklere trolig må ta mer ansvar i året som kommer.
Hvilke teknologier begynte dere å bruke i 2019? ✨
Vi får flere oppdrag innen Mixed Reality (AR/VR). Det fine med det er at vi lærer oss enda mer om spennende ting som Unity. Gjennom dette får vi også designe og programmere for nye grensesnitt som briller, glassflater og så videre. Dette markedet blir enda mer spennende neste år når Microsoft Hololens 2 endelig kommer til Norge.
DevOps er også på videre fremmarsj, med varianter for Azure, Google og AWS. Fokuset her er mer automatisering og bruk av kontinuerlig integrasjon.
«Markedet blir enda mer spennende neste år, når Microsoft Hololens 2 endelig kommer til Norge.»
Drift og forvaltning av skytjenester er kanskje et av årets mest spennende områder. Her blir det blant annet veldig viktig å beherske infrastructure as code, hvor vi kan redusere både kostnad, usikkerhet og «time to market» for nye miljøer.
Innenfor Microsoft beveger vi oss i retning .NET Core, fordi det har mindre footprint og mindre bloat, i tillegg til at det er kryssplattform. Vi ser at .Net Core har blitt hovedfokuset til Microsoft, og vil være den teknologien som får de mest spennende oppdateringene først. Bruken av .Net Core har ført til at Linux har fått et oppsving som operativsystem for en del applikasjoner.
I år har vi også begynt å snuse på WebAssembly. På Klientsiden er React dominerende. Vi ser i tillegg at Blazor og Typescript seiler opp. Andre, «nye» teknologier som blant annet Flutter blir også i større grad tatt i bruk i prosjekter.
En spennende utvikling er at Container-teknologi, hovedsakelig Docker, blir mer og mer utbredt. Kubernetes blir ofte brukt som «runtime-miljø» for containerne, men containere hostes også direkte i webapps i Azure og liknende miljø på serversiden.
Enkelt forklart: Hva er egentlig WebAssembly?
Videre ser vi at begrepet “microservices” fremdeles er veldig aktuelt. Definisjonen av microservice varierer ofte fra prosjekt til prosjekt, men konseptet om mindre frittstående tjenester som leverer spesifikk funksjonalitet har vist seg å være levedyktig. Vi ser at det passer godt sammen med etablerte designkonsept, og vi har hatt stor nytte av å tenke domenedrevet når vi designer microservices.
API-tankegang, fristilling av data og funksjonalitet fra brukergrensesnitt har også fått veldig stort fokus i 2019. Kunder vil vekk fra en «silobasert» tankegang, og ønsker å åpne opp nye muligheter i sine systemer. Standardiserte API som benytter HTTPS- og REST-teknologi har blitt veldig viktig. API Management, verktøy og teknologi for å håndtere, versjonskontrollere og styre API-er, er også teknologi som er på vei inn. Azure API Management er et godt eksempel på bruk av denne teknologien.
En annen veldig spennende utvikling i 2019 har vært rundt konseptet dataplattform/datasjø. Flere kunder ønsker å «frigjøre dataene» sine, hente data ut fra eksisterende forretningssystemer og gjøre de tilgjengelig for å bygge nye tjenester og støtte andre formål som analyse, rapporteringer og visualisering.
«Vi ser at No-code/low-code-løsninger har blitt mer utbredt, og er noe vi har stor tro på.»
Vi ser i tillegg at "No-code/low-code-løsninger" har blitt mer utbredt, og er noe vi har stor tro på (for de riktige prosjektene). Microsoft sin nye Power-plattform, som er et samlebegrep for verktøy som Power Apps, Power BI og Power Automate (tidligere Microsoft Flow), vil gi utviklere og forretningsanalytikere mulighet til å bygge både proof of concepts og ferdige løsninger på kort tid.
Hvilke teknologier slutta dere å bruke i 2019? 💩
Det er få teknologier vi har sluttet helt med, men vi ser blant annet at klassisk .NET (.NET Framework) er på retur og blir erstattet av .NET Core.
Det lages mindre rene Windows-klienter – web-applikasjoner har tatt over store deler av det segmentet.
En annen utvikling vi ser er at Java 8 er på vei ut, og det er mindre forespørsel etter Oracle, Apex og «eldre» Javascript-rammeverk som JQuery. SOA med XML er ikke akkurat «hot shit» lenger.
- Backend-utviklere i Norge tvinges til Java og C#
Hvilke teknologier antar dere å begynne å bruke i 2020? 🔮
Vi antar selvfølgelig at det vil være en økt bruk av skytjenester fra Google/AWS/Microsoft. Microsoft har blant annet nettopp åpnet Azure-datasentre i Norge, noe vi tror vil påvirke denne trenden.
Python er på fremmarsj, fordi vi jobber mye med data science, og vi ser at det er en trend mot headless på CMS-fronten.
Med det økte fokuset på skytjenester ser vi også at det i større grad blir tatt i bruk i nye teknologier for datalagring. Tradisjonelle relasjonsdatabaser, nå ofte levert som en «managed service» i et skymiljø, blir ofte komplementert med dokumentdatabaser som Azure Cosmos DB (som egentlig er mye mer enn en ren dokumentdatabase), graph-databaser som dGraph og (igjen) Cosmos DB.
«Kundene er orientert mot dataplattformer, og her tror vi det kan være noen som kan gå i en felle.»
Visualisering av data, gjerne i forbindelse med datasjø/dataplattform-konsepter er på alles lepper, så det er en selvfølge at dette blir viktig også neste år. PowerBI er det mest brukte verktøyet både for ren visualisering av data, men også for enklere kontortjenester og som akselerator i maskinlæringsprosjekter. Andre visualiseringsverktøy, som blant annet Grafana, har blitt viktige for oss i 2019 og vil nok bare bli enda viktigere i 2020.
Kundene er orientert mot dataplattformer, og her tror vi det kan være noen som kan gå i en felle ved å gjøre ting litt for fort, uten å gjøre nødvendig forarbeid. Å hente ut gevinsten fra disse dataplattformprosjektene tror vi kan bli viktig i årene som kommer.
Serverless computing er også noe vi tror vi kommer til å ta i bruk i enda større grad, og vi gleder oss til å få mer erfaring med det.
I tillegg vil infrastruktur i skyen, med sikkerhet som premiss, bli viktigere og viktigere. Fokuset på sikkerhet kommer til å øke også de kommende årene.
Ellers jobber vi selvfølgelig mye med VR/AR, Hololens 2 og dermed også Unity.
Å jobbe som HoloLens-utvikler
Nicolas og Eirik i Bouvet forteller om hvordan de koder for brillene til Microsoft.
Om dere bare skulle lært dere én ny teknologi for å bli klare for 2020, hvilken ville det vært? 💡
For et firma som Bouvet, som har stor spredning både geografisk og innen teknologi, er det vanskelig å finne bare én ny teknologi som vi gjerne skulle lært oss. Her vil svarene garantert variere om vi snakker med våre miljøer for maskinlæring, mixed reality, samhandlingsløsninger eller noen av de andre utviklingsmiljøene.
Men dersom vi prøver å løfte blikket og samle de forskjellige innspillene vi får, er det klart at det er en trend som gjelder nesten alle fagmiljøene våre – og det er en videre satsing innen skytjenester og relatert teknologi.
Eksempler her er:
- Micronaut for backend
- Vue3 for frontend
- Unity, Hololens, VR/AR
- Kotlin
- Dataplattform
- WebAssembly
- Databricks
«Vi vet best hvordan IT-prosjekter bør kjøres, men altfor ofte lar vi kunden diktere metode- og teknologivalg.»
Hva tror dere blir bransjens største utfordringer i 2020? 🔥
Vi har en del konvergerende trender:
- Vi har dårlig tid når det gjelder bærekraft: Aktørene i bransjen må sørge for at alle ansvarliggjøres, også teknologer helt ned på kodenivå. For eksempel bør vi i «definition of done» verifisere at vi tar vare på miljøet og samfunnet i tillegg til forretningsorienterte krav.
- Tillit: Vi blir mer og mer avhengig av at IT-systemene er til å stole på. For å kunne oppnå et sikkerhetsnivå som gjør at teknologien «fortjener oss», må vi foreta både et kompetanseløft og kulturendring. Dette er også tett sammenvevd med personvern. Det kan være utfordrende å si «nei» når virksomhetene mangler behandlingsgrunnlag, samtidig som bruk av personopplysninger kunne gitt inntekter gjennom videresalg eller utvikling av smarte systemer. Videre kan det også være utfordrende å sørge for at virksomhetene holder seg i skinnet med henhold til maskinlæring.
- Ellers ser vi at bransjen sliter med en kombinasjon av prosjektbasert finansiering, manglende kunnskap hos innkjøpere og konsulentselskapenes mangel på evne til å fortelle hvordan noe skal gjøres - fremfor å kreve at innkjøper legger føringene. Bransjen må bli flinkere til å tenke produkt, gi råd og coache ved innkjøp og ha faglig integritet i leveransene. Vi vet best hvordan IT-prosjekter bør kjøres, men altfor ofte lar vi kunden diktere metode- og teknologivalg.
Oppsummert stiller dette mye større krav til etikk, evne til å stille kritiske spørsmål, og kunnskap om bærekraft. Teknologer må ta større ansvar, og ha mot nok til å si fra.
- Ikke sitt alene i en sprint og programmer. Det går som regel galt
Tobias Moe Thorstensen har en bønn til Norges konsulenter: Prat med kundene, kontinuerlig!