# DevOps

> Utvalgt arbeid fra Engineer ApS som viser DevOps — resultatene som beviser det.

- [Ledet programvareutviklingen av en GIS‑kartapplikasjon, økte inntektene 10 ganger og posisjonerte produktet som en primær dataressurs.](https://advisory.engineer.company/nb/portfolio/led-the-software-development-of-a-gis-map-24/)
- [Effektiviserte CI/CD‑prosessene og sparte 4 000 timer ved å innføre automatisering i pipelines for programvareutvikling.](https://advisory.engineer.company/nb/portfolio/streamlined-ci-cd-processes-saving-4-000-hours-42/)
- [Skrev 578 go‑task‑automatiseringsmål som dekker native-, Docker- og HTTPS‑utviklingsmoduser, linting, testing, database og produksjonssetting.](https://advisory.engineer.company/nb/portfolio/authored-578-go-task-automation-targets-70/)
- [Satte en kvalitetsstandard med null advarsler for seks språk — Go, TypeScript, SQL, Python, Shell og Markdown — håndhevet av pre‑commit‑hooks.](https://advisory.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://advisory.engineer.company/nb/portfolio/set-the-platform-s-founding-decisions-in-november-2025-80/)
- [Automatiserte samarbeid i teamet, passordhåndtering, oppgave- og tidsstyring, og bygde et halvautomatisk system for å vise frem prosjekter, noe som økte teamets produktivitet.](https://advisory.engineer.company/nb/portfolio/automated-team-collaboration-password-management-task-and-time-89/)
- [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://advisory.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://advisory.engineer.company/nb/portfolio/built-the-repository-s-guard-engine-of-268-checks-95/)
- [Etablerte et kontinuerlig sikkerhetsprogram — kodeskanning, DAST, kontroll av avhengigheter og sårbarheter, SBOM‑generering, skanning etter hemmeligheter og SHA‑låste actions — sammen med 21 skriftlige sikkerhetsrevisjoner.](https://advisory.engineer.company/nb/portfolio/established-a-continuous-security-programme-104/)
- [Bygde en commit‑port med 22 enlinjes lintere pluss fem som fortjener et avsnitt, uten advarselsnivå og uten tillatte undertrykkinger i koden, som dekker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, lenker, staving, hemmeligheter og typografi.](https://advisory.engineer.company/nb/portfolio/built-a-22-linter-commit-gate-127/)
- [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://advisory.engineer.company/nb/portfolio/cut-the-visual-quality-gate-to-ten-minutes-128/)
- [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://advisory.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://advisory.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://advisory.engineer.company/nb/portfolio/enabled-every-python-linter-rule-as-an-error-147/)
- [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://advisory.engineer.company/nb/portfolio/found-the-commit-hooks-and-the-gate-disagreeing-150/)
- [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://advisory.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://advisory.engineer.company/nb/portfolio/held-five-repositories-to-one-history-standard-165/)

<https://advisory.engineer.company/nb/categories/devops/>
