Når man siger ordet “udvikler”, tænker vi hos Kinsta på “software” Ik, lad os sige, “real estate” Men selv fokuseringen på computere og kode giver et stort spillerum til at beskrive typer af udviklere.
Vi kunne kategorisere udviklere efter det programmeringssprog, de bruger — f.eks. “JavaScript-udvikler” eller “Python-udvikler” — men det ville ikke afsløre, hvad de skaber eller deres rolle i processen. Desuden er det almindeligt, at udviklere kan flere sprog.
Vi vil derfor bruge nogle bredt accepterede (og mere beskrivende) betegnelser for udviklertyper og se på de opgaver og værktøjer, der ligger bag dem.
Hvad er en udvikler?
Vi har fastslået, at software er nøglen til vores udviklers historie. Det kan tage mange former.
Et medlem af programmeringsholdet bag Microsofts SQL Server-databasesoftware er en udvikler. En person, der bruger Structured Query Language til at arbejde med oplysninger, der er gemt i en sådan database, kan også være en udvikler.
En udvikler skaber et computerstyresystem, der er indlejret i et printkort. En anden skriver Bash-scripts til at automatisere interaktioner mellem flere andre softwareprogrammer.
Alle disse typer udviklere har bygget noget med kode.
Hvor mange typer udviklere er der?
Der findes ingen “officiel” liste over jobbeskrivelser for udviklere. Vi vil se på, hvad udviklere laver ved hjælp af nogle fælles terminologier, og vi opdeler endda den brede kategori “webudvikler” i tre forskellige roller. (Vi indrømmer det: Vi har et soft spot i vores hjerter for folk, der bygger websteder.)
I alt vil vi gennemgå 11 typer udviklere her.
1. Frontend webudvikler
En frontend-udvikler fokuserer på brugergrænsefladen på et websted. De bruger deres HTML- og CSS-færdigheder til at styre et websteds udseende og følelse, der ofte kan tilpasses forskellige skærmstørrelser på tværs af mobile og stationære browsere.
Frontend-udviklere er typisk afhængige af JavaScript for at skabe en responsiv oplevelse for brugerne. Disse udviklere er ofte fortrolige med JavaScript-biblioteker og -frameworks, der kan fremskynde oprettelsen af dynamiske, kundevendte applikationer.
Frontend-udvikleren arbejder på at forbedre webstedets ydeevne ved at optimere billeder, JavaScript og markup for at opnå hurtigere indlæsningstid i browsere. De fleste frontend-udviklere fokuserer også på søgemaskineoptimering og tilgængelighed af websteder.
Alt dette kræver mange færdigheder, og en frontend-udviklers løn kan afspejle dette.
Er frontend-udviklere webdesignere?
Mange frontend-udviklere er også designere, men det er ikke et krav for at få titlen “frontend”. På samme måde er mange webdesignere velbevandrede i HTML og CSS – og bruger dem måske i mock-ups – men betragter ikke sig selv som udviklere.
For mange organisationer er design en del af branding, der omfatter medier ud over internettet.
Uanset hvem der skaber et design, er det frontend-udviklerens opgave at bringe det til live på en webside og omsætte en vision for en brugeroplevelse til et fungerende program.
2. Backend-webudvikler
En backend-udvikler udvikler applikationer på serversiden, som normalt kræver ekspertise inden for webserversoftware, databaser og de operativsystemer, som de kører på. Et eksempel på en open source-applikation er Linux-operativsystemet, en Nginx- eller Apache-webserver og en MariaDB- eller PostgreSQL-database.
Grænsen mellem backend- og frontend-udvikling udviskes af teknologi som PHP, der blot er et server-side scriptingsprog, som sender HTML til browsere i frontend-delen.
PHP — som driver WordPress og andre populære CMS’er samt udviklingsframeworks som Laravel — er webets mest udbredte server-side scriptingsprog. Backend-udviklere kan dog også bruge teknologier som C# og Microsofts .NET framework, Python, Java, Ruby on Rails eller Node.js.
Backend-udviklere kan forvente at arbejde sammen med de teammedlemmer, der tager sig af den klientvendte side af et websted. Udvikling på serversiden kan også omfatte oprettelse af programmeringsgrænseflader (API’er), der understøtter frontend-tjenester med mindre behov for tæt kobling mellem de to sider.
Hvis alt dette lyder som din type job, er du måske interesseret i mere info om de typiske lønninger for backend-udviklere.
3. Webudvikler med fuld stak
Du har måske gættet, at en full-stack-udvikler udfører arbejdet for frontend- og backend-udviklere. (Desværre betyder det ikke, at en typisk full-stack-udviklers løn er dobbelt så høj som de andres.)
Alligevel synes det at have sine fordele, at kunne beherske alle niveauer af webudvikling. En undersøgelse af udviklere foretaget af StackOverflow i 2022 viste, at “full-stack-udvikler” var det øverste svar (næsten 47%), da respondenterne blev bedt om at beskrive deres rolle.
Er WordPress-udviklere Full-Stack-udviklere?
Funktionerne i administreret WordPress-hosting her hos Kinsta gør det muligt for alle med kompetencer inden for PHP at lave seriøs udvikling uden at grave dybt ned i serversiden af tingene.
WordPress installeret hvor som helst er udviklervenlig og tilbyder et stort bibliotek af egne PHP-funktioner/metoder, der er et abstraktionslag over nogle almindelige server-sideopgaver. WordPress-udviklere kan f.eks. gemme og hente poster i relationelle databaser uden at skrive SQL. De kan gemme medieuploads til en servers filsystem uden at kende kernefunktionaliteten i PHP, der får det hele til at ske.
“WordPress-udvikler” kunne have været en kategori for sig selv her, men så ville vi være nødt til at gøre det samme for udviklere, der bruger CMS-produkter som Drupal, Joomla og DNN og frameworks som Laravel, .NET og Django.
Mange WordPress-udviklere – især nogle af dem, der udvikler WordPress-temaer og plugins — har inspirerende full-stack-egenskaber. Så svaret på spørgsmålet “Er WordPress-udviklere full-stack-udviklere?” er: Det kommer an på.
4. Udvikler af mobilapps
Udtrykket “applikation” dækker meget bredt inden for softwareudvikling. Fra desktop til web er applikationer de værktøjer, der får ting gjort for slutbrugerne.
Når det forkortes til blot “app” — som i “Der er en app til det!” — har vi tendens til først at tænke på de applikationer, der kører på smartphones, tablets og andre mobile enheder. Og at skabe mobile apps kræver en særlig type udvikler.
Udviklere af mobilapps er fortrolige med softwareudviklingskits (SDK’er) og relaterede værktøjer, der bruges til at udvikle applikationer til et styresystem til en enhed, f.eks. Apples iOS eller Googles Android.
Swift er det native programmeringssprog til iOS, mens Java og Kotlin er det mest anvendte til Android. Derudover findes der et stort økosystem af værktøjer til app-bygning, f.eks. Apache Cordova og NativeScript, som kan omdanne kode baseret på webvenlig JavaScript, HTML og CSS til native mobilsoftware.
Da vi kiggede på de gennemsnitlige lønninger for app-udviklere, fandt vi ud af, at de, der byggede til mobile platforme, tjente lidt mere end dem, der fokuserede på desktop eller web.
5. Desktop-softwareudvikler
Desktopudviklere skaber softwareprogrammer, der kører på pc’er og arbejdsstationer.
Udviklerne udvikler generelt desktopapplikationer til bestemte styresystemer, så aktiviteten på dette område afspejler de relative markedsandele for platforme som Microsofts Windows, Apples macOS, Googles Chrome OS og open source-styresystemet Linux.
På grundlag af data indsamlet fra besøg på websteder på verdensplan anslog Statcounter i august 2022, at Windows havde en markedsandel på 74% blandt desktop-operativsystemer.
Udviklere vil sandsynligvis programmere ved hjælp af værktøjer til integreret udviklingsmiljø (IDE) til hurtig redigering, fejlfinding og kompilering af kildekode.
Populære sprog til programmering af desktopapplikationer omfatter C#, C++, Swift og Java.
Desktop-software kører lokalt, men moderne applikationer kan bruge internetforbindelse til opgaver lige fra produktopdateringer til deling af data via cloud storage.
6. Dataforsker (Big Data-udvikler)
Mennesker er med til at generere en masse data i deres hverdag: de betaler ud i supermarkedet, surfer på nettet, kører forbi trafikkameraer, bruger mobiltelefoner – og stemmer endda. Vi har bygget systemer til at registrere data fra naturfænomener som f.eks. vejret, jordskælv og elektromagnetiske signaler fra rummet.
En datalog er en matematisk troldmand med en computer, der kan afdække mønstre i alle disse oplysninger.
Der er en god chance for, at disse udviklere bruger programmeringssproget Python eller noget mere specialiseret, f.eks. R, Scala eller Julia.
“Big data” ender normalt i en relationel database, så en datalog vil sandsynligvis have SQL i sin programmeringsværktøjskasse.
7. Udvikler inden for kunstig intelligens/maskinlæring
Softwareudviklere inden for kunstig intelligens (AI) forsøger at efterligne menneskelig adfærd som f.eks. beslutningstagning. Hvis man tilføjer maskinlæring (ML), kan en applikation blive smartere med tiden.
AI/ML-applikationer behandler typisk en masse data ved hjælp af komplekse algoritmer, så udviklere på området er ofte dataloger.
Markedsundersøgelsesfirmaet IDC fandt ud af, at den globale omsætning for AI-relaterede applikationer, hardware og tjenester oversteg 383 mia. dollar i 2021, hvilket er en stigning på næsten 21% i forhold til 2020.
Software til forvaltning af kunderelationer og software til forvaltning af virksomhedsressourcer tegnede sig for ca. 65 % af omsætningen fra AI-forbedrede applikationer.
8. Spiludvikler
Udviklere af computerspil repræsenterer en bred vifte af færdigheder.
Deres software kan køre på stationære computere, mobile enheder, konsoller eller i webbrowsere. Historierne er tilpasset forskellige spilgenrer, f.eks. militær- eller sportssimulering, first-person shooters, strategi eller rollespil. Så er der sandsynligvis 3D-grafik, musik og lydeffekter.
I en verden af internetforbundne spil står udviklere af massivt multiplayer-spil over for krav til backend-servere og databaser, der er lige så krævende som de mest travle e-handelswebsteder.
Spiludviklere har typisk ekspertise i 3D-renderingsværktøjer og anden animationsrelateret software.
Og med fokus på avanceret teknologi viste nylige udviklerundersøgelser foretaget af SlashData’s Developer Nation, at lidt over 37% af applikationerne inden for augmented reality (AR) eller virtual reality (VR) var AR/VR-spil. Yderligere 27,9% af projekterne vedrørte opbygning af virtuelle verdener – nogle til spil.
9. Udvikler af operativsystemer
Selv om tusindvis af udviklere arbejder på de mest populære styresystemer – de bidrager til Linux eller er ansat hos Microsoft, Apple eller Google – er det stadig en eksklusiv gruppe. SlashData siger trods alt, at dets undersøgelser tyder på, at den samlede verdensomspændende udviklerpopulation er mere end 24 millioner.
Der er en god chance for, at dit køleskab har et styresystem, men populære computerstyresystemer er bestræbelser, der kræver store hold af udviklere, hvoraf de fleste arbejder på mindre komponenter af det samlede projekt.
Kernen i de fleste operativsystemer er kernen, som styrer adgangen til CPU’en, hukommelsen, filsystemer og I/O-enheder. C er det primære programmeringssprog for kernerne bag Microsoft Windows, Apples macOS og Linux. Der anvendes også noget lavniveaukode, der er skrevet i assembler.
Og Android-kernen er udviklet fra Linux-kernen.
Ud over kernen har et operativsystem drivere til at styre forskellige hardwareenheder og programmer til systemet. Og så er der systemets grafiske brugergrænseflade. Udviklere kan bruge C, C++, Objective C (macOS) og endda Python (Linux) til disse komponenter.
10. DevOps-ingeniør
En DevOps Engineer administrerer værktøjer og arbejdsgange, der får software fra udviklingsfasen til en offentlig udgivelse hurtigt og pålideligt.
“DevOps” er en sammenskrivning af ordene “development” og “operations”, og udøvere automatiserer gentagne softwareudviklingsopgaver – lige fra forvaltning af kode til test, udrulning, overvågning, vedligeholdelse og fejlfinding af den.
Disse ingeniører anvender en række DevOps-værktøjer til at fremskynde softwareudgivelsescyklusser, administrere de forskellige versioner af projektets kodebase og bekræfte, at det endelige produkt fungerer som forventet.
Når DevOps-processen anvendes til webudvikling, kan den også sikre, at de ressourcer, der kræves af applikationen, er tilgængelige og korrekt konfigureret på webserveren.
DevOps kræver avancerede færdigheder, og en DevOps-ingeniørs løn afspejler normalt dette.
11. Sikkerhedsudvikler (SecDevOps)
En sikkerhedsudvikler udvikler værktøjer og styrer processer, der tester software- og computersystemsikkerhed.
Inden for softwareudvikling er sikkerhed ofte en del af DevOps-processen. En person, der fokuserer på sikkerhed i dette miljø, kan kaldes en SecDevOps-ingeniør.
Sikkerhedsudviklere arbejder med at beskytte software og computersystemer mod cybersikkerhedsangreb og trusler. De bruger forskellige værktøjer, herunder scriptingsprog som Python, Bash og Ruby, til at automatisere gentagne opgaver.
En sikkerhedsudvikler skal have et indgående kendskab til den software og de systemer, som de forsøger at beskytte.
Hvilken type udvikler vil du være?
Hvis du overvejer selv at blive udvikler, har vi nogle oplysninger, der kan hjælpe dig med at tage de næste skridt. Du kan læse om de bedste programmeringssprog at lære eller gå direkte i gang med at lære PHP og opdage JavaScript-tutorials.
Måske er du interesseret i at finde ud af, hvad der skal til for at blive Laravel-udvikler, eller du kan fokusere på at lære WordPress, verdens mest populære CMS.
Så måske vil du en dag slutte dig til os med en karriere hos Kinsta.
Opsummering
Det var et kig på 11 typer udviklere med roller, der er tilstrækkeligt forskellige til at fremhæve de forskellige opgaver, der findes inden for deres områder.
Alligevel udfylder mange udviklere mere end én rolle, og de fleste er fortrolige med flere programmerings- eller scriptingsprog. Måske er det derfor, at vi aldrig bliver enige om en “officiel” liste over udviklertyper.
Hvis du i mellemtiden har et webbaseret projekt, som du gerne vil lancere, kan du måske undersøge Kinsta’s løsninger til applikationshosting og databasehosting.
Skriv et svar