Det, vi tilbyder — og resultaterne, der beviser det.
Foto: lecreusois / Pixabay
Foto: dazzleology / Pixabay
Engineer ApS blev registreret i 2025. Det meste af arbejdet her blev leveret inden da af vores stifter i kundernes egne teams; noget er leveret af virksomheden selv, og noget senere i et ansættelsesforhold. De samme hænder og de samme standarder — vi siger, hvad der er hvad, i stedet for at sløre det.
Læser I for at træffe en beslutning og ikke bare for at kigge? Et udvalg er genfortalt for jer på almindeligt dansk, som cases.
Har automatiseret provisioneringen af en ekstra server hos en anden cloududbyder og oprettet firewallen før maskinen, så den står bag en firewall fra første øjeblik, med begge udbyderes firewalls skrevet direkte mod deres REST‑API'er for at undgå en collection fra tredjepart.
Har udrullet et containerlag på Podman og Quadlet under systemd i stedet for Docker, fordi Docker publicerer containerporte uden om værtens egne firewallregler — og givet udrulninger en uprivilegeret bruger med én fast kommando i stedet for root.
Har kørt hele virksomheden på én vært med 512 MB og én kerne — en git‑forge, en webserver til syv domæner, Tor, to servere til alternative protokoller, backup og blokering af indtrængningsforsøg — ved at behandle 464 MB brugbar hukommelse som den bindende arkitektoniske begrænsning.
Har bygget virksomhedens egen infrastruktur som 19 Ansible‑playbooks og 34 roller fordelt på 12.065 linjer YAML, der konvergerer den kørende vært til en deklareret tilstand, og hvor hvert play er idempotent.
Har som en af de første medarbejdere designet og bygget hele kerneinfrastrukturen og de understøttende processer fra bunden for en SaaS‑startup inden for grøn energi og lagt fundamentet for hurtig vækst.
Har provisioneret Azure‑infrastruktur som kode med Bicep — Container Apps, PostgreSQL Flexible Server, Front Door/WAF og netværk — i udviklings-, staging- og produktionsmiljøet.
Har optimeret budgetomkostningerne 10 gange uden tab af produktivitet for en international kunde ved at nytænke den samlede infrastruktur, fjerne unødvendige tjenester og flytte væk fra AWS‑skyen.
Har udrullet og vedligeholdt 20 containeriserede Docker‑applikationer, fejlsøgt med Podman og Kubernetes og administreret R‑baserede apps på Google Cloud og AWS.
Har udgivet websitet som et Tor‑onion‑spejl på en læsbar adresse, der begynder med engineer, med nøglen genereret uden for værten, så den aldrig nåede dette repository eller en laptop, og ladet den være den ene af fire hoveddøre, der aldrig tælles.
Har prøvekørt CI‑hooken på forge‑siden og fundet to fejl, som ikke kunne findes ved at læse filen: en fallback, der sendte et argument, som ikke kunne opløses, ind i hookens input, og gits egen miljøvariabel, der fulgte gaten ind i checkouten og gjorde 19 tests røde.
Har gjort de fire driftshemmeligheder individuelle pr. vært efter at have fastslået, at to værter, der deler én dead man's switch, giver færre alarmer end to switches, ikke flere, og at en fælles adgangssætning til backup gør to værter til ét repository.
Har udrullet virksomhedens egen git‑forge på Soft Serve, privat som udgangspunkt og uden webpanel, med SSH‑porten bundet til loopback bag en jump‑vært, og gjort landingssiden foran den til et build‑artefakt fra hovedsitet i stedet for en manuelt vedligeholdt kopi.
Har reduceret eksponeringen i systemd‑sandkassen for hver unit, platformen installerer — en dead man's switch‑tjeneste fra 9,6 UNSAFE til 1,5, en git‑forge med adgang fra internettet fra 8,3 EXPOSED til 1,5 — og tilføjet et parsertjek ved konvergens efter at have fundet et fejlstavet direktiv, der ubemærket blev ignoreret i tre unit‑skabeloner.
Har afstemt en DNS‑zone med 20 poster deklarativt mod Cloudflares API med separate indgange til gennemgang og BIND‑eksport og slået CDN‑proxyen fra igen af hensyn til privatlivet, efter at den var bygget.
Har tilføjet et preflight‑play, der kører den samme kode som konvergensen mod operatørens lokale hemmeligheder på omkring et sekund, efter at en produktionskørsel var gået ned halvvejs, ved sin niende opgave, med swap‑indstillingerne allerede skrevet til den kørende vært.
Har fået check‑tilstanden til at vise sandheden på hele platformen efter at have fundet seks sonder, der traf beslutning ud fra en værdi, værten aldrig havde leveret, fordi Ansibles command‑modul melder succes under --check, mens det springer kommandoen helt over.
Har bygget overvågning med dead man's switch, der kun pinger, mens hukommelse og disk er i orden, så en svækket vært udløser en alarm ved at gå tavs — og opdaget seks variabelnavne, der sagde "free", hvor tjekket korrekt målte "available", en størrelsesorden til forskel på en maskine med 464 MB.
Har bygget krypteret backup uden for værten på restic med udtynding efter opbevaringspolitikken, et integritetstjek og en månedlig automatiseret gendannelsesøvelse og derefter gennemgået gendannelsesberedskabet og skrevet hullerne ned i stedet for at lade dem blive opdaget under en hændelse.
Har hærdet SSH til 24 direktiver, der alle kontrolleres med assertions, med validering i tre trin — kandidatfilen, den samlede konfiguration og til sidst dæmonens egen tilbagelæsning — efter at tilbagelæsningen afslørede, at den kørende server ubemærket tilsidesatte to af de fireogtyve.
Har konfigureret opbevaringen af databasebackups som infrastructure‑as‑code, derefter gennemgået gendannelsesberedskabet og dokumenteret gendannelsesproceduren — og nævnt de resterende huller, i stedet for at de skulle opdages under en hændelse.
Har forbedret datasikkerheden ved at implementere 1.000 RBAC‑regler for udviklere, applikationsinstanser, PostgreSQL, MS SQL og andre Linux‑servere for at forhindre uautoriseret adgang; dokumenteret med Ansible‑automatisering.
Ydelsen indgår i arbejde, der står andetsteds på siden:
Har holdt fire repositories på én standard for historikken — konventionel, uden emojis, uden attributionslinjer, håndhævet af en commit‑message‑hook — sammen med 48 instruktionsdokumenter, der styrer, hvordan arbejdet udføres.
Har kontrolleret 644 Rust‑crates for licenskompatibilitet ved hvert build og bevist, at tjekket slår til, ved at ændre licensen på én crate og ved at flytte den fastlåste kernerevision uden at regenerere.
Har taget den halvdel af beskedkernen i brug, som applikationen aldrig havde brugt — backupoverførsel, forsvindende beskeder, redigering og gensendelse af beskeder, verificerede invitationer, proxyer og krypteringspolitik — og kørt hver test mod det rigtige bibliotek uden mocks.
Har taget testsuiten fra seks tests over en grænse på tres sekunder til 135 beståede på 8,9 sekunder ved at profilere hovedtråden og fjerne de to kald, den hang i ved 3.989 ud af 4.017 stikprøver.
Har skrevet en parser, der læser den rigtige C‑header på 7.308 linjer og verificerer hvert kaldssted, hver enum‑konstant, og at hver klasse, der ejer en pointer, er final, efter at en håndskrevet pladsholder‑header lod kald til tre fjernede funktioner kompilere, linke og crashe.
Har opdaget, at commit‑hooks og kvalitetsgaten kørte forskellige tjek, selvom et dokument lovede, at de var de samme, ved at sammenligne de to lister i en test — de fem, der kun nogensinde blev kørt manuelt, var dem, der læste CV‑prosaen.
Har skrevet tests af selve tjekkene efter at have fastslået, at et tjek, der kun fodres med rent input, en dag melder fejlfrit, fordi det intet har læst — ved at plante en stavefejl for at bekræfte, at stavekontrollen finder den, og ved at tage et id‑interval fra databasen i stedet for fra et tal i testen.
Har slået hver eneste regel i Python‑linteren til som fejl og arbejdet 1.815 fund ned til nul, hvor hver af de få undtagelser har en skriftlig begrundelse, og to af dem er sikret af et tjek i stedet for en kommentar.
Har holdt generatoren på 981 testtilfælde og en nedre grænse på 92 % grendækning med advarsler behandlet som fejl og eftervist idempotens ved at køre hele build‑pipelinen to gange fra en tom fil og kræve, at det andet gennemløb intet ændrer.
Har bragt 10.242 linjer kvalitetsgate‑JavaScript under en formatter og en linter efter at have fastslået, at det var den største kodemængde i repositoryet og den eneste, som intet værktøj læste, og rettet 13 fund uden at undertrykke nogen.
Har rettet et sitemap, hvor 172 af 176 URL'er delte ét ændringstidsstempel, ved at tage datoen fra git‑historikken efter at have fastslået, at eksporten omskriver hver fil ved hver kørsel.
Har skåret sitets browserdrevne kvalitetsgate fra 1.636 sekunder til 615 ved at afvikle dens tjek med de længste først gennem en worker‑pulje begrænset til fire spor, efter at have målt, at alfabetisk rækkefølge kostede 320 sekunder mod 224.
Har bygget en commit‑gate med 22 lintere, der hver kan beskrives på én linje, plus fem, der fortjener et afsnit, uden advarselsniveau og uden tilladte inline‑undertrykkelser, og som dækker HTML, CSS, JavaScript, Python, YAML, Markdown, shell, links, stavning, hemmeligheder og typografi.
Har etableret et løbende sikkerhedsprogram — code scanning, DAST, afhængigheds- og sårbarhedstjek, SBOM‑generering, secret scanning og SHA‑pinnede actions — sammen med 21 skriftlige sikkerhedsgennemgange.
Har holdt skemaet konsistent gennem 1.022 migrationer med en CI‑gate, der bygger databasen begge veje — en frisk installation og en installation plus hver eneste migration — og fejler, når de to ikke stemmer overens.
Har bygget egen fejlovervågning og OpenTelemetry‑tracing i stedet for at købe dem — sanitering af payloads, detektion af spikes og regressioner, symbolication og et syntetisk heartbeat — bag 11 operatørvisninger.
Har bygget repositoryets kontrolmotor — 268 registrerede commit‑tjek, 277 lint‑regler og 15 egne ESLint‑regler — plus 146 tests af selve tjekkene, så det er builden, der holder standarden, ikke reviewet.
Har bygget en lagdelt automatiseret testsuite — 981 Go‑tests, 543 frontend- og browserspecs, 494 SQL‑adfærdstests — med mutationstest, property‑based tests og en tilgængelighedsgate.
Har automatiseret teamsamarbejde, adgangskodehåndtering, opgave- og tidsstyring og bygget et halvautomatisk system til fremvisning af projekter og dermed øget teamets produktivitet.
Har genereret API‑kontrakten udad fra databasen — OpenAPI, en typet TypeScript‑klient på 44.076 linjer, 61 mock handlers og de grænser, UI'et håndhæver — med en kontrol i hvert led, der fejler ved afvigelser.
Har fået seks rapporteringsindsamlere til at oplyse den del af deres input, de aldrig læste — uåbnede filer, ikke‑installerede sonder og ugenkendte journallinjer — og tilpasset tærskler til 116 målte stikprøver efter at have fastslået, at en blind indsamling og en rask vært giver den samme side.
Har målt tretten adresser alene ud fra webserverens egen adgangslog — ingen cookie, ingen tracker og ingen tredjepartstjeneste — hvor klientens netværk maskeres i samme øjeblik linjen skrives, og resultatet samles i et permanent arkiv med 21 daglige tællinger og 20 månedlige facetter.
Har stoppet en applikation i at fylde hukommelsen med 41 MB i sekundet — 111 GB komprimerede sider målt på en maskine med 36 GB — ved at begrænse hver hændelsesstrøm, abonnere efter hændelsestype og lægge et ratebudget på logning, hvilket bragte 610.996 loglinjer ned på 1.411.
Har bygget syv skrivebeskyttede rapporteringsroller, der gengiver den kørende vært som Markdown — fakta, adgang, git, metrikker, trafik, sikkerhed og udbyderinventar — efter en regel om, at der ikke udskrives et tal, kørslen ikke selv har målt.
Har eftervist blokeringsvejen fra ende til anden ved hver hærdningskørsel ved at blokere en reserveret testadresse, læse den resulterende kerneregel og ophæve blokeringen i en oprydningsblok, der altid kører, så en jail, der holder op med at virke, får kørslen til at fejle i stedet for at melde alt i orden.
Har fundet og lukket tre SSH‑beskyttelser mod brute force, der aldrig havde virket: en jail, der holdt øje med port 22, mens dæmonen lyttede på 1986, en ratebegrænsning, som en bredere regel over den overskyggede, og en blokeringshandling, hvis binærfil aldrig blev fundet, så ingen blokering nogensinde var trådt i kraft.
Har bygget fail‑closed misbrugskontroller — 22 Redis‑baserede rate limiters, Cloudflare Turnstile, idempotens på requests og en origin‑lås — så platformen afviser bots og flood‑angreb i stedet for at stole på dem, der kalder den.
Har flyttet langsomt arbejde væk fra request‑stien og over på en River‑jobkø — 15 worker‑moduler, 8 planlagte opgaver og 20 pg_cron‑jobs — så en request returnerer, mens arbejdet bag den kører videre.
Har planlagt og implementeret ny infrastrukturfunktionalitet til interne og eksterne systemer og bygget løsninger, der er så robuste, at de stadig kører år senere med minimale ændringer.
Har sikret uafbrudt levering af IPTV‑streamingsignaler mellem leverandører og kunder og overvåget og vedligeholdt streamingnetværket og IP‑telefonien døgnet rundt.
Har leveret døgnbemandet 24/7‑infrastruktursupport til en IPTV/OTT‑streamingplatform og administreret ca. 1.000 servere samt kundeejede systemer for globale kunder i Kina, USA og Tyskland.
Har bygget e‑mail som en funktion i selve platformen — tre udbydere med failover, webhooks for levering, logning af afsendelse og levering, skabeloner og kampagner — sikret af et opstartstjek, så platformen ikke starter uden mindst én udbyder.
Har stået for arkitektur, udvikling, implementering og support af infrastruktur, databehandling og kortapplikationen i 2 år i træk uden weekender, helligdage eller ferie, 10–14 timer om dagen.
Har udviklet og lanceret virksomhedens første dashboard til observerbarhed, der viste systemets ydeevne i realtid og visualiserede data på den store tv‑skærm på kontoret.
Ydelsen indgår i arbejde, der står andetsteds på siden:
Har verificeret firewallregler efter position snarere end tilstedeværelse ved at læse den nummererede regelliste og den kørende pakkefilterkæde, fordi det, at en regel findes, ikke betyder, at nogen pakke når frem til den.
Har skrevet en afgrænsningsregel ind i repositoryet, efter at en omstrukturering havde ført en anden virksomheds inventar, firewalltilladelser og tekst med ind i det — og holdt de karantænesatte rester under hemmelighedsscanneren i stedet for at udelukke dem.
Har bygget ejerskabskrav på virksomheder fra ende til anden — en bruger gør krav på en virksomhed, en administrator afgør sagen, og en godkendelse omskriver den autorisationsgraf, der afgør, hvem der må redigere hvad.
Har bygget betalings- og rettighedslaget — Stripe side om side med Apple og Google in‑app purchase — så adgangen til kataloget, søgningen og eksporten styres af en adgangsmodel på 11 tabeller, der kontrolleres på serveren.
Har designet et system til skift af organisationskontekst med localStorage i klienten og en spejlet cookie på serveren, så brugere kan optræde som de organisationer, de administrerer, mens autorisationen følger mindste privilegium.