Vad gör en webbutvecklare egentligen?

 

Introduktion

Hej där! Mitt namn är Stefan Pettersson, och jag har arbetat som webbutvecklare i drygt 15 år nu, och förutom att arbeta professionellt så hjälper jag blivande webbutvecklare att upptäcka skönheten i att lära sig koda när de blir involverade i denna märkliga och spännande värld. Innan jag går in på att svara på frågan ”Vad gör en webbutvecklare egentligen?”, så låt mig först berätta lite mer om mig själv och min resa.

Förutom att arbeta som webbutvecklare, så undervisar jag personligen också blivande webbutvecklare över hela Europa.

Varför gillar jag att lära ut så mycket?

Jo, min önskan att undervisa kom ganska så naturligt. Efter cirka 10 års arbete i olika startup-, semi-företags- och frilansjobb över hela världen så utvecklade jag en stark önskan av att förmedla det jag själv hade lärt mig inom området till nästa generation av kodare. Det är viktigt för mig att ge något tillbaka till samhället som har hjälpt mig så mycket genom åren. Mentorskap var helt vettigt för mig.

Under loppet av mitt yrkesliv så har jag haft en mängd olika roller som webbutvecklare och använt en rad olika programmeringsprocesser, allt beroende på klienten, situationen och arbetsplatsens krav. I den här guiden så kommer jag att beskriva en del av dessa olika processer så att du kan få en uppfattning om vad en webbutvecklare gör i sitt dagliga liv. Om du är intresserad av ett visst underämne i guiden, så välj det från listan nedan så hoppar du direkt till det. Njut av det!

1. Hur lärde jag mig att koda?

Jag blev intresserad av programmering i väldigt ung ålder. Från den dag då jag upptäckte att det var lika enkelt att skapa en webbsida som att skriva enkla instruktioner – även känt som kod – i en fil och sen öppna den i en webbläsare, så tog det väldigt kort tid för mig att sedan utveckla ett djupt intresse för dynamiska webbspråk som PHP3 och att börja översätta verkliga beteenden/problem till algoritmer och program.

Jag minns att jag gick i gymnasiet och blev fascinerad av potentialen i detta verktyg – internet – och möjligheten att en dag kunna interagera med varje människa på planeten genom detta fantastiska medium.

Efter examen så bestämde jag mig för att gå ett 5-årigt program på ett universitet i Lyon, Frankrike. Medan jag började med att lära mig några av de enklare kodspråken för nybörjare, så bestämde jag mig snart för en favorit. På sommaruppehållet mellan det andra och tredje året så ledde livet mig till en parisisk praktikplats i ett litet team av utvecklare som arbetade med Ruby-on-Rails.

De byggde många applikationer, alla kodade i Rails, som på den tiden ansågs som svart magi som var reserverad för konstens verkliga trollkarlar. Till höger om mig satt min första mentor, som inte bara var en källa av kunskap, utan också fullkomligt inspirerande.

Jag var fast

Att få möjligheten att bemästra ett verktyg med så obegränsad potential och att bygga applikationer som tjänade alla möjliga olika funktioner, allt från grundläggande webbplatser till kompletta plattformar online och sociala nätverk, det gjorde mig väldigt upphetsad.

Organisationen av arbetet, flexibiliteten och den avslappnade aspekten av hela sektorn förförde mig, och när jag var klar med praktiken så avstod jag från att slutföra de tre återstående åren av min utbildning och tackade ja till en projektanställning på företaget där jag praktiserat under sommaruppehållet. Jag hade då allt jag behövde – jag var redo att arbeta på egen hand som frilansande webbutvecklare och hade fått mitt första uppdrag.

Du behöver dock inte vara något ungt smart barngeni för att komma in i webbutvecklingsvärlden. Som mentor under flera år så har jag sett hundratals studenter gå över från alla möjliga andra karriärer till webbutveckling. Ålder och bakgrund behöver inte vara faktorer. Engagemang och motivation är det som verkligen är nyckeln. Med det sagt, så låt oss ta en titt på vad en webbutvecklare verkligen gör.

2. Hur fungerar webbutvecklare vanligtvis?

