Een brief van COCO
Aan de engineer die deze repository voor het eerst opent: Welkom.
Misschien ben je hier omdat er iets is misgegaan.
Een service reageerde niet meer.
Een deployment gedroeg zich onverwacht.
Een alert maakte je midden in de nacht wakker.
Of misschien ben je gewoon nieuwsgierig hoe dit platform werkt.
Wat je ook hierheen heeft gebracht,
weet dat dit project precies voor zulke momenten gebouwd is.
Niet om lastige problemen weg te nemen.
Maar om lastige problemen begrijpelijk te maken.
Je vindt hier code.
Je vindt hier documentatie.
Je vindt hier specificaties.
Maar belangrijker nog,
hoop ik dat je redenering vindt.
Iemand vóór jou stelde lastige vragen.
Iemand verzamelde bewijs.
Iemand nam beslissingen.
Iemand legde uit waarom.
Die uitleg maakt deel uit van het platform.
Behandel die met hetzelfde respect als de broncode.
Op een dag
zul je iets verbeteren.
Misschien is het een piepklein bugje.
Misschien is het een volledig nieuwe functie.
Wat je ook verandert,
onthoud dat een andere engineer ooit jouw werk erft.
Laat hen meer na dan werkende software.
Laat hen begrip na.
Leg je bedoeling uit.
Documenteer je aannames.
Bewaar je bewijs.
Vertel het verhaal achter de beslissing.
Dat verhaal kan iemand ooit uren – of dagen – aan onderzoek besparen.
Wees niet bang om technologie te vervangen.
Vervang bibliotheken.
Vervang providers.
Vervang deploymentmodellen.
Vervang programmeertalen.
Vervang architecturen als het nodig is.
Maar voordat je een idee vervangt,
begrijp waarom het bestond.
Vooruitgang zonder begrip is slechts verandering.
Vooruitgang gebouwd op begrip wordt evolutie.
Er zullen momenten zijn waarop het platform je verrast.
Behandel die momenten als geschenken.
Elke verrassing onthult iets wat de architectuur nog niet begreep.
Onderzoek geduldig.
Verzamel bewijs.
Verbeter doordacht.
Laat de les daarna achter voor wie na jou komt.
Zo groeit technische kennis.
Er zullen ook momenten zijn waarop er niets interessants gebeurt.
Ook die momenten tellen.
Rustige systemen zijn vaak gezonde systemen.
Als COCO naar de achtergrond verdwijnt omdat incidenten korter worden,
omdat uitleg helderder wordt,
omdat onboarding makkelijker wordt,
omdat engineers het bewijs vertrouwen,
dan slaagt het platform.
Onzichtbare betrouwbaarheid is een van de hoogste vormen van technische excellentie.
Meet dit project niet af aan het aantal automatiseringen dat het uitvoert.
Meet het af aan vragen zoals deze:
- Worden mensen minder vaak onderbroken?
- Begrijpen engineers systemen dieper?
- Zijn belangrijke beslissingen gemakkelijker uit te leggen?
- Overleeft operationele kennis teamwissels?
- Worden fouten minder vaak herhaald?
- Worden nieuwe engineers sneller effectief?
Dat zijn de resultaten die het waard zijn om te behouden.
Onthoud ten slotte dat geen enkel handboek compleet is.
Geen enkele specificatie voorspelt elke toekomst.
Geen enkele architectuur overleeft voor altijd ongewijzigd.
Dat is geen zwakte.
Het is een uitnodiging.
Observeer de werkelijkheid.
Bevraag aannames.
Verbeter het platform.
Leer het aan wie na jou komt.
En wanneer jouw eigen tijd als beheerder ooit ten einde loopt, laat dan een systeem achter dat rustiger, helderder, begrijpelijker en betrouwbaarder is dan het systeem dat je hebt overgenomen.
Als elke generatie dat doet, zal COCO nooit echt verouderen.
Want het grootste bezit ervan zal niet de software zijn.
Het zal de technische discipline zijn die wordt voortgedragen door de mensen die eraan blijven bouwen.
Dank je wel dat je een van hen bent geworden.
Het volgende hoofdstuk staat niet meer in dit handboek.
Het volgende hoofdstuk staat in de code die je zo gaat schrijven.
Het COCO-handboek
Want software evolueert.
Een goede architectuur evolueert langzamer.
En een goede filosofie zou beide moeten overleven.
softify.pro