Blogg
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
För tredje året i rad presenterar vi Callistas Tech Radar - en undersökning som görs bland våra medarbetare och visar hur teknikanvändningen ser ut i våra uppdrag. Svaren inhämtades mot slutet av 2023.
Tidigare Tech Radar:s hittar du här:
Det är tredje gången vi genomför vår Tech Radar och nu börjar man kunna få en bild av vissa trender gällande teknikanvändningen. Vi ser att diversifieringen gällande programmeringsspråk fortsätter. Java är fortfarande det dominerande primära språket men ligger nu på mindre än 30 %, samtidigt som användningen av Kotlin och Python har ökat markant. Vi pejlar också läget kring arbetsformer och mjukare värden - och där kan vi bland annat konstatera att frågan om arbetsplats (ny från förra året) visar att andelen hemarbete minskar.
Första frågan handlar om respektive medarbetares primära programmeringsspråk i sitt uppdrag. Medarbetare som inte arbetar med utveckling är undantagna.
Figur 1: Primärt programmeringsspråk – ett val per person.
Java leder även denna gång som primärt programmeringsspråk, men framförallt Kotlin och Python har ryckt fram kraftigt. Java låg på 50 % 2021 och 40 % 2022, så vi ser att trenden fortsätter och Javas betydelse minskar något över tid. JVM-plattformen som helhet (Java + Kotlin) har dock fortfarande en stark ställning med sammanlagt 47 %. Värt att notera är att C# för första gången tagit sig in på listan.
Som komplettering har vi frågat vilket sekundärt språk vi oftast använder. Det kan t.ex. vara för DevOps-arbete, scripting-ändamål eller frontend. Vi redovisar denna gång även andelen som inte använder något sekundärt språk för att få en bättre bild av proportionerna (2022 angav 24 % att de endast använde det primära språket).
Figur 2: Sekundärt programmeringsspråk – ett val per person.
Även här finns C# med för första gången vilket är värt att notera.
Nästa fråga handlar om hur nöjd man är med sitt primära språk. Svaret anges på en skala mellan 1-10, där 10 är mest nöjd. Diagrammet nedan visar genomsnittet per språk. Vi kan se att skillnaderna mot 2022 & 2021 är relativt små.
Figur 3: Jämförelse 2021–2023, nöjdhet med primärt programmeringsspråk, 1-10.
Att notera: Värden saknas när ingen angivit ett språk som primärt, detta gäller C# (2022 & 2021), Python (2022) och Scala (20223)
Generellt är vi ganska nöjda med de språk vi huvudsakligen arbetar med, möjligen med undantag för JavaScript som har en dalande trend och detta år hamnar på betyg 5.
Som komplement till vad vi sysslar med idag så är det intressant vad man utifrån helt personlig preferens skulle vilja arbeta med som man inte arbetar med idag. Man fick välja upp till tre språk.
Figur 4: Programmeringsspråk man gärna hade jobbat med, upp till tre val per person
Här kan vi se att Kotlin seglat upp som det mest populära alternativet vilket är speciellt intressant då antalet personer som redan idag arbetar med Kotlin ökat markant. Intresset för Rust är fortsatt stort och har till och med ökat från föregående år. Den faktiska efterfrågan på Rust-kompetens i uppdragen är dock alltjämt låg. På tredje och fjärde plats hittar vi Go respektive Python, populariteten för dessa har dock minskat något jämfört med tidigare år.
Här tittar vi på hur fördelningen av driftsmiljöer ser ut i offentlig respektive privat sektor.
Offentlig sektor:
Figur 5: Driftsmiljöer offentlig sektor. Flera alternativ möjliga
Privat sektor:
Figur 6: Driftsmiljöer privat sektor. Flera alternativ möjliga
Den offentliga sektorn hade förra året ett visst inslag av molndrift (Azure), 2023 är det dock uteslutande on-prem som gäller där.
Inom den privata sektorn har molnanvändningen ökat marginellt. AWS tycks ha vunnit mark och står nu för 40 % medan Azure landar på 25 %. Bägge låg jämsides på 29 % 2022.
Under denna rubrik sorterar vi in vilken typ av underliggande plattform som våra applikationer exekverar på. Definitionerna kan vara något flytande, men oftast avses här att man redan har paketerat sin applikation i en docker-image, alternativt som en .war/.ear fil som man t.ex. kör på en Servlet-container.
Figur 7: Exekveringsplattformar, flera alternativ möjliga
Notera att under “Annan containerorkestrator” ingår t.ex. Docker Swarm, Mesos, Apcera etc, dvs de containerorkestratorer som inte har Kubernetes i botten. Dock så särredovisar vi OpenShift eftersom det är en såpass vanlig variant av Kubernetes. Under “Kubernetes” ingår för övrigt också molnpaketeringar såsom AWS EKS eller Azure Kubernetes Service (AKS).
Utan tvekan är Kubernetes och dess kusin/syskon OpenShift klart vanligaste plattformen att exekvera sin mjukvara på och har sammanlagt 69 % (upp från 63 % 2022). OpenShift har gått gått om Kubernetes och är denna gång den ledande exekveringsplattformen.
Användning av Function-as-a-Service (FaaS) ligger, trots en ökning jämfört med 2022, fortfarande på en blygsam nivå. Trots att många av oss ser att FaaS kan bidra till smarta och kostnadseffektiva lösningar under rätt omständigheter verkar denna teknologi ännu inte ha slagit igenom på bred front, åtminstone inte i våra uppdrag.
Service Mesh – såsom t.ex. Istio – har tidigare lyfts fram som en “het” teknologi, men av någon anledning har användningen tagit ett rejält kliv tillbaka detta år – från 15 % 2022 till endast 3 % 2023. Efter en rejäl uppgång 2022 är vi nu tillbaka i nivåer som liknar dem från 2021.
Figur 8: Används en Service Mesh?
Vi har denna gång valt att visa vilka ramverk som används på JVM-plattformen snarare än rena Java-ramverk. Det ger ett litet bredare bredare perspektiv med några fler ingående alternativ. Spring behåller dock sin “förkrossande” dominans och ligger på 84 %.
Figur 9: Ramverk som används på JVM-plattformen, flera alternativ möjliga.
Förra året hade REST-API:er ca 61%, GraphQL och SOAP båda ca 15% och Protobuffers/gRPC ca 10 %.
Så här ser det ut 2023.
Figur 10: API-typer som används, flera alternativ möjliga
Protobuffers/gRPC går framåt rejält med en fördubblad användning, REST behåller sin ställning medan både GraphQL och SOAP minskar.
På hög nivå pratar man oftast tre typer av databaser för långtidslagring av data:
Vi har valt att även inkludera Key/value stores (Redis m.fl.) även om dessa kanske inte är att betrakta som regelrätta databaser i traditionell mening.
2022 såg det ut enligt följande:
2023 års siffror:
Figur 11: Typ av databaser som används, flera alternativ möjliga
Läget är relativt stabilt jämfört med 2022, men värt att notera att relationsdatabaser behåller och till och med stärker sin ställning jämfört med föregående år.
Förra året hittade vi tre olika frontendramverk i undersökningen: React (74 %), VueJS (16 %) och Angular (10 %). I årets undersökning har VueJS fallit ifrån helt och därmed har såväl React som Angular ökat sina andelar, och React dominerar fortfarande stort.
2023 års frontend-ramverk.
Figur 12: Frontendramverk, flera alternativ möjliga
Förra året konstaterade vi att Jenkins, trots att det har några år på nacken, fortfarande håller ställningarna som det dominerande byggverktyget. I övrigt är det inga dramatiska skillnader från 2022 men några nya verktyg har tillkommit.
I våra projekt 2023 ser det ut så här.
Figur 13: Byggverktyg, flera alternativ möjliga
Vi avslutar med en sammanställning gällande litet “mjukare” parametrar.
Vad gör vi på jobbet och vilka roller har vi i våra uppdrag?
Figur 14: Roller i uppdragen
Helt klart har vi tonvikt på mjukvaruarkitektur/lösningsarkitektur och backend-utveckling, men vi har helt klart en skaplig bredd även när det gäller ansvarsområden.
Man kan konstatera att hemarbetet är här för att stanna. Bland våra medarbetare är det i princip ingen som inte jobbar hemifrån åtminstone en dag per vecka. Synen på hemarbetets omfattning kan däremot variera och i många uppdrag ställs krav på att man ska vara på sin arbetsplats två till tre dagar i veckan. Man ser det som viktigt att teamet arbetar tillsammans IRL i någon omfattning för att främja samarbetet och teamkänslan.
Nedanstående diagram jämför hur många dagar man arbetar hemifrån per arbetsvecka i genomsnitt 2023 och 2022 (frågan var ej med 2021).
Figur 15: Hemarbete, dagar per arbetsvecka.
Antal dagar med hemarbete har gått ner jämfört med förra året, och fördelningen är nu mer “normalfördelad” runt tre dagar. I genomsnitt arbetar man hemifrån 3,1 dagar jämfört med 3,8 dagar 2022.
Då vi på senare år arbetar alltmer distribuerat och i viss utsträckning remote eller hemifrån så ökar också betydelsen av digitala verktyg för planering, ärendehantering och dokumentation. Många möten sker också digitalt och verktyg för videomöten och skärmdelning är en viktig del i mångas arbetsvardag.
Hur ser situationen ut och vilka är de dominerande verktygen i våra uppdrag?
För digitala möten ser det ut så här.
Figur 16: Mötesverktyg
Microsoft Teams är tydlig etta på 84 %, en uppgång från 70 % 2022.
Samarbetsverktyg:
Figur 17: Projektverktyg, flera alternativ möjliga
Det är inga stora skillnader jämfört med 2022 och det är fortfarande Atlassians verktyg Jira och Confluence som dominerar stort med en användning på sammanlagt 85 %.
Det är inga stora revolutioner i årets “Tech Radar”, men vissa trender går att urskilja om man jämför med resultatet från 2022 och 2021.