Webbutvecklare är ständigt efterfrågade, och jag menar inte bara på arbetsmarknaden. Fråga vilken webbutvecklare som helst i nästan vilket företag som helst och de kommer att berätta att om de lämnas ”obevakade” så kommer de att få förfrågningar om hjälp från personal i hela företaget. Dessa förfrågningar kan relatera till små buggar, eller förmodade små funktionsändringar som Anna från HR eller Sanna från Marketing vill ha implementerat.

För att formalisera en webbutvecklares arbete och göra det möjligt för dem att fokusera på de viktigaste uppgifterna så krävs det en process.

En webbutvecklingsprocess, som liknar en webbdesignprojektprocess, är ett protokoll, normalt detaljerat i ett dokument som både klienten (internt eller externt) och utvecklaren är helt överens om. Detta protokoll specificerar de olika faser som ett projekt kommer att genomgå för att uppnå ett fullständigt slutförande. Den beskriver de olika stegen som kommer att tas – utvecklingsstadierna – från den enkla diskussionen mellan båda parter till att applikationen är online, funktionell och operativ.

Varje utvecklare har sitt eget sätt att arbeta, och även då så kan tillvägagångssättet variera från projekt till projekt beroende på kundens behov, projektets längd, vilka utvecklingsplattformar som används och antalet involverade utvecklare.

3. Vad är värdet av process i en webbutvecklares arbete?

Jag nämnde kort att våra processer hjälper oss att fokusera på det som är viktigt. När jag började min karriär som frilansande webbutvecklare så hänvisade en av mina vänner mig till en av hans vänner som letade efter en webbutvecklare. Jag tog jobbet, fick en snabb genomgång av honom och började koda direkt.

Eftersom jag ville imponera på honom och var ganska så nervös inför min första, riktiga, egna klient, så gjorde jag så mycket arbete jag kunde, på kort tid utan mycket kommunikation från min sida. Tre veckor senare, var jag stolt över att visa honom mitt arbete, en hel vecka före min deadline, så jag skickade över webbadressen till det färdiga arbetet till honom.

Jag fick dock inte den respons och det beröm jag hade hoppats på. Han skrattade åt att jag hade byggt exemplet som han baserade sidorna på och inte själva sidorna. Här lärde jag mig min första läxa om webbutvecklingsprocessen: att på djupet diskutera kundens behov innan jag skriver en enda rad kod.

Det behöver dock inte gå så långt att du måste förlora en kund för att du ska inse att en stabil webbutvecklingsprocess, eller webbdesignprocess, inte bara är användbar för att bli en framgångsrik webbutvecklare utan också är något helt nödvändig.

Det här citatet säger allt när det gäller en webbutvecklingsprocess:

”Förstå dina kunder först. Utbilda dem sedan. Berätta för dem vad de behöver, innan de inser det själva.

Vikten av en process

När du arbetar med ett projekt som utvecklare så kommer du i allmänhet att finna dig ”själv”, oavsett om du är frilansande eller in-house och arbetar med en mängd andra teammedlemmar, inklusive UX- och UI-designers, grafiska designers, dataanalytiker och många andra. På grund av detta teamsamarbete så är det avgörande att ha en process. Ditt team kommer att dra direkt nytta av en bra organisation och schemaläggning och kommer att kunna interagera vid rätt tidpunkter, arbeta synkront och inte behöva vänta på någon medlem i teamet.

Genom att identifiera och lyfta fram olika faser av webbplatsutvecklingen i din plan så säkerställer du att hela teamet är medvetna om webbutvecklingsprocessen och kan arbeta tillsammans, flytande och transparent, med en bra kommunikation och tydliga beröringspunkter. Teamet är sedan synkroniserat och kan effektivt uppfylla kundens förväntningar på projektet.

Dessutom så har varje projekt sina upp- och nedgångar, sina vändningar och kurvor. Många gånger så kommer klienten att bestämma sig för att han vill ha navigeringsfältet högst upp till vänster, för att sen helt plötsligt, ändra sig två dagar senare och kräva att få tillbaka det på samma plats där det var tidigare. Det är detta som gör en webbutvecklingsprocess så viktig när du interagerar med en klient.

