– 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 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 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.

Läs också: Ddos-attacker kan drabba alla – så skyddar du ditt företag bäst

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.

Det här är en artikel från Expert Network

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.

Läs också: Fem steg mot smartare verksamhetsstyrning

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?!

Fakta

Befattning: IT-rådgivare
Företag: Mejsla
Linkedin: Karl Dickson
E-post: karl.dickson@mejsla.se
Hemsida: www.mejsla.se
Expertområden: Java med kringliggande tekniker, metoder och processer.
Bakgrund: Konsult och facilitator mellan kunders ledning och utvecklare. Lång erfarenhet av mentorskap. Byggt it-bolag sedan 1999. Utvecklare sedan slutet av 1980-talet med en masterexamen i matematik/datalogi.