Interview
Free Agent Stig Christensen om Front-end development
Free Agent Stig Christensen om Front-end development
Vilken framgångsrik verksamhet som helst behöver en ren, funktionell, lätthanterlig och attraktiv websida som attraherar kandidater och kunder, och för att bibehålla deras intressen. Front-end utvecklingen av en websida är avgörande när det kommer till de punkarna. Om du får tag på fel typ av utveckling, kommer det inte bara skapa ett stillöst utseende, utan det kommer även driva bort värdefull trafik. Varför? Eftersom en förbättrad hemsida definierar företagets framgång.
Det tar endast 0.05 sekunder för den genomsnittliga användaren att bilda sig en uppfattning om ett B2B företag genom att titta på deras websida. Där av, spelar programmering och layout med design, funktionalitet och navigationsupplevelsen en viktig roll på webbsidan. Därför är Front-end utvecklare mycket efterfrågade. Oavsett om det gäller en stor organisation eller som frilansare så ökar efterfrågan. Det är en mycket flexibel karriär och du kan arbeta var som helst, inklusive hemma.
Eftersom Front-end webbutveckling alltid utvecklas och förändras, behöver front-end utvecklare ständigt interagera med nya verktyg och lära sig nya färdigheter för att stanna kvar i framkant i deras karriär.
På Free Agent™ hade vi precis ett samtal angående de med Stig Christensen. Stig är en front-end utvecklare med värdefull erfarenhet från JS, frameworks så som React och Vuw, NodeJs, Electron, WordPress, PHP, CSS/SASS, Webpack, Babel, ES6 och andra moderna tekniker och färdigheter. Stig delade med sig av sin syn på vad som händer med front-end utvecklingen just nu, fallgropar i området samt framtiden för frilansmarknaden.
Hur definierar du front-end utveckling?
I stora drag förklara jag vanligtvis det genom att säga att front-end utvecklare skapar det som användarna integrerar med. Det du använder, ser och trycker på. Det kan vara allt från en statisk HTML sida till en fullständig applikation med all tillhörande logistik och animation.
Front-end utveckling kan vara lite svår att definiera som en term eftersom gränserna mellan back-end och front-end börjar bli mer och mer flytande. Det existerar ett stort antal filosofier om hur vi bör separera termerna. Varje arkitektur och projekt har sin egen skärningspunkt och det är oftast inte en tydligt definierad linje.
Vilka färdigheter är viktiga att besitta som en duktig front-end utvecklare?
Den svåraste området i nästan alla former av utvecklingen är uppskattning! Det är svårt att ta hänsyn till oförutsägbara händelser och begränsningar ifall du inte varit med om det tidigare. Så, lär dig att vara försiktig med dina uppskattningar. På så sätt kan du alltid göra din kund glad genom att bli klar tidigt.
Din kund eller kollega kommer kanske inte alltid vara lika tekniskt kunnig som du är – så det är positivt om du kan agera som en brygga mellan de tekniska och de generella. Det är en styrka, och det visar på att du kan din sak om du kan kommunicera ett komplicerat språk så att alla förstår.
Bortsett från de är det fördelaktigt att dela upp saker som komponenter. Ingen vill få en faktura där det står ”en webbsida, det här är priset”. Dela upp de sakerna vid planering, uppskattning och fakturering – både för dig och för din kund. Det korrelerar också med en bra översikt. Det finns ett enormt antal komponenter, även på en enkel webbplats. En trevlig överblick är nödvändig – både för koden men även för projektet som helhet.
Finns det några fallgropar inom området?
Ur en teknisk synpunkt finns det många. Att skapa snabba, mottagliga sidor som ser bra ut på alla enheter och skärmstorlekar är en tidskrävande process som kräver en mängd tester och optimering av bilder, typsnitt och andra tillgångar. Google Page Speed Insights kan vara en tuff domare när du testar din sida – och kunden är alltid intresserad av att rankas bättre i sökmotorresultat.
En annan fallgrop är, som tidigare nämnt, uppskattning av hur lång tid en uppgift tar.
Funktioner som läggs till i projektet mot slutet, men som borde ha inkluderats i början, är också en vanlig fallgrop.
Om du inte har en bra strukturering av koden från början kommer det vara svårt att underhålla och utveckla den senare om klienten behöver något mer från dig, eller om du behöver vidarebefordra projektet till en annan programmerare.
”Bloat” är en annan fallgrop. Skulle användaren bli tvungen att ladda ner en 2-megabyte JavaScript-kod eftersom något måste fixas i det senaste ramverket, även om det bara kunde ha varit en statisk html-webbplats?
Finns det några specifika trender inom området just nu?
Personligen, är jag nu väldigt intresserad av WebAssembly (i princip för att bygga en "native" -kod på samma sätt som ett program som körs direkt på din dator. Men den finns på servern och du kan interagera med den i webbläsaren på JavaScript. Under de kommande åren tror jag att vi kommer se en stor utveckling inom vad du kan göra online på grund av denna teknik. Människor har redan börjat konvertera 3D-spel och bygga virtuella syntar direkt i webbläsaren. Detta är ett stort steg längre bort från ”webbplatsens” paradigm.
Vilket är ditt drömfrilansprojekt?
Det jag verkligen gillar med frilanslivet är variationen. Jag är inte säker på att jag skulle vara lycklig om jag var tvungen att arbeta med samma projekt för alltid. Just nu skulle mitt drömprojekt definitivt gå med i “the bleeding edge” inom vissa områden. Både för att jag skulle lära mig många nya saker, men också för att det är något som skulle hjälpa oss att gå vidare. Utöver det kan det vara projekt som skulle göra en verklig förändring för många människor.
Hur ser du på framtiden för frilansmarknaden?
Jag tror inte att efterfrågan av webbutvecklare kommer avta om inte något riktigt radikalt skulle hända. Det är möjligt att fler utvecklare kommer vända sig mot frilans istället för att fastna i permanenta positioner – även om det också kan ha sina fördelar. Jag tror att vi kommer att se fler kontaktöverskridningar med andra bruncher så som datavetenskap, där vissa personer kommer från en ganska klassisk matematisk värld och andra från programmeringssidan.