Artiklar för Expert Network
Under åren 2016–2019 samarbetade IDG med ett antal utvalda experter inom IT. De skrev artiklar om "spaningar", och artiklarna publicerades i tidningar som CIO Sweden, Computer Sweden och TechWorld.
Under 2024 bytte IDG publiceringssystem, och de flesta artiklarna plockades då bort från deras webbplatser. De artiklar som Mejsla bidrog med till Expert Network publiceras nu här på Mejslas webbplats med tillåtelse från IDG.
Satsa på utvecklare med bredd
– Jaha, du kan Java, men jag söker ju någon som kan Ruby?!
Ett vanligt missförstånd är att man inte kan vara skicklig på mer än en sak. Min erfarenhet är istället att riktigt skickliga utvecklare i regel kan flera programmeringsspråk och ofta även flera paradigm. Det ligger lite i linje med en skämtsamt tillspetsad definition av begreppen expert kontra specialist: ”En expert är någon som kan något på djupet. En specialist är någon som inte kan mer än en sak.” Underförstått: ”En specialist behöver inte ens kunna en sak på djupet”.
Fullstackare
Fast nu har något hänt. Allt oftare efterfrågas en ”full-stack developer”. Eller fullstackare i brist på bra översättningar (se upp med särskrivningar där). Vad har hänt med:
– Jaha, du kan back-end, men jag söker ju någon som kan front-end?!
Jag ser huvudsakligen det här som något positivt. Det finns helt klart poänger med att söka utvecklare som har förståelse för en hel stack.
Fast vad är det för stack som vi pratar om egentligen? Det vanligaste är nog att man syftar på en ”lösningsstack” som innehåller alla komponenter som behövs för att bygga en applikation. Ett par exempel på namngivna lösningsstackar är LAMP (Linux, Apache, MySQL och PHP) och MEAN (MongoDB, Express.js, Angular.js, and Node.js), och andra baserar sig på Rails, Django eller olika kombinationer av till exempel Java och JavaScript. Med fullstackare menas då en utvecklare som kan arbeta med alla komponenterna i en lösningsstack. Förväntas man sedan kunna utveckla en fullödig applikation från ax till limpa krävs ofta dessutom flera kompletterande verktyg som till exempel lastbalanserare, cachar, sökmotorer och integrationsverktyg.
Eftersom det finns flera lösningsstackar är det förstås viktigt att peka ut vilken lösningsstack man syftar på. Arbetssättet kan skilja väldigt mycket mellan olika lösningsstackar. Man ska inte underskatta utmaningen i att hoppa från till exempel en Dotnet-miljö till en Java- eller en Rubymiljö. Å andra sidan, den som ändå klarar ett sådant hopp är sannolikt en riktigt skicklig utvecklare.
Seniora utvecklare
När jag och mina kolleger har diskuterat begreppet fullstackare har vi kommit in på hur det förhåller sig till begreppet seniorkonsult. I bägge fallen handlar det om någon som kan mer än en sak. Men där fullstackare syftar främst på teknik så inbegriper seniorkonsult så mycket mer. En seniorkonsult ska dessutom ha kunskap om människor, projekt, metoder, processer, etc. Och helst kunskaper om mer än en lösningsstack.
Fullstackare eller seniora utvecklare; oavsett vilket så finns det viktiga fördelar med att bygga ett lag med utvecklare som har bredd. Ett exempel på fördel är att risken för extremt starka beroenden till specifika personer minskar. Om alla kan många saker så är förlusten inte lika stor om någon slutar. Men myntet har också en baksida. Det finns ändå en gräns för hur många områden en och samma person kan bli expert på. Om ”alla kan allt” så är risken stor för att det saknas djup inom viktiga områden.
T-formade utvecklare
En alternativ kompetensmodell är T-formade utvecklare. T-formen beskriver att man har en god generell kompetens men även ett expertområde.
Utmaningen är att bygga en grupp med kompletterande expertkunskaper. Och överlappen i T-formen är mycket viktiga – de inte bara minskar risken för onödigt starka beroenden till specifika personer, de gör det också lättare för teamet att kommunicera inbördes på ett effektivt sätt.
Uppskatta breda profiler
Så ja, efterfråga gärna fullstackare. Det är bra med bredd! Kom bara ihåg att precisera vilken stack det handlar om. Och glöm inte bort att det finns många dimensioner i mjukvaruutveckling som inte täcks upp inom ramen för en lösningsstack. Sätt fingret på vilka T-former som matchar just ert projekt bäst. Och om du behöver en expert, tänk på att en verklig expert även kan angränsande och liknande områden.
– Jaha, du är expert på Java, och vad kan du mer?!
Denna artikel publicerades ursprungligen hos IDG i september 2016.
Författare:
Karl Dickson