”Den viktigaste delen av ett projekt är att veta det önskade resultatet. Om kunden inte är säker på vad den vill ha så MÅSTE du ta reda på det innan du påbörjar någon som helst utveckling, och en skriftlig kravdokumentation är det allra bästa sättet att göra detta. Det är inte bara att markera en ruta i processen, det är nyckeln till en övergripande framgång.”

Ur kundernas synvinkel, om du har en tydligt definierad process, så håller den inte bara deras förväntningar i linje med dina, och ger en bestämd ordning på händelserna för hur implementeringen kommer att gå till, det sätter också en ”rytm” för hela jobbet som hjälper till att hålla alla på rätt spår.

I likhet med en webbdesignprojektprocess så innebär en tydlig webbutvecklingsprojektprocess att kunden har en bestämd förståelse för alla steg inom webbplatsutvecklingen som kommer att tas under projektets varaktighet. Hen kommer att veta vad hen kan förvänta sig vid vissa tidpunkter under projektet och kommer därför att kunna avgöra, med en snabb överblick ”Vi är sena” eller ”Vi kommer att bli färdiga i tid”. Att ha denna information transparent för hela teamet, såväl som för kunden, innebär att alla befinner sig på samma sida.

Ge kunden något att lita på

Det ger kunden något att lita på och att följa som försäkrar hen om att projektet är igång och rullar på som det ska. Utan en transparent process från utvecklaren så kan klienten finna sig själv famlande i blindo genom hela projektet och kan lätt bli förvirrad av tanken på att projektet ligger efter och sannolikt inte kommer att lyckas bli färdigt i tid, ett intryck som ingen webbutvecklare vill ge till sina kunder.

”Håll alltid koll på deadlines – så fort en deadline missas så kommer projektet att verka vara i oordning. Kommunikation varannan vecka är bra: berätta för de andra i teamet vad du har gjort, vad du behöver av dem och fråga vad de behöver av dig.”

Implementera goda vanor

När du startar en ny karriär så är de första veckorna och till och med månaderna helt avgörande för att implementera goda vanor, bästa praxis och realistiska rutiner. Det är därför jag betonar vikten av att utveckla dessa vanor direkt från början. Det är mycket svårare att jobba bort våra dåliga vanor än att börja med bra.

Mitt råd till nybörjare är att lära sig att implementera sin egen webbutvecklingsprocess så snart uppdragsdokumentet från kunden är klart, eftersom att inkludera struktur i ditt sätt att arbeta direkt från början har ett antal fördelar både när det gäller ditt rykte som webbutvecklare och i ditt utförande av det aktuella jobbet; det är ett varumärke för professionalism, attraherar kunder, lindrar stress och oro för ett givet problem och möjliggör en mer hållbar arbetsmiljö.

Planera

Det finns så många olika tillvägagångssätt när det gäller att planera ditt projekt att det kan vara svårt att veta vilket som är det mest effektiva för ditt syfte: vattenfallsutveckling, inkrementell utveckling, iterativ utveckling, spiralutveckling, agil utveckling…

De sätt som webbutvecklare vanligtvis arbetar på

Här är två mycket använda metoder.

1. Vattenfallsmetoden för webbutveckling

Det ”traditionella” sättet att göra saker på är att använda vattenfallsmodellen. Det här är den som beskrivs nedan, där projektet är uppdelat i sju mycket specifika faser. Varje fas tjänar sitt eget specifika syfte och hela processen bör utföras på ett linjärt sätt.

Att förstå kundens behov

Det här är fasen där klienten och du sätter dig ner och tar reda på exakt vad slutmålet med webbapplikationen är och vilket generellt syfte den måste tjäna.

Definiera specifikationer

I denna fas så definierar klienten (ibland med webbutvecklaren) applikationens beteende. Detta kan vara mycket generellt, ner till mycket specifika åtgärder för applikationen. Diskussionen är beroende av hur stort projektet är, och hur flexibla båda parterna är. Med en ny kund så brukar jag alltid vara så specifik som möjligt för att undvika några problem längre fram.

Genomförande

Detta är hjärtat i alla projekt. Vid denna tidpunkt så arbetar utvecklaren med detaljerna och implementerar de olika specifikationer som båda parter kommit överens om i förväg.

Testmiljö

