Om du säger ordet ”utvecklare” tänker vi på Kinsta ”programvara.” Vi tänker exempelvis inte på ”fastigheter.” Men även om vi fokuserar på datorer och kod så finns det många olika typer av utvecklare.

Vi skulle kunna kategorisera utvecklare efter det programmeringsspråk som de använder — som ”JavaScript-utvecklare” eller ”Python-utvecklare” — men det skulle inte avslöja vad de skapar eller deras roll i processen. Det är dessutom vanligt att utvecklare kan flera språk.

Vi kommer därför att använda några allmänt accepterade (och mer beskrivande) etiketter för utvecklartyper och titta på de uppgifter och verktyg som ligger bakom dem.

Vad är en utvecklare?

Vi har fastställt att programvara är nyckeln till våra utvecklares berättelse. Den kan dock ta sig många olika former.

En medlem av programmeringsgruppen bakom Microsofts databasprogram SQL Server är en utvecklare. Någon som använder Structured Query Language för att arbeta med information som lagras i en sådan databas kan också vara en utvecklare.

En utvecklare skapar ett datoroperativsystem som är inbäddat i ett kretskort. En annan skriver Bash-skript för att automatisera interaktioner mellan flera andra programvaror.

Alla dessa typer av utvecklare har byggt något med kod.

Kod på skärmar. (Foto av Fotis Fotopoulos på Unsplash)
Kod på skärmar. (Foto av Fotis FotopoulosUnsplash)

Hur många typer av utvecklare finns det?

Det finns ingen ”officiell” lista över arbetsbeskrivningar för utvecklare. Vi kommer att titta på vad utvecklare gör med hjälp av en gemensam terminologi, och vi delar även upp den breda kategorin ”webbutvecklare” i tre olika roller. (Vi erkänner: Vi har en svaghet i våra hjärtan för personer som bygger webbplatser.)

Vi kommer sammanlagt att granska 11 olika typer av utvecklare i den här artikeln.

1. Frontend-webbutvecklare

En frontend-utvecklare fokuserar på användargränssnittet på en webbplats. De använder sina HTML– och CSS-färdigheter för att styra webbplatsens utseende och känsla, och anpassar sig ofta till olika skärmstorlekar i mobila och stationära webbläsare.

Frontend-utvecklare förlitar sig vanligtvis på JavaScript för att skapa en responsiv upplevelse för användarna. Dessa utvecklare är ofta bekanta med JavaScript-bibliotek och ramverk som kan påskynda skapandet av dynamiska och kundorienterade applikationer.

Frontend-utvecklaren arbetar för att förbättra webbplatsens prestanda och optimerar bilder, JavaScript och markup för snabbare laddningstid i webbläsare. De flesta frontend-utvecklare fokuserar även på sökmotoroptimering och webbplatsens tillgänglighet.

Allt detta kräver många färdigheter, och en frontend-utvecklares lön kan återspegla detta.

Är frontend-utvecklare webbdesigners?

Många frontend-utvecklare är också designers, men det är inte ett krav för titeln ”frontend”. På samma sätt är många webbdesigners väl förtrogna med HTML och CSS — och kan använda dem i mock-ups — men anser sig inte vara utvecklare.

För många organisationer är design en del av varumärkesarbetet som omfattar medier utanför webben.

Oavsett vem som skapar designen är det frontend-utvecklarens uppgift att väcka den till liv på en webbsida och omvandla en vision om en användarupplevelse till en fungerande applikation.

2. Webbutvecklare för backend

En backend-utvecklare bygger applikationer på serversidan som vanligtvis kräver expertis inom webbserverprogramvara, databaser och de operativsystem som de körs på. Ett exempel på en öppen källkod är operativsystemet Linux, en Nginx- eller Apache-webbserver och en MariaDB- eller PostgreSQL-databas.

Gränsen mellan backend- och frontend-utveckling suddas ut av teknik som PHP, ett skriptspråk på serversidan som skickar HTML till webbläsare på frontend.

PHP — som driver WordPress och andra populära CMS samt utvecklingsramverk som Laravel — är webbens vanligaste serverbaserade skriptspråk. Backend-utvecklare kan dock använda tekniker som C# och Microsofts .NET-ramverk, Python, Java, Ruby on Rails eller Node.js.

Backend-utvecklare kan förvänta sig att samarbeta med de gruppmedlemmar som sköter frontend-sidan av en webbplats. Utveckling på serversidan kan även omfatta skapandet av gränssnitt för tillämpningsprogrammering (API:er) som stödjer tjänster på frontend, med mindre behov av en nära koppling mellan de två sidorna.

Om allt detta låter som din typ av jobb kanske du är intresserad av typiska löner för backend-utvecklare.

3. Webbutvecklare i kategorin full stack

Du kanske har gissat att en fullstack-utvecklare utför frontend- och backend-utvecklarnas arbete. (Detta betyder tyvärr inte att en typisk fullstack-utvecklares lön är dubbelt så hög som de andras.)

Att behärska alla nivåer av webbutveckling verkar ändå ha sina belöningar. I en undersökning av utvecklare som StackOverflow genomförde år 2022 konstaterades att ”fullstack-utvecklare” var det främsta svaret (nästan 47%) när respondenterna ombads att beskriva sin roll.

De viktigaste typerna av utvecklare år 2022. (Bildkälla: StackOverflow)
De viktigaste typerna av utvecklare år 2022. (Bildkälla: StackOverflow)

Är WordPress-utvecklare fullstack-utvecklare?

Funktionerna i hanterad WordPress-hosting här på Kinsta gör det möjligt för alla som är kompetenta inom PHP att utföra en seriös utveckling utan att djupdyka i serversidan.

WordPress är utvecklingsvänligt var det än installeras och erbjuder ett stort bibliotek med egna PHP-funktioner/metoder som är ett abstraktionslager över vissa vanliga uppgifter på serversidan. WordPress-utvecklare kan exempelvis lagra och hämta poster i relationsdatabaser utan att skriva SQL. De kan spara mediauppladdningar till en servers filsystem utan att känna till kärnfunktionaliteten i PHP som får allt att hända.

”WordPress-utvecklare” kunde ha varit en egen kategori här, men då skulle vi behöva göra detsamma för utvecklare som använder CMS-produkter som Drupal, Joomla och DNN och ramverk som Laravel, .NET och Django.

Många WordPress-utvecklare — särskilt de som bygger WordPress-teman och -plugins — har inspirerande kunskaper om hela stacken. Så svaret på frågan ”Är WordPress-utvecklare fullstack-utvecklare?” är: Det beror på.

4. Utvecklare av mobilappar

Begreppet ”applikation” täcker mycket inom mjukvaruutveckling. Från skrivbordet till webben är applikationer de verktyg som får saker gjorda för slutanvändarna.

När det förkortas till bara ”app” — som i ”Det finns en app för det!” — tenderar vi att först tänka på de applikationer som körs på smartphones, surfplattor och andra mobila enheter. Och för att skapa mobilappar krävs en specialiserad typ av utvecklare.

Utvecklare av mobilappar är bekanta med SDK:er (Software Development Kits) och relaterade verktyg som används för att bygga program för ett operativsystem för en enhet, som Apple’s iOS eller Google’s Android.

Swift är det inhemska programmeringsspråket för iOS, medan Java och Kotlin är de mest använda för Android. Det finns dessutom ett stort ekosystem av verktyg för att bygga appar, t.ex. Apache Cordova och NativeScript, som kan förvandla kod som är baserad på webbvänliga JavaScript, HTML och CSS till inhemsk mobilprogramvara.

När vi tittade på de genomsnittliga lönerna för app-utvecklare fann vi att de som byggde för mobila plattformar tjänade något mer än de som fokuserade på skrivbordet eller webben.

5. Utvecklare av datorprogramvara

Utvecklare av stationära programvaror skapar programvaror som körs på persondatorer och arbetsstationer.

Utvecklare bygger generellt skrivbordsprogram för specifika operativsystem, så verksamheten inom detta område återspeglar de relativa marknadsandelarna för plattformar som Microsoft’s Windows, Apple’s macOS, Google’s Chrome OS och operativsystemet Linux med öppen källkod.

Med hjälp av data som har samlats in från besök på webbplatser världen över uppskattade Statcounter i augusti år 2022 att Windows hade en marknadsandel på 74% av operativsystemen för skrivbordssystem.

Marknadsandelar för operativsystem för stationära datorer, augusti år 2022. (Bildkälla: Statcounter)
Marknadsandelar för operativsystem för stationära datorer, augusti år 2022. (Bildkälla: Statcounter)

Utvecklare kommer sannolikt att programmera med hjälp av IDE-verktyg (Integrated Development Environment) för snabb redigering, felsökning och kompilering av källkod.

Populära språk för programmering av datorprogram är bland annat C#, C++, Swift och Java.

Skrivbordsprogram körs lokalt, men moderna program kan använda en internetanslutning för uppgifter som sträcker sig från produktuppdateringar till delning av data via molnlagring.

6. Datavetare (utvecklare av stora mängder data)

Människor bidrar till att generera en mängd data genom att sköta sin vardag: betala i mataffären, surfa på webben, köra förbi trafikkameror, använda mobiltelefoner — till och med rösta. Vi har byggt system för att registrera data från naturfenomen som väder, jordbävningar och elektromagnetiska signaler från rymden.

En datavetare är en matematisk trollkarl med en dator som kan avslöja mönster i all denna information.

Det finns en god chans till att dessa utvecklare använder programmeringsspråket Python eller något mer specialiserat, exempelvis R, Scala eller Julia.

”Stora data” hamnar vanligtvis i en relationsdatabas, så en datavetare har sannolikt SQL i sin programmeringsverktygslåda.

7. Utvecklare av artificiell intelligens/maskininlärning

Utvecklare av programvara för artificiell intelligens (AI) försöker efterlikna mänskliga beteenden, t.ex. beslutsfattande. Genom att lägga till maskininlärning (ML) kan en applikation bli smartare med tiden.

AI/ML-tillämpningar bearbetar vanligtvis en mängd data med hjälp av komplexa algoritmer, så utvecklare på området är ofta datavetare.

Marknadsundersökningsföretaget IDC fann att de globala intäkterna för AI-relaterade tillämpningar, hårdvara och tjänster översteg 383 miljarder dollar år 2021, vilket är en ökning med nästan 21% jämfört med år 2020.

Programvara för hantering av kundrelationer och programvara för hantering av företagsresurser stod för cirka 65% av intäkterna från AI-förbättrade tillämpningar.

Värdet av AI-programvara i världen, 2020 jämfört med 2021. (Bildkälla: IDC)
Värdet av AI-programvara i världen, 2020 jämfört med 2021. (Bildkälla: IDC)

8. Spelutvecklare

Utvecklare av datorspel representerar ett brett spektrum av färdigheter.

Deras programvara kan köras på stationära datorer, mobila enheter, konsoler eller i webbläsare. Handlingslinjerna passar olika spelgenrer, t.ex. militär- eller sportsimulering, förstapersonsskjutare, strategi eller rollspel. Sedan tillkommer förmodligen 3D-grafik, musik och ljudeffekter.

I en värld av internet-anslutna spel möter utvecklare av massiva multiplayer-spel krav på backend-servrar och databaser som klarar lika mycket trafik som de mest trafikerade e-handelssidorna.

Spelutvecklare har vanligtvis kunskaper om 3D-renderingsverktyg och andra animationsrelaterade programvaror.

Och när det gäller den senaste tekniken visade nyligen genomförda utvecklarundersökningar av SlashDatas Developer Nation att drygt 37% av tillämpningarna för förstärkt verklighet (AR) eller virtuell verklighet (VR) var AR/VR-spel. Ytterligare 27,9% av projekten handlade om att bygga virtuella världar — vissa för spel.

Utvecklingstyper som använder AR/VR. (Bildkälla: SlashDatas Developer Nation)
Utvecklingstyper som använder AR/VR. (Bildkälla: SlashDatas Developer Nation)

9. Utvecklare av operativsystem

Även om tusentals utvecklare arbetar med de mest populära operativsystemen — bidrar till Linux eller är anställda av Microsoft, Apple eller Google — är det fortfarande en exklusiv grupp. SlashData’s undersökningar tyder trots allt på att den totala världsomspännande utvecklarpopulationen är fler än 24 miljoner.

Det finns en god chans att ditt kylskåp har ett operativsystem, men populära datoroperativsystem är insatser som kräver stora team av utvecklare, varav de flesta arbetar med mindre komponenter i det övergripande projektet.

Kärnan i de flesta operativsystem är kärnan, som hanterar tillgången till processorn, minnet, filsystemen och I/O-enheterna. C är det primära kodningsspråket för kärnorna bakom Microsoft Windows, Apples macOS och Linux. Det används även en del kod på låg nivå som är skriven i assembler.

Android-kärnan har utvecklats från Linux-kärnan.

Utöver kärnan har ett operativsystem drivrutiner för att hantera olika hårdvaruenheter och program för systemets hushållning. Sen tillkommer även systemets grafiska användargränssnitt. Utvecklare kan använda C, C++, Objective C (macOS) och till och med Python (Linux) för dessa komponenter.

10. DevOps-ingenjör

En DevOps-ingenjör hanterar verktyg och arbetsflöden som gör att programvaran snabbt och tillförlitligt kan gå från utvecklingsstadiet till en offentlig version.

”DevOps” är en sammanslagning av orden ”development” och ”operations”, och utövarna automatiserar repetitiva programvaruutvecklingsuppgifter — från hantering av kod till testning, distribuering, övervakning, underhåll och felsökning.

Dessa ingenjörer använder en uppsättning av DevOps-verktyg för att snabba upp programvaruutgivningscyklerna, hantera de olika versionerna av projektets kodbas och bekräfta att slutprodukten fungerar som förväntat.

När DevOps-processen används för webbutveckling kan den även säkerställa att de resurser som krävs för applikationen är tillgängliga och korrekt konfigurerade på webbservern.

DevOps kräver avancerade färdigheter, och en DevOps-ingenjörs lön återspeglar vanligtvis detta.

11. Säkerhetsutvecklare (SecDevOps)

En säkerhetsutvecklare bygger verktyg och hanterar processer som testar programvarans och datorsystemets säkerhet.

Inom programvaruutveckling är säkerhet ofta en del av DevOps-processen. En person som fokuserar på säkerhet i den miljön kan kallas SecDevOps-ingenjör.

Säkerhetsutvecklare arbetar med att skydda programvara och datorsystem från attacker och hot mot cybersäkerhet. De använder olika verktyg, inklusive skriptspråk som Python, Bash och Ruby, för att automatisera repetitiva uppgifter.

En säkerhetsutvecklare måste ha djupgående kunskaper om den programvara och de system som de försöker skydda.

Vilken typ av utvecklare vill du bli?

Om du funderar på att själv bli utvecklare har vi information som hjälper dig att ta nästa steg. Du kan läsa om de bästa programmeringsspråken att lära sig eller satsa direkt på att lära dig PHP och upptäcka JavaScript-handledningar.

Du är kanske intresserad av att ta reda på vad som krävs för att bli en Laravel-utvecklare eller fokusera på att lära dig WordPress, världens mest populära CMS.

Vem vet, en dag kommer du kanske att ansluta dig till oss för en karriär på Kinsta.

Sammanfattning

Det var en titt på 11 typer av utvecklare med roller som är tillräckligt distinkta för att belysa de olika uppgifter som finns inom deras områden.

Många utvecklare har dock mer än en roll, och de flesta är bekanta med flera programmerings- eller skriptspråk. Det är kanske därför som vi aldrig kommer att enas om en ”officiell” lista över utvecklartyper.

Om du har ett webbaserat projekt som du vill starta så vill du kanske utforska Kinsta’s lösningar för applikations- och databas-hosting.

Steve Bonisteel Kinsta

Steve Bonisteel är en teknisk redaktör på Kinsta som började sin författarkarriär som printjournalist och jagade ambulanser och brandbilar. Han har bevakat internetrelaterad teknik sedan slutet av 1990-talet.