Kode med mening
I softwaremiljøet i Kongsberg Defence & Aerospace handler det om kode til avanserte, teknologiske produkter og komplekse systemer med ekstreme krav til ytelse og presisjon. Produkter som utgjør en forskjell og som bidrar til å beskytte mennesker og kritisk infrastruktur.
-
Text:Anita Nyheim / KONGSBERG
Photo:Magnus Bjørnnes / KONGSBERG
Hva om du fikk muligheten til å jobbe med software til Joint Strike Missile (JSM) - missilet som sitter i Norges nye kampfly F-35? Et missil med en teknologi så avansert at det gjenkjenner målet, unngår materiell eller infrastruktur den ikke er tiltenkt, og som vil destruere seg selv dersom den ikke finner målet.
Eller luftforsvarssystemet NASAMS; anerkjent for sin pålitelighet, nøyaktighet og brukervennlighet, og som brukes av flere nasjoner verden over, inkludert Norge, USA og flere NATO-land, for å beskytte viktige områder og infrastruktur mot lufttrusler.
I det stadig skiftende landskapet av moderne teknologi, handler programvareutvikling om mer enn bare koding. Det er en finstemt kunst som avhenger av samarbeidet mellom ulike team, alle sammen arbeider de for å takle både dagens utfordringer og forberede seg på morgendagens muligheter.
La oss se nærmere på hva softwareutvikling- og arkitektur egentlig innebærer, og hvordan de kompetente fagmiljøene i Kongsberg Defence & Aerospace jobber med dette.
Softwareutvikling innebærer å skape og vedlikeholde applikasjoner og software-systemer som møter brukernes behov. Denne prosessen innebærer flere nøkkelkomponenter:
Kravspesifikasjoner: Dette trinnet fokuserer på å forstå og nøye dokumentere brukernes behov og systemets krav for å sikre at den endelige programvaren møter forventningene.
Design: I denne fasen utformes systemets arkitektur. Det planlegges hvordan de forskjellige komponentene skal interagere for å danne et effektivt system.
Koding: Her anvendes et eller flere programmeringsspråk for å omskape designet til funksjonell kode. Dette er hjertet av softwareutviklingsprosessen.
Testing: Et avgjørende skritt for å sikre at programvaren fungerer som forventet. Eventuelle feil identifiseres og rettes i denne fasen for å garantere programvarens pålitelighet og effektivitet.
Vedlikehold: Etter lanseringen av programvaren, er vedlikeholdsfasen nødvendig for å oppdatere og forbedre programvaren over tid, og holde den relevant og effektiv i møte med skiftende brukerbehov og teknologiske fremskritt.
Softwarearkitektur fokuserer på å definere og strukturere systemets hovedkomponenter og deres interaksjon. Det omfatter:
Arkitekturstiler: Dette innebærer å velge en passende arkitekturstil som passer systemets krav og mål, for eksempel mikrotjenester eller monolittisk arkitektur, for å sikre et robust og effektivt system.
Designmønstre: Implementering av etablerte og velprøvde løsninger for å takle vanlige designutfordringer, slik som MVC (Model-View-Controller). Dette bidrar til å standardisere utviklingen og forbedre systemets vedlikeholdbarhet.
Skalerbarhet og ytelse: Utformingen av arkitekturen tar hensyn til systemets evne til å håndtere økende belastning og beholde høy ytelse. Dette sikrer systemets langvarige effektivitet og pålitelighet, selv under skiftende driftsforhold.
Sikkerhet og personvern: En nøkkelfaktor er å implementere robuste tiltak for å beskytte sensitive data og brukerinformasjon. Dette innebærer et kontinuerlig fokus på sikkerhetsstrategier og personvernspraksis for å forsvare mot trusler og sikre brukernes tillit.
I Kongsberg Defence & Aerospace bruker vi en kombinasjon av modellbasert og agil utvikling, med fokus på smidige metoder som Scrum. Denne tilnærmingen sikrer høy fleksibilitet, et aktivt kundesamarbeid, og en rask tilpasningsevne til eventuelle endringer. Mange av teamene våre, som varierer i størrelse, arbeider i sprinter som typisk strekker seg over to til fire uker. Under disse sprintene forplikter de seg til spesifikke oppgaver og holder daglige statusmøter, noe som sikrer kontinuerlig fremgang og effektiv identifisering og løsning av utfordringer.
Programmeringsspråket vi primært bruker er C++ som er kjent for sin robusthet og egenskaper egnet for komplekse og høyteknologiske systemer. I tillegg opererer vi på flere plattformer, inkludert både Windows og Linux-operativsystemer. Denne mangfoldigheten i både utviklingsmetoder og teknologier sørger for at vi kan møte våre unike krav til både ytelse og pålitelighet i våre avanserte prosjekter.
- Det jeg liker best med jobben min er at det er en veldig variert arbeidshverdag. Jeg får møte mange forskjellige mennesker og fagmiljøer, være på laben og teste hvordan systemet vi har utviklet fungerer, ut i produksjonshallen og fysisk se hvordan produktene fungerer, se på sammenstilling av alle komponentene, reise til underleverandører for å bistå med integrasjon av deres produkter og til kunder for å kontrollere at produktet fungerer i henhold til kravspesifikasjonene.-Trine, Softwarearkitekt Integrated Defence Systems.
I vårt softwaremiljø finner du en dynamisk gjeng av utviklere og arkitekter, spredt over forskjellige divisjoner og produktområder. Vi har organisert oss i mindre, spesialiserte team som hver er dypt fokusert på å meisle ut de beste løsningene. Noen av disse teamene dykker ned i spesifikke produkter, mens andre jobber med unike prosjekter. Vi legger stor vekt på å sørge for at nykommerne våre føler seg velkomne og blir en naturlig del av laget, både sosialt og faglig. Det handler om å skape et arbeidsmiljø som er rikt på kunnskap og støtter godt samarbeid.
- Hos oss er det ingen som jobber alene, alle er en del av et team, forteller Elin Lintvedt som er avdelingsleder for softwaregruppen i divisjon Missile Systems.
Og det er ikke tilfeldig. Det handler om tilhørighet, dynamikk og kompetanseutveksling. Ikke minst fordi en stor andel av utviklerne er unge tilflyttere som kommer rett fra skolebenken uten nettverk.
Av samme årsak har flere avdelinger etablert sin egen «sosialkomite» som organiserer ulike sosiale aktiviteter, både på jobb og på fritiden, og legger til rette for et inkluderende miljø hvor ansatte kan trives og vokse.
Avdelingene består av mange ulike personligheter, men noen fellestrekk har de; alle er veldig stolte av produktene vi lager og kjenner eierskap til dem, de er nysgjerrige og deler av sin kunnskap. Også liker de gaming.
- Det er nok ingen overraskelse at vi er en gjeng med gamere, og liker godt å tilbringe tid foran skjermen både på og utenfor jobb.– Håvard, Senior softwarearkitekt divisjon Land Systems.
Medarbeiderne vi leter etter er lidenskapelig opptatt av software- og systemutvikling. Faglig dyktighet veier tungt, men også en genuin interesse for å utvikle innovative løsninger innen teknologi.
For å styrke og utvide denne kompetansen, legger vi stor vekt på intern opplæring. Dette sikrer at våre medarbeidere holder seg oppdatert med de siste trendene og teknologiene, og stadig forbedrer sine ferdigheter.
På den personlige fronten søker vi etter individer som er uredde, tar ansvar, og ikke kvier seg for å prøve nye ting. Vi ser etter de som har en sterk faglig innsikt og evnen til å utvikle høykvalitets- software, og som er grundige i sin tilnærming til testing og kvalitetssikring.
- Det er en kunst å lage god, vedlikeholdbar software som ikke overkompliserer ting, men utvikle enkle løsninger som fungerer godt. – Øivind Ødeskaug, avdelingsleder Software divisjon Land Systems.
Teknologi og innovasjon
Vi jobber aktivt med å holde tritt med de raskt skiftende teknologiske trendene gjennom spennende prosjekter dedikert til utvikling og modernisering. Målet er å halvere leveransetidene og øke automatiseringen i vår programvareutviklingsprosess. Dette innebærer å fornye utviklingsplattformene vi sitter på, og bytte ut de tradisjonelle verktøyene med mer moderne og effektive alternativer.
Vi er også opptatt av å integrere ny teknologi, som f.eks. siste generasjons software for våpenstasjoner, Mainline 5. I tillegg tilbyr vi flotte muligheter for karriereutvikling, fra juniorroller til seniorposisjoner, og videre til roller innen arkitektur eller ledelse.
Selv om vi er forsiktige med bruk av kunstig intelligens, spesielt i operative produkter, ser vi det store potensialet AI har i mange anvendelser. Vi vektlegger ansvarlig og sikker bruk av AI for å fremme innovasjon og effektivitet.