Vid det här laget så sätter utvecklaren upp en testmiljö där applikationen kan installeras för att klienten ska få tillgång till den och kan utvärdera det slutliga arbetet.

Fram och tillbaka

Kunden ger sina kommentarer om arbetet, utvecklaren gör nödvändiga ändringar och implementerar dem, etc… Så småningom så leder detta arbete, som går fram och tillbaka, till en punkt där båda parter är överens om att produkten är slutgiltig. Den här fasen kan vara lite känslig eftersom det kan bli något av en maktkamp om specifikationerna inte definierades tillräckligt exakt i början (det är därför det är så viktigt att vara så transparent som möjligt från början av projektet!).

Produktion

När båda är överens om slutprodukten så installerar utvecklaren (eller ibland kundens tekniska team) applikationen i en miljö redo för allmän användning.

Underhåll

Många applikationer kräver ytterligare underhåll, antingen för att lägga till nya funktioner eller för att fixa till buggar.

2. Den agila metoden för webbutveckling

Ett annat sätt att planera ett projekt är att använda agila metoder. Tekniker som ”Scrum” eller ”Extreme Programmering” har blivit allt populärare de senaste åren. Dessa metoder består i att sätta upp allt för kunden att se så snart som möjligt, sedan bygga produkten i mindre (1 till 3 veckors) iterationer av klara delprodukter som kunden kan testa och reflektera över och därmed omorientera projektet till den väg som passar situationen bäst.

Den här typen av utvecklingsprocess är ett utmärkt sätt att navigera efter oplanerade förändringar, vilket är särskilt användbart när man arbetar med kunder som har en tendens att ofta ändra uppfattning. Kunder tenderar även att vara mer nöjda med den här metoden, liksom utvecklare som inte längre behöver kasta bort veckors arbete när kunden är missnöjd.

Säkerställ en process

Vilken metod du än väljer att använda så krävs ett komplett UI och design för att kickstarta utvecklingsprocessen. En klient får en bättre uppfattning om det slutliga resultatet när hon kan se det grafiskt. Ditt jobb som utvecklare är att säkerställa en process som ger ditt arbete liv. Att ha ett komplett användargränssnitt och solida UX-regler gör att man kan undvika många problem längs vägen och när produkten väl har byggts.

3. Bästa metoder

Det finns några bästa praxis som är bra att vara medveten om i din webbutvecklingsprocess:

  • Dokumentera alltid din webbutvecklingsprocess.
  • Att använda icke-tekniskt språk i webbutvecklingsprocessen ger transparens med dina kunder. Denna process/dokument är den sista ”barriären” innan du går in i webbutvecklingsprocessen, så gör den så lätt att förstå som möjligt!
  • Att kommentera i din kod är också något att vara noga med. Du kanske inte är den enda som använder/arbetar med den här koden, även om du är den enda utvecklaren på den just nu. Så se till att kommentera i din kod så mycket du kan, om inte saker och ting är helt självförklarande (t.ex. tester/specifikationer).
  • Varje kund har olika sätt att arbeta, och att böja reglerna lite från din sida kommer att göra en stor skillnad för alla dina kunder. Bäst att ändra saker lite på din sida istället för att vara stel vid en process som inte skulle passa det specifika projektet/kunden.
  • Försök att skapa mallar för ofta använda dokument som fakturor, överlämningar till kunder, förslag/uppskattningar och offerter. Det finns många onlineapplikationer byggda för detta ändamål, inklusive redovisning och allt som behövs för frilansaren.

Hur jag avslutar ett projekt:

Uppföljning – vanligtvis efter 30 dagar för att se hur det går för klienten och för att se till att allt är OK. Vid storskaliga projekt så kommer jag vanligtvis att vara kvar i en 30-dagarsperiod efter överlämnandet för att fixa till allt som vi kanske inte har uppmärksammat före projektets överlämnande.

Hur jag tänker om processer:

”Jag upptäckte tidigt att om jag inte har en process att arbeta efter så skulle det innebära att jag skulle röra till mina projekt, vilket i sin tur skulle göra dem svårare att underhålla och bygga ut i framtiden.”

Summering

