# Teknisk ledelse og rådgivning

> Utvalgt arbeid som viser denne tjenesten.

- [Designet et helhetlig infrastrukturrammeverk for et forskningsinstitutt som berørte 14 avdelinger, med fleksible moduler, samlede datapipelines og strukturerte støttestrategier for varig innføring.](https://engineer.company/nb/portfolio/designed-a-comprehensive-infrastructure-framework-for-a-research-institute-3/)
- [Ledet programvareutviklingen av en GIS‑kartapplikasjon, økte inntektene 10 ganger og posisjonerte produktet som en primær dataressurs.](https://engineer.company/nb/portfolio/led-the-software-development-of-a-gis-map-24/)
- [Styrte fullstack‑utviklingen av GIS‑kart med ansvar for PostgreSQL, Mapbox, ReactJS og NodeJS, og leverte en integrert løsning.](https://engineer.company/nb/portfolio/directed-full-stack-gis-map-development-overseeing-postgresql-25/)
- [Sparte 4 000 timer ved å veilede og bygge opp et team fra 2 til 18 medlemmer, optimalisere arbeidsflyter og fremme samarbeid på tvers av avdelinger.](https://engineer.company/nb/portfolio/saved-4-000-hours-by-mentoring-and-growing-26/)
- [Skrev 50 000 ord grundig programvaredokumentasjon i Markdown i GitHub, Craft og Confluence, og sikret dermed at kunnskapen ble bevart og prosessen gjennomsiktig.](https://engineer.company/nb/portfolio/wrote-50-000-words-of-comprehensive-software-documentation-30/)
- [Ledet selskapets vekst fra 4 til 14 ansatte med smidige metoder og effektiv prosjektstyring.](https://engineer.company/nb/portfolio/led-company-growth-from-4-to-14-employees-33/)
- [Ledet utvikling, produksjonssetting og støtte for over 30 GIS‑prosjekter, med ekspertise i teknologiene PostgreSQL, Bash, Python, JavaScript, GDAL, ArcGIS, PostGIS og Mapbox.](https://engineer.company/nb/portfolio/led-the-development-deployment-and-support-of-over-35/)
- [Veiledet gjennomføringen av en rekke prosjekter i selskapet og ga ekspertstøtte i programvareutviklingens faser.](https://engineer.company/nb/portfolio/guided-the-execution-of-numerous-company-projects-offering-37/)
- [Fornyet interne prosesser og sparte 8 000 timer ved å forbedre programvarearkitekturen, systemene og effektiviteten i planleggingen.](https://engineer.company/nb/portfolio/overhauled-internal-processes-saving-8-000-hours-by-38/)
- [Effektiviserte CI/CD‑prosessene og sparte 4 000 timer ved å innføre automatisering i pipelines for programvareutvikling.](https://engineer.company/nb/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Satte en kvalitetsstandard med null advarsler for seks språk — Go, TypeScript, SQL, Python, Shell og Markdown — håndhevet av pre‑commit‑hooks.](https://engineer.company/nb/portfolio/set-a-zero-warnings-quality-bar-across-six-79/)
- [Tok plattformens grunnleggende beslutninger i ukene etter at repoet ble opprettet i november 2025 — lagdelingen, datatilgang med databasen først og kravet om null advarsler — og de står seg fortsatt ni måneder senere.](https://engineer.company/nb/portfolio/set-the-platform-s-founding-decisions-in-november-2025-80/)
- [Leverte analyser og jevnlige fremdriftsrapporter til administrerende direktør, og omsatte tekniske KPI‑er og leveransestatus til beslutninger.](https://engineer.company/nb/portfolio/delivered-analysis-and-regular-progress-reports-to-the-81/)
- [Bygde en lagdelt automatisert testsuite — 981 Go‑tester, 543 spesifikasjoner for frontend og nettleser, 494 atferdstester i SQL — med mutasjonstesting, egenskapsbaserte tester og en kvalitetsport for universell utforming.](https://engineer.company/nb/portfolio/built-a-layered-automated-test-suite-across-four-layers-94/)
- [Bygde repoets kontrollmotor — 268 registrerte commit‑kontroller, 277 lint‑regler og 15 egne ESLint‑regler — pluss 146 tester av selve kontrollene, slik at det er bygget, ikke gjennomgangen, som holder standarden.](https://engineer.company/nb/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Kuttet nettstedets nettleserdrevne kvalitetsport fra 1 636 sekunder til 615 ved å kjøre kontrollene med de lengste først gjennom en worker‑pool begrenset til fire baner, etter å ha målt at alfabetisk rekkefølge kostet 320 sekunder mot 224.](https://engineer.company/nb/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [Drev utviklingen av nettstedet som 51 skriftlige initiativer fordelt på 54 plandokumenter, hvert med sine åpne avkrysningsbokser, sine målinger og beslutningene det avslo — blant dem seks av åtte funn om agentberedskap som ble avvist med begrunnelsen registrert.](https://engineer.company/nb/portfolio/ran-development-as-49-written-initiatives-141/)
- [Satte dokumentasjonen under sin egen linter — et linjebudsjett per fil som bare kan strammes inn, et krav om indeks og en kontroll av reelle stier — som fant seks av ni planer merket som ferdige med uavkryssede bokser, og fjorten commit‑sperrende oppgaver som ikke var nevnt i noe dokument.](https://engineer.company/nb/portfolio/put-the-documentation-under-its-own-linter-142/)
- [Satte 10 242 linjer JavaScript i kvalitetsporten under en formaterer og en linter etter å ha slått fast at det var den største kodemengden i repoet og den eneste ingenting leste, og rettet 13 funn uten å undertrykke noen.](https://engineer.company/nb/portfolio/brought-the-quality-gate-code-under-a-linter-143/)
- [Holdt generatoren til 981 testtilfeller med et minstekrav på 92 % grendekning og advarsler behandlet som feil, og verifiserte idempotens ved å kjøre hele byggepipelinen to ganger fra en tom fil og kreve at den andre kjøringen ikke endret noe.](https://engineer.company/nb/portfolio/held-the-generator-to-964-tests-and-a-coverage-floor-145/)
- [Slo på alle reglene i Python‑linteren på feilnivå og arbeidet seg gjennom 1 815 funn ned til null, med en skriftlig begrunnelse for hvert av de få unntakene og to av dem sikret av en kontroll i stedet for en kommentar.](https://engineer.company/nb/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [Skrev tester for selve kontrollene etter å ha slått fast at en kontroll som bare får ren inndata, en dag vil melde rent fordi den ikke leste noe — plantet en stavefeil for å bekrefte at stavekontrollen finner den, og hentet et id‑område fra databasen i stedet for fra et tall i testen.](https://engineer.company/nb/portfolio/wrote-tests-for-the-checkers-themselves-149/)
- [Fant ut at commit‑hookene og kvalitetsporten kjørte ulike kontroller mens et dokument lovet at de var de samme, ved å sammenligne de to listene i en test — de fem som bare noen gang ble kjørt manuelt, var de som leste CV‑teksten.](https://engineer.company/nb/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [Tok i bruk fullstendig streng samtidighet i Swift 6 uten actors, og koblet en blokkerende C‑hendelsesløkke til main actor gjennom én produsent, én konsument og én rekkefølge — etter å ha slått fast at én task per hendelse mister rekkefølgen grensesnittet er avhengig av.](https://engineer.company/nb/portfolio/adopted-swift-6-strict-concurrency-over-a-c-event-loop-156/)
- [Tok testsuiten fra seks tester over en grense på seksti sekunder til 135 beståtte på 8,9 sekunder ved å profilere hovedtråden og fjerne de to kallene den satt fast i under 3 989 av 4 017 prøver.](https://engineer.company/nb/portfolio/took-the-test-suite-under-nine-seconds-158/)
- [Holdt fire repoer til én historikkstandard — konvensjonell, uten emojier og uten attribusjonslinjer, håndhevet av en hook for commit‑meldinger — sammen med 48 instruksjonsdokumenter som styrer hvordan arbeidet gjøres.](https://engineer.company/nb/portfolio/held-five-repositories-to-one-history-standard-165/)

<https://engineer.company/nb/services/technical-leadership/>
