Hvordan skrive god kode og unngå unødig kompleksitet – ifølge John Ousterhout
I dette foredraget utforsker vi hvordan vi kan skrive god kode – og hvordan vi kan unngå at systemene våre blir unødig komplekse. Hva er egentlig god kode? Er det bare smak og behag, eller finnes det prinsipper vi kan bruke for å vurdere det objektivt?
John Ousterhout har utgitt boken A Philosophy of Software Design, basert på sine praktiske erfaringer fra undervisning i programvaredesign (CS 190) ved Stanford. Han mener at god kode ikke bare handler om smak og behag – det finnes faktisk prinsipper som kan hjelpe oss å vurdere kodekvalitet. For å skrive god kode trenger vi sterke designferdigheter – en ferdighet som kan læres og utvikles.
I dette foredraget ser vi på tre hovedkjennetegn på kompleksitet, verktøy for å gjenkjenne designproblemer, og hvordan vi kan bruke konkrete designprinsipper for å forbedre kode – både når vi skriver den og i code reviews.
Haimanot Tekie (Nav)
Haimanot Tekie er senior fullstack-utvikler med 8 års erfaring, og jobber for tiden i NAV. Født i Etiopia og oppvokst i Eritrea, flyttet hun til Norge som 16-åring. Hun startet karrieren med å forbedre komplekse logistikk- og banksystemer med Java, før hun gikk over til Kotlin og frontend-utvikling hos FINN og Diffia, et scale-up e-helseselskap. Haimanot er lidenskapelig opptatt av samarbeid med produkteiere, designere, testere og fagpersoner for å levere løsninger som gir reell verdi for sluttbrukere. Hennes "superkraft" er motet til å stille de "dumme" spørsmålene og lære av andre. Hun utdyper sin tekniske kompetanse gjennom kurs fra Frontend Masters og Hyperskill, hvor hun ser opp til lærere som Brian Holt og Will Sentance. En dag drømmer hun om å bli en dyktig teknisk formidler, på linje med sine forbilder. Utenom jobb er hennes tro på Jesus en sentral del av livet. Hun deltar aktivt i menigheten gjennom bibelstudier og bønnemøter, tilbringer tid med ektemannen og deres to barn (født i 2010 og 2014), og er frivillig i barnas lokale basketballag.