I den här artikeln så har jag demonstrerat och utvärderat de många stadierna i en webbutvecklingsprocess, värdet det tillför, inte bara för kunderna, utan för alla de som arbetar med ett givet projekt, inklusive dig i din roll som webbutvecklare. Vi har diskuterat anledningarna till varför det är så viktigt att ha en webbutvecklingsprocess på plats tidigt för alla inblandade och hur man demonstrerar sin process för kunden från dag ett.

Oavsett om du använder vattenfallsmodellen eller mer agila metoder så har vi sett att det finns vissa faser som alla projekt måste gå igenom oavsett hur du väljer att organisera dem, och dessa är avgörande för framgången för alla webbutvecklingsprojekt.

Aktuellt för närvarande

För närvarande så jobbar jag i stort sett endast som webbutvecklare för onlinecasinon, vilket är både roligt och krävande. I regel så är det ganska så omfattande projekt som tar månader att färdigställa trots att vi är relativt stora team som jobbar med det.

Att utveckla ett onlinecasino helt från grunden kan vara ganska så tidskrävande på grund av alla olika utmaningar man som webbutvecklare ställs inför. Regleringen i många länder begränsar dessutom ofta onlinekasinoverksamheten på något sätt, vilket innebär att en hel del extra arbete läggs på webbutvecklarna då casinot måste fungera på lite olika sätt beroende på vilket land besökarna kommer ifrån. Det finns dessutom en hel del måste-ha-funktioner som ska utvecklas och fungera helt klanderfritt.

Innan utvecklingen överhuvudtaget kommer igång så måste casinot ha ordnat en eller flera spellicenser beroende på vilka marknader som verksamheten ska drivas. Förutom det så måste de ha valt en pålitlig iGaming-leverantör för spelen, vilka sedan ska integreras på hemsidan, vilket naturligtvis blir webbutvecklarnas uppgift.

Ett casinos webbutveckling går igenom flera olika stadier efter att licensfrågor och liknande har lösts. Den bästa metoden som jag i regel föredrar att bygga efter är MVP* och välja alla de funktioner som casinot absolut måste ha för en möjlighet att lyckas på en konkurrensutsatt marknad. Det dessutom viktigt att noggrant på förhand diskutera genom alla möjliga utmaningar och finna lämpliga sätt att lösa eller undvika dem.

*MVP, kommer från engelskans ”Minimum Viable Product” vilket på svenska betyder ungefär ”minsta livskraftiga produkt”, det hjälper dig att förstå och besluta hur du ska vidareutveckla en tjänst eller produkt genom att man ger användarna tillgång till lösningen innan den är helt färdigbyggd.

Ett casino online måste även erbjuda flera olika betalningsmetoder för att tillfredsställa spelarna. Många betalsystemleverantörer är redo att samarbeta med onlinekasinon men för att få allting att fungera på ett smidigt och helt säkert sätt så gäller det verkligen att webbutvecklarna vet vad dom gör så det inte finns några sårbarheter.

Det gäller även att inte överbelasta spelplattformen med onödiga element, eftersom för många element tenderar att öka laddningstiden. Statistik visar att 47 % av användarna förväntar sig att en webbplats ska laddas på 2 sekunder eller mindre.

Det krävs dessutom en responsiv webbdesign. Enligt statistik så kommer över hälften av webbtrafiken till ett casino från mobila enheter. Smartphones är enkla och bekväma att använda när man är på språng och har en stund över, så för att engagera fler användare till ett casino så måste man verkligen anpassa den för mobilskärmarna.

Kundsupport 24/7. När man utvecklar en casinosajt så är det även viktigt att erbjuda besökarna en onlinesupport dygnet runt vid eventuella frågor.

Säkerhet och konfidentialitet för all personlig information är ytterligare en aspekt som kräver uppmärksamhet.

För att engagera användare så måste även ett casino erbjuda ett flexibelt bonussystem. Det kan finnas bonusar för registrering, för insättningar, för att spela vissa spel, och så vidare.

Trots alla tekniska utmaningar så förväntas marknaden för onlinespel växa med 8,77 % och uppgå till mer än 87 miljarder dollar 2024.

Så det finns goda framtidsutsikter om du funderar på att bli webbutvecklare!

Lämna ett svar

Din e-postadress kommer inte publiceras.