Maximilian Rågmo

Hej,

IMG_0101

Mitt namn är Max och jag jobbar som Software Engineer (SE – Utvecklare) på IFS. Jag läste svp med inriktning på systemutveckling vid LiU 2014-2017 och är därför alldeles nyexaminerad! Så… hur länge har jag hunnit vara på IFS? Nästan 3 månader som utvecklare och ett halvår som praktikant. Det är en ganska kort tid men jag ska göra mitt bästa och förklara hur en dag som utvecklare kan se ut på IFS.

Det brukar finnas en tro, eller kanske till och med en myt om att programmering är ett osocialt jobb. För att skapa ett dåligt system är jag helt säker på att det stämmer. För att skapa ett komplext affärssystem är kommunikation ett måste. Jag har dagligen nära kommunikation med teammedlemmar och det kanske passar ”oss” systemvetare ganska väl. Det handlar om att kunna förstå och förmedla olika idéer, lösningar och användare. I varje team på IFS finns det Business System Analysts (BSA) som bättre förstår den verksamhet och bransch vi utvecklar för. De hjälper oss utvecklare att förstå hur logik och funktion bör utformas så att vi göra verklighet utav det i systemet.

Lite mer specifikt, hur kan en vanlig dag se ut som utvecklare på IFS? Först och främst tillämpas en agil metodik. Vi arbetar i tvåveckors cykler som planeras av teamet utifrån en backlog – en lista som säger vad som ska implementeras. Att teamet själva gör planeringen innebär friare tyglar för hur implementeringen ska ske. När jag börjar på en ny uppgift får jag en design från en BSA. Om nödvändigt kan vi tillsammans gå igenom designen för att förtydliga oklarheter och skapa en gemensam syn på det hela. Sedan är det bara att koda, end of story. Nja, riktigt så enkelt är det kanske inte.

IFS har ett eget ramverk som bestämmer hur det grafiska ser ut och vilka komponenter som finns tillgängliga att använda. När vi utvecklar något till klienten använder vi oss av ramverket och definierar vilken data som ska visas, hur den ska visas och vilka handlingar som kan utföras etc. Ibland innebär det ett enkelt databasanrop av en befintlig tabell men ibland kan det krävas ganska ingående förståelse för den affärsdata som ska selekteras ut. Som tur är finns BSA:erna som ett stöd för frågor och utvecklare får absolut komma med förslag till förändringar. Det kan vara svårt att redan i en design avgöra vad som passar bäst så feedback är absolut viktigt åt båda hållen. Som sagt, en levande kommunikation bidrar till bra systemutveckling. Hursomhelst, när det fungerar som det ska stämplas koden in i affärssystemet och det känns lite coolt att flera tusentals användare kommer använda det som man varit med och utvecklat.

IMG_0097


För tillfället är jag delaktig i ett projekt som implementerar ett redan existerande flöde i en ny klient. Då eftersom affärslogiken redan existerar är det mest fokus på klientsidan men det är minst lika nödvändigt att förstå serversidan. Databaskursen kanske inte är den roligaste kursen under utbildningen på svp men definitivt en av de mest användbara. Alla system handlar i grund och botten om att lagra och hantera data så det är oundvikligt. Det innebär inte att man behöver vara expert och lära sig normaliseringersreglerna utantill (thank god), det sköter dagens verktyg rätt bra själva. Men med en bra förståelse för databastabeller och hur man framställer önskad data blir tiden vid datorn både roligare och enklare! Beroende på sitt tekniska intresse finns det givetvis olika nivåer av nörderi för olika roller på IFS. Jag trivs däremot väldigt bra på min avdelning som utvecklar för Service & Assets och tror att min bakgrund som systemvetare passar bra in här. Programmeringen är ”lagom” komplicerad samtidigt som det istället ger en utmaning i att förstå och lära sig den verksamhet som ska stödjas. Mer tekniskt avancerad programmering kan ha en tendens att inte vara lika nära verkligheten och användarna.

Det är svårt att lyckas beskriva en vanlig dag som utvecklare enbart i text men jag hoppas att det här ger någon insikt i alla fall :)