Systemdesign for backendutviklere
Systemdesign handler om å avgjøre hvordan programvarekomponenter skal settes sammen i stor skala – blant annet ved å velge riktige databaser, kommunikasjonsprotokoller, mellomlagringslag og utrullingsarkitekturer før én eneste linje applikasjonskode er skrevet. Dette læringsløpet dekker hele området, fra grunnprinsippene alle backendutviklere trenger, til skybaserte og mikrotjenestebaserte mønstre som brukes i produksjonssystemer med millioner av forespørsler.
Dette lærer De
De arbeider med det grunnleggende vokabularet for skalerbare systemer: strategier for datalagring, API-design og kommunikasjon mellom tjenester. De lærer om avansert caching og CDN-arkitektur, sikkerhetshensyn som bygges inn i designfasen, og avveiningene bak garantier for høy tilgjengelighet og pålitelighet. Senere kurs tar for seg dekomponering i mikrotjenester, skybaserte designmønstre og teknikker for ytelsesoptimalisering som skiller systemer som tåler trafikktopper, fra systemer som ikke gjør det. Læringsløpet avsluttes med casestudier fra virkeligheten som knytter hvert konsept til konkrete, gjenkjennelige systemer.
Læringsløpet
Tolv kurs dekker nivåene A1 til C2. Det første kurset introduserer prinsipper for systemdesign på nybegynnernivå, mens det andre og tredje bygger videre på sentrale backendkomponenter og grunnlaget for skalerbarhet. Fra B2 blir fokuset mer spesialisert: Avanserte strategier for datalagring, API-design og kommunikasjon mellom tjenester, Avansert caching og CDN-er og Sikkerhet i systemdesign. De fire siste C1-kursene dekker høy tilgjengelighet, mikrotjenestearkitektur, ytelsesoptimalisering og skybaserte mønstre. Læringsløpet avsluttes på C2 med Casestudier i systemdesign fra virkeligheten, der De bruker hele pensumet på problemer hentet fra faktiske distribuerte systemer.
Slik fungerer det
Hvert kurs er delt inn i korte, fokuserte leksjoner med interaktive øvelser og spørsmål basert på scenarier. En innebygd AI-veileder svarer på spørsmål i riktig kontekst, slik at De kan fortsette uten å bytte fane. Fordi systemdesign i stor grad er konseptuelt, legger leksjonene vekt på begrunnelsen bak valgene – hvorfor én tilnærming er bedre enn en annen under bestemte begrensninger – fremfor utenatlæring.