Back End utveckling - vad är det?

Rekrytera backend-utvecklare

man with lighter red sunset

Den mest simpla beskrivningen till backend utveckling är att den är osynlig för användaren. Vare sig det handlar om en simpel webbsida eller en omfattande mjukvara, ligger backend koden till grund för all funktionalitet, trots att den inte syns för de personer som kommer att använda slutprodukten mest. Genom interaktion och kommunikation mellan databaser och servrar utför backend operationer och uträkningar som driver fram resultat som sedan presenteras genom frontend utveckling. Varje mjukvara eller hemsida består dock av olika sorters backend utveckling då slutresultatet inte alltid är desamma. Det finns flertalet olika språk som kan användas för backend utveckling och med dessa språk kommer även olika ramverk och gränssnitt att arbeta i. Språk som Java, C#, .NET och Scala är exempel på kända språk som används bland backend utvecklare.

Nedan följer en kortare summering kring vad backend utveckling är samt vika delar som utgör backend processen. Genom detta ges även en sammanfattning av de olika rollerna som ofta behövs inom respektive avgrening, samt de olika språken som är högt eftertraktade. Vi förklarar även hur du som kund ska agera för att hitta rätt back end utvecklare för just erat företag.

Vad är back end?

Backend delen utgörs oftast av tre komponenter; en server, en databas och en applikation. Tillsammans arbetar de olika komponenterna för att bilda ett system som sedan görs användbart av frontend utvecklare. Mellan dessa komponenterna arbetar backend utvecklare med kod för att upprätthålla säkerhet, struktur och innehåll.

back end struktur

Servers

I en webbsida eller ett system arbetar ofta flera olika servers för att bearbeta förfrågningar från användaren. Servrarna är fundamentala för systemet då de tar emot samt driver all trafik som begärs eller kommer in. En typ av server, som även är den mest användbara sorten, är den s.k. webbservern som hjälper webbsidor att ta emot och bearbeta input direkt från användarna. Dessa servrar kan tyda simpla strukturspråk som HTML och designkod som CSS och direkt ta fram resultat som användaren letar efter. De olika förfrågningarna som skickas in brukar oftast genomföras enligt HTTP, vilket är ett protokoll för hur förfrågan och svaren ska ske mellan webbsidan och servern. Den vanligaste typen av webbserver kallas Apache och används idag av mer än hälften av världens alla webbservrar. Då användaren begär åtkomst till en fil tar dock en app server över förfrågan då meddelandet inte längre är begränsat till HTML. App servern skapar därefter en ny förfrågan till databas servern som besitter allt innehåll. App servers arbetar ofta gentemot webbservers men används även inom klusteranalys, failover och andra affärslogiska implementeringar. Microsofts ramverk .NET fungerar ofta som en app server och är idag ett väldigt eftertraktat system att arbeta inom.

Databaser

Den sista servern som nås är alltså databas servern vilken ansvarar för lagring av information. Databasservers kan vara uppbyggda på olika sätt beroende på hur logistiken och strukturen ska vara konstruerad. Den största skillnaden mellan databaser är om de är relationella eller icke-relationella vilket är två olika sätt att lagra information. Relationella databaser organiserar data enligt definierade kolumner medan icke-relationella databaser kan spara olika sorters information på ett och samma dokument. Relationella databaser är oftast uppbyggda av SQL språk som är designade för att bearbeta och strukturera data på ett effektivt sätt genom att skapa tilldelade platser för varje typ av information. Med hjälp av databashanterare som exempelvis mySQL kan backendutvecklare sedan interagera med dessa databaser för att spara, framställa och editera all data.

Icke-relationella databaser arbetar inte efter en strikt struktur som de relationella och är därav mer flexibla när det kommer till att ta sig an data som blivit ihopsamlad. På grund av den exponentiella expansionen av information över internet de senaste åren har icke-relationella databaser blivit mer användbara. Termen Big Data är ett begrepp som dragit mycket uppmärksamhet de senaste åren då flera websidor och applikationer samlat på sig information som inte blivit strukturerad. Med hjälp av icke-relationella databashanterare som NoSQL har backendutvecklare fått möjligheten att bearbeta all den data som samlats ihop. Man brukar säga att icke-relationella databaser är dokumentorienterade vilket betyder att de innehåller dokument med mycket ostrukturerad data. Backendutvecklarnas jobb är sedan att i dessa databaser ta fram specifik data med hjälp av SQL förfrågningar och egna specialiserade APIs.

Vad gör en backend utvecklare?

En backend utvecklare är relevant vid behovet av att utveckla någon sorts system. Det är dock väldigt ovanligt för ett företag att anställa endast en person för utveckling, oftast skapas ett team med ett visst antal personer beroende på hur stor projektet ser ut. Under utvecklingen av ett system är arbetet inte enbart baserat på att bygga upp ett system från scratch. Regelbunden uppdatering och återkommande justeringar behövs alltid göras och även inom helt färdiga system behövs backendutvecklare för att se till så att allt fungerar. Det kan t.ex. handla om att bearbeta data och skapa förvaring i databasen eller att genom kalkylering och processer skapa workflows för hur användare rör sig i systemet.

Behöver du en back end utvecklare?

Det viktigaste att ta ställning till vid utvärderingen av att rekrytera en backendutvecklare är att definiera omfattningen kring positionen. I denna behöver man ta med information om företaget samt hur företaget ställer sig till utveckling och dess system. Man kan i denna del ta med hur företaget arbetat med utveckling tidigare och vilka utvecklingsteam man har för närvarande. Vidare behövs även en utförlig sammanfattning kring hur det framtida projekten ser ut där man tydligt förklarar komplexiteten i systemet som man förväntas arbeta inom. I denna del bör man även redovisa för hur backend delen är uppbyggd, d.v.s. hur server, databas och applikation sammanspelar samt vilka ramverk och språk dessa är uppbyggda på. Även externa moduler och integrationer behövs ta med i denna redovisning. Utöver detta behöver man ta ställning till mer självklar information som kan vara relevant för de arbetssökande; projektets budget, tidslinje, företagets generella värderingar och målsättningar.

Vi hjälper dig med rekryteringen

Vi på Dev Search pratar dagligen med backendutvecklare. Vi förstår deras vardag och pratar deras språk utifrån den teknik som de använder och de önskemål de har vad gäller nästa steg i karriären. Vi vet i vilka forum de spenderar sin tid (vilket inte alltid är LinkedIn) och lär ofta känna dem långt före de ens är ute efter ett nytt jobb. Är du på jakt efter en ny medarbetare inom backend utveckling? Tveka i så fall inte att höra av dig om du behöver feedback kring rollen, kraven, lönen eller input kring om den personen du söker ens finns på marknaden.

Vill du kontakta oss?

Är du intresserad av att anlita oss på Dev Search? Vi hjälper dig att rekrytera utvecklare inom backend och frontend, specialister inom DW/BI-databas, mjukvaruarkitekter samt ledarroller som t.ex. CTO och utvecklingschef. Varmt välkommen att kontakta oss!