Verhalen
We meenden het altijd maar half
Versie 1.0 · Gepubliceerd 2026-08-03
Op 7 december 2015 publiceerden Marcel Panse en ik een gastbijdrage op High Scalability met de titel “The Serverless Start-up - Down With Servers!”. Daarin legden we uit hoe we Teletext.io hadden gebouwd op API Gateway, Lambda, DynamoDB, S3 en CloudFront, zonder servers om te beheren. Geen enkele.
Ergens in het midden schreven we dit:
We like rules. At our previous start-up Peecho, product owners had to do fifty push-ups as payment for each user story that they wanted to add to an ongoing sprint. Now, at our current company myTomorrows, our developer dance-offs are legendary: during the daily stand-ups, you are only allowed to speak while dancing - leading to the most efficient meetings ever.
Die alinea is de enige reden dat iemand dat artikel nog kent.
Ze waren allebei echt, een tijdje
De push-ups gebeurden echt, en het dansen ook. Ze begonnen als grappen onder ons en we hebben ze een tijd serieus volgehouden, zoals het met de meeste van onze regels ging: verzin een regel, geniet ervan, haal er iets uit, en laat die dan stilletjes doodbloeden. In maand vier verdiende niemand meer tickets met burpees.
Het dansen verdient uitleg, want het detail waar het echt om ging, staat niet in het artikel. We hielden de stand-up in een grote open ruimte, met de rest van het bedrijf om ons heen. De regel ging dus niet over dansen. De regel ging erover dat je het deed waar iedereen bij was. Zo was het tegelijk een grap over de organisatie en een grens die werkte.
Vastgelegd is het nooit. Geen beleid, geen handboek, niets waar iemand op afgerekend kon worden, en dat was bewust: zodra je opschrijft dat spreken dansen vereist, staat er een regel waar niet iedereen aan kan voldoen. Dat wisten we toen ook al, en precies daarom bleef het informeel.
Alleen: in het artikel beschreven die twee regels niet ons dagelijks werk. Het waren metaforen, en die stonden er met een doel.
Waar de metafoor voor diende
We wilden laten zien hoe we graag problemen oplossen: eerst een harde grens kiezen en daarbinnen werken, in plaats van elk geval apart af te wegen. Een user story die halverwege een sprint binnenkomt, kost echt iets. Los je dat per keer op, dan landen die kosten stilletjes bij het team. Hang er een absurde prijs aan waarover niet te onderhandelen valt, in het openbaar, en ineens maakt iedereen een bewuste keuze.
Het ging nooit om de push-ups, en nooit om het dansen. Het ging om de grens, en om het feit dat je er niet stilletjes omheen kon.
En de grap zat eigenlijk ook niet in de oefening. De grap zat in de premisse: dat er een bedrijf kon bestaan waar iemand dit werkelijk zou handhaven, met een stalen gezicht, voor altijd. We dreven de spot met onze eigen subcultuur door die volstrekt droog te spelen, en dat kun je alleen doen met een wereld waar je zelf in staat. Door de serieuze reden als grap op te schrijven, maakten we het punt en haalden we onszelf in dezelfde beweging onderuit. Dat werkte precies zoals bedoeld.
Dezelfde zet bouwde de architectuur
Daarom hoorde die alinea in dát artikel thuis en niet in een ander. Zes alinea’s verderop stond de technische versie van precies hetzelfde idee: bij Teletext.io mochten we geen servers gebruiken. Geen enkele.
Tot zo’n conclusie komt niemand vanuit een lijst met eisen. Het is een willekeurige regel die we onszelf oplegden, en daarna ontwierpen we onze uitweg. Onze eigen zin daarover in dat stuk: beperkingen voeden creativiteit. Gun jezelf geen servers en je vindt API Gateway, Lambda en DynamoDB. Geef een product owner een tarief in push-ups en je komt erachter welke user stories er werkelijk toe deden.
Dezelfde methode, twee keer, in één artikel. De ene versie kreeg een architectuurtekening, de andere een punchline. We gingen ervan uit dat lezers ze als een paar zouden zien.
Niemand las het zo
Het stuk kwam op de voorpagina van r/programming terecht en eindigde op 142 upvotes en 143 downvotes, zo gelijk verdeeld als een thread maar kan zijn.
Een deel van de reacties was de discussie waarvoor we gekomen waren, en die was goed. AWS Lambda was pas in november 2014 als preview aangekondigd en amper een paar maanden algemeen beschikbaar, dus mensen drukten stevig door: vendor lock-in, wat er gebeurt als Amazon de prijzen verhoogt, waarom DynamoDB en niet een Postgres-instantie op RDS. Iemand las de maandtabel met kosten als een dagtabel en werd beleefd gecorrigeerd. Normaal, nuttig werk.
Daaronder liep een compleet ander gesprek, en je zag het aan de manier waarop mensen de push-upalinea citeerden: integraal, met niets toegevoegd behalve “Wtf?” en “What in the actual f***.”
Toen begonnen de vragen. “That part had me wondering if the whole article was satire.” “The dance-offs were satire, right?” “Is that serious, or satire? I’m having a bout of Poe’s Law here.” Een van de reageerders had een tijd over de technische kant meegediscussieerd, hield halverwege op toen hij besefte dat het citaat echt was, en gaf toe dat de zin zo belachelijk was dat die bij eerste lezing niet eens tot hem was doorgedrongen.
Op dat moment werd het duidelijk: een paar honderd engineers hadden een metafoor als vacature gelezen, en het artikel ging niet meer over serverless.
Mijn favoriet kwam van iemand die had uitgezocht waar wij zaten: “I assumed it was a Silicon Valley startup… turns out it is Amsterdam. It takes some effort to out-valley the valley.” Iemand anders schreef “Move over Mike Judge.” Een derde zette het hele geval weg onder r/programmingcirclejerk. Toen ik het elf jaar later teruglas, moest ik er net zo hard om lachen als destijds.
Van iedereen in de thread zaten die drie er het dichtst bij. Ze hadden het register precies goed, herkenden de sitcomenergie van Mike Judge, en zagen dat de alinea in een circlejerk-sub thuishoorde. Alleen de richting hadden ze verkeerd: ze dachten dat wij het exemplaar waren, en niet degenen die de imitatie deden.
De reactie die bij onze eigen conclusie uitkwam
Eén reactie is me bijgebleven, en juist niet een van de grappige.
Iemand schreef dat dit precies het soort detail is dat aanleiding geeft tot beschuldigingen van leeftijdsdiscriminatie. Toen een ander vroeg wat hij bedoelde, legde hij het uit: hij zag zijn 65-jarige vader vijftig push-ups doen om zijn werk te mogen doen, en zijn moeder, die het grootste deel van zijn leven MS had, proberen te dansen om iets te mogen zeggen in een stand-up.
Hij had gelijk, en hij was via zijn eigen redenering op dezelfde plek uitgekomen als wij. Dat is precies de reden dat geen van beide regels ooit is vastgelegd. Een grap waar je je aan kunt onttrekken, is een grap. Maar een eis dat je alleen mag praten als je iets lichamelijks doet, is iets anders, en die sluit mensen uit zodra het beleid wordt.
Het verschil is dat wij dat wisten en hij het niet kon weten. We hadden de regels in het artikel gezet alsof het regels waren, dus de enige eerlijke lezing die hem restte, was de zijne. Schrijf je in metaforen, dan kies je niet wie het als feit leest, en wie het als feit leest, mag oordelen over wat hij denkt te zien. Zijn reactie is geen misverstand dat ik wil rechtzetten. Het is in die hele thread het sterkste bewijs dat de grap nooit beleid had mogen worden, en dat hadden we zelf al besloten.
Er was nog geen woord voor
Wat we per ongeluk hadden gemaakt, was rage bait. In 2015 was dat nog geen genre. Niemand schreef alinea’s om verontwaardiging te oogsten, de term was niet gangbaar, en het was zeker geen tactiek waar iemand voor uit zou komen.
Dus waren we vooral verbouwereerd, en daarna dolblij. We hadden iets geschreven dat leuk moest zijn om te lezen en dat echt iets moest zeggen over hoe we werken. Mensen genoten ervan, het punt kwam aan, en het joeg tegelijk een deel van het internet in oprechte woede over een werkplek die maanden eerder al had opgehouden te bestaan. Dat live zien gebeuren is nog steeds een van de grappigste dingen waar we allebei bij betrokken zijn geweest.
Wat waar bleek te zijn
Lees de technische helft nu terug en die leest anders. Twee reageerders deden midden in de discussie een voorspelling. De een zei dat platformdiensten hoe dan ook de standaard zouden worden, “much like high level programming languages have.” Een ander, die DynamoDB verdedigde, schreef dat het voor zijn generatie gereedschapsbouwers moeilijk zou zijn om toe te geven dat iets kant-en-klaars goed genoeg was, en dat “by 2020, they’ll say no one was ever fired for choosing AWS.”
Allebei die voorspellingen hebben de tijd uitstekend doorstaan. Het standpunt waar we om werden uitgelachen, is inmiddels doodgewoon.
Ook de aandacht bleek echt. Werner Vogels, destijds CTO van Amazon, verwees meer dan eens naar het artikel en naar Teletext.io, en AWS zette ons in augustus 2016 in zijn reeks Hot Startups. De architectuur hield zo goed stand dat UNLESS vandaag nog steeds op die basis van Teletext.io draait. De commerciële uitrol van Teletext.io is een ander verhaal; daar kom ik een andere keer op terug.
Wat ik opnieuw zou doen
Ik zou de alinea laten staan. De zinnen die de helft van de thread wegzette als ijdelheid, waren in dat artikel juist de helderste beschrijving van onze methode. En uit die methode kwam precies het ding waar ze over discussieerden. Kies een grens, laat de beperking het ontwerpwerk doen, en je komt ergens waar een open discussie je nooit had gebracht. Zo bouwen we nog steeds, en daarom is Unless met opzet klein en doet het één ding.
Wat de thread me wel leerde, is waar die methode ophoudt, en die grens is scherper dan ik destijds had kunnen trekken. Over een beperking op een systeem kun je absoluut zijn. Geen servers, geen enkele, is een regel die een machine niets kost en die je dwingt na te denken. Over een beperking op mensen kun je dat niet, want zodra die is vastgelegd, sluit je er iemand mee uit. Daarom staat de ene regel elf jaar later nog in de architectuurtekening en kwam de andere nooit verder dan een grap onder ons.
Wat ik in 2015 niet begreep, is hoe weinig van die reactie over ons ging. Een zaal vol engineers had jarenlang stukken over startupcultuur gelezen en was er grondig klaar mee, en wij gaven ze op het perfecte moment een vers exemplaar in handen. Ze discussieerden niet echt met onze stand-ups. Ze discussieerden met tien jaar aan stand-ups.
De gok op serverless hoeft niet meer verdedigd te worden. De metafoor, gek genoeg, is het deel dat ik nog wel zou verdedigen.