Hvordan har rollen som Data Engineer endret seg i 2024?

Simen Haug
PwC Norge
Published in
8 min readJul 1, 2024

Les hvordan rollen som data engineer kan bli preget av generativ AI

Man kan se tilbake på fjoråret som året hvor AI (Artificial Intelligence) virkelig kom på alles lepper, og dette har fortsatt med minst samme styrke i år. Dette har også påvirket dataområdet i stor grad, og de aller fleste leverandører implementerer nye AI-løsninger i deres produkter. Dette er nok bare starten på en stor AI-omveltning i dataverden, og om ikke lenge vil nok de aller fleste verktøy ha sine AI-løsninger implementert som en del av standardproduktet. Men hvordan påvirker dette hvordan man jobber som data engineer eller data analyst? Hvordan påvirker dette hvilke ferdigheter og verktøy man burde beherske for å fortsatt være gjeldende på markedet?

Photo by Luke Chesser on Unsplash

Reisen mot en karriere som data engineer kan være overveldende for de som er nye, særlig på verktøyfronten. Oversikten under viser hvor stort verktøyuniverset kan være. Denne oversikten utvider seg i tillegg stadig med nye verktøy:

Mange vil nok kjenne seg igjen i det at markedet beveger seg hurtig fremover, og at så fort man begynner å mestre et verktøy er det plutselig et annet verktøy som man burde lære seg. Mange stiller seg selv spørsmålene: «Burde jeg lære meg Snowflake eller Databricks? Hva med Spark eller Airflow?».

Og dette med god grunn. Er det en ting utviklingen de siste årene har vist er det at markedet endrer seg kjapt, og verktøy som har virket nye har allerede rukket å bli avleggs. Så burde man egentlig spesialisere seg, eller risikerer man å bli å bli for bundet til et spesifikt verktøy som gjør deg utdatert om noen få år?

Min spådom er at med fremskrittet innen AI, og med et trangere økonomisk marked globalt som allerede har ført til vanskeligere tider for tech-selskaper, vil man se et skifte tilbake til de fundamentale ferdighetene blant ansatte i dataverden. AI kan hjelpe med mye, men om bedriften ikke har kontroll på dataene eller kostnadene sine kommer de ikke langt. Det betyr også at om du som ansatt ikke klarer å ta i bruk de mange fordelene og effektiviseringsmulighetene AI gir deg, vil du sakke akterut på arbeidsmarkedet.

Basert på egen erfaring og hva jeg tror om fremtiden, har jeg listet opp noen av de fundamentale ferdighetene/kunnskapsområdene som vil være stadig like relevante for en data engineer de kommende årene:

1. Data governance

Data governance blir jo gjerne omtalt som det største problemet med AI, og det med god grunn. Man vet ennå ikke hvilke data som ligger bak de store språkmodellene som ChatGPT, og de fleste selskaper fraråder å sende inn sensitive data eller kundedata til disse modellene. Disse språkmodellene blir også anklaget for å fremme stereotypier og å være «biased». I tillegg til dette oppgir veldig mange bedrifter at de sliter med data governance, både med tanke på hva alle dataene deres består av, og hvilke data de har tilgjengelig. Både når det gjelder sikkerhet og personvern, men også hvilke muligheter man som bedrift har. God kontroll på data governance er essensielt. Kanskje vil man se en økning av stillingsutlysninger for Chief Data Officers, Data Stewards eller Data Governance-konsulenter i tiden som kommer?

2. Datamodellering

Mens AI kan hjelpe deg med å skrive bedre kode, er det derimot vanskeligere for AI å fortelle deg hvordan du burde modellere dataene i et selskap. Mange har det siste året trukket frem debatten mellom Kimball og Bill Inmon, og hvilken metode som faktisk er best. Uavhengig av hvilken side man er på i debatten mellom disse leirene, vil en bevisstgjøring av viktigheten av datamodellering hjelpe deg langt på vei, og spare deg for mye frustrasjon og ekstra jobb senere. Gjør man en dårlig jobb med datamodelleringen tidlig i et prosjekt, kan man til slutt ende opp med å ikke ha kontroll på noen av dimensjonene når antall tabeller og datamengder øker. Det fører ofte til at man må starte på nytt. Har man derimot et bevisst forhold til hva som er fordelene med for eksempel en stor faktatabell og brede dimensjonstabeller, vil man sannsynligvis enklere kunne bygge ut kundens datamodell om de ønsker mer data senere. Et lite tips her kan være å børste støvet av den gamle, men fortsatt relevante boka til Ralph Kimball: The Data Warehouse Toolkit.

3. Grunnleggende programmeringsferdigheter

Bruk av AI kan hjelpe deg å skrive enda bedre kode i alle verdens programmeringsspråk, men om du ikke behersker språkene grunnleggende vil man få lite ut av hjelpen man får. Som en data engineer eller analyst er det fortsatt SQL og Python som er gjeldende. Mange har spådd SQL sin død i flere år, men mye tyder på at SQL står mer stødig enn på lenge, særlig med den stadig større utbredelsen av dbt (data build tool) som transformasjonsverktøy. Også store skydatavarehus, som Snowflake, bruker SQL som hovedprogrammeringsspråk, selv om støtten for Python og PySpark også har kommet til Snowflake i løpet av nyere tid.

Python har rukket å bli det kanskje mest utbredte programmeringsspråket i IT-verden, og er også veldig gjeldende i dataverden. De fleste orkestreringsverktøy godtar bare Python som kode, og skal man interagere med APIer er det fortsatt Python som gjelder.

Grunnleggende ferdigheter i bash-scripting/Linux-kommandoer vil være fordelaktig om man ønsker å bygge en karriere som data engineer. De fleste jobber nå i skyen, og stort sett er det virtuelle Linux-maskiner man kjører på de fleste skyplattformene, og da er bash -scripting måten å kommunisere med disse på. Med økningen i bruk av containere og Docker, er man også nødt til å kunne grunnleggende bash-scripting for å nyttiggjøre seg av disse teknologiene.

4. Kunnskap om skyplattformer

Som tidligere nevnt har de fleste selskaper av en viss størrelse tatt reisen opp i skyen, enten helt eller delvis. På det norske markedet er det hovedsakelig de tre store skyplattformene Microsoft Azure, Amazon Web Services (AWS) og Google Cloud Platform (GCP) som gjelder, og da i særlig grad førstnevnte. PwC sin dataplattformundersøkelse blant norske virksomheter viste at over 70% brukte Azure som skyplattform, mens på det internasjonale markedet har AWS også en relativt stor utbredelse. Har man først jobbet på en av plattformene er det lettere å sette seg inn i en av de andre. De store forskjellene er i grove trekk navnene på de ulike tjenestene, interface, kostnad og mengden forskjellige tjenester de tilbyr direkte på sin plattform. En forståelse av hvordan prosessering, lagring og nettverk foregår på de ulike skyplattformene vil uavhengig av skyplattformvalg være veldig verdifullt. Har man også en forståelse av sikkerhet, skalerbarhet og tilgjengelighet fungerer, har man skapt en god plattform for både eksperimentering og utvikling i skyen.

5. Skydatavarehus

Når man har opparbeidet seg grunnleggende kunnskap om både SQL og datamodellering, trenger man et sted å teste ut disse ferdighetene. De aller fleste har tatt i bruk et av de nyere skydatavarehusene, og det var i utgangspunktet Redshift, det første skydatavarehuset utviklet av AWS for over ti år siden, som sparket i gang «The Modern Data Stack». I 2024 er det ikke lenger Redshift som gjelder, men Snowflake, Databricks, BigQuery og Synapse/Fabric.

Disse store skydatavarehusene har for det meste tatt over for, eller kommet i tillegg til, de tradisjonelle on-premises datavarehusene. Men man interagerer på samme måte med disse skydatavarehusene ved hjelp av SQL som før, så det er ikke nødvendigvis så stor endring for de som har jobbet med de gamle datavarehusene. Også tilgangsstyring, oppdeling i schemas og så videre er som før, men det å kjenne til hvordan man for eksempel jobber med ustrukturerte data, hvordan man oppskalerer skydatavarehusene og hvordan man jobber med streaming er nytt i forhold til før. og Også det å kunne skrive pyspark eller python er nytt i forhold til de tradisjonelle databasene. Disse skydatavarehusene er forholdsvis like, så det å mestre en av dem gjør at det er mye lettere å kunne jobbe med de andre også. Mitt tips er å begynne med ett av disse verktøyene og bli god på det, før man setter i gang med noen av de andre.

6. Andre teknologier/verktøy

Litt avhengig av hvordan type profil man har og hvordan type data engineer man er, vil det kunne påvirke hvilke verktøy og teknologier man jobber med. Men mest sannsynlig vil man uansett komme innom for eksempel Docker og Kubernetes, som kan sies å være software-biten innenfor data engineering. Kjennskap til hva det er, hvordan det fungerer, hvordan man skal jobbe med Docker og containere kommer veldig godt med. Dette henger jo også sammen med IaC, eller infrastructure as code, hvor man blant annet kan bruke Docker-containere for å spinne opp ulike apper på ulike maskiner. Nå har majoriteten av store selskaper i Norge tatt i bruk infrastruktur som kode, så det å mestre hovedsakelig Terraform vil også være essensielt. Streaming-data er tidligere nevnt, noe som kan være en fordel å kjenne til uten at det er noe man burde fokusere mest på med en gang.

7. Datavisualisering og storytelling (soft skills)

Det med soft skills blir jo trukket fram som noe av det viktigste man kan lære seg å bli god på for å lykkes i arbeidslivet generelt, og det gjelder også innenfor dataverden. Om du ikke klarer å formidle det du har funnet eller det du har gjort, kommer ingen til å legge merke til det. I dataverden er det særlig innenfor datavisualisering man støter innom det å fortelle om dataene og hva man har funnet. Så det å bli en god storyteller, samtidig som man er flink til å visualisere dataene grafisk, og vise det fram på en pedagogisk måte er essensielt. Storytelling og soft skills er heller ikke noe som AI kan lære deg, og AI lærer deg heller ikke noe om hvordan du skal overbevise andre på en god måte. Å være god til å formidle, kommunikasjon generelt og å være pedagogisk kommer til å være minst like viktig fremover. Kanskje enda viktigere fremover pga. AI. AI kan automatisere veldig mange av de mer “harde” egenskapene man bruker innenfor dataverden som koding og skriving, så soft skills er noe som er lurt å fokusere på fra dag én.

Photo by Jason Goodman on Unsplash

--

--