Zoon van CEO verwijderde productiedatabase – Mijn wraak was weloverwogen.
“Lever je werk in.”
Hij blafte het eruit alsof ik een stagiair was die tijdens een drukke periode op sociale media was betrapt.
Preston Campbell, 27 jaar oud, stond daar in de deuropening van mijn kantoor, met peperdure sneakers aan en zo’n grijns die je alleen ziet als je vader je salaris betaalt. Die jongen had een nek als een giraffe en ongeveer evenveel technisch inzicht als een kapotte rekenmachine die machine learning-algoritmes probeert uit te voeren.
Ik ben Caleb Rodriguez, 51 jaar oud, en ik programmeer al sinds ik als jongetje mijn schoenen leerde strikken. Achttien jaar ervaring in software engineering, waarvan zes jaar bij de marine, waar ik navigatiesystemen schreef voor torpedobootjagers die daadwerkelijk midden in de Stille Oceaan moesten opereren. Als je de GPS-coördinaten verkeerd inschat terwijl je een oorlogsschip van een miljard dollar bestuurt, vallen er doden. Maar blijkbaar telt die praktijkervaring niet mee wanneer nepotisme de deur binnenkomt, gehuld in designerparfum en vloeiend startup-jargon sprekend.
Twee weken eerder was alles anders. Ik stond aan het roer van de grootste productlancering in de geschiedenis van SecureFlow Financial. Na zes jaar ons complianceplatform vanaf nul te hebben opgebouwd, waren we eindelijk klaar voor onze Series B-financieringsronde. Er lag 70 miljoen dollar op tafel, op voorwaarde dat onze software voor regelgeving elke audit zou doorstaan die de banken eraan zouden kunnen onderwerpen. Dit was geen flitsende consumentenapp die snel kon worden geïntroduceerd en daarbij fouten kon maken. Dit was software voor de financiële infrastructuur, waarbij fouten leiden tot overtredingen van de regelgeving, enorme boetes en mogelijk zelfs gevangenisstraf voor onze klanten.
Ik had elke module zelf gecodeerd. Ik had het authenticatiesysteem gebouwd met behulp van militaire encryptieprotocollen die ik tijdens mijn tijd bij de marine had geleerd. Ik had de architectuur van het auditspoor zo ontworpen dat het zowel tegen hackers als tegen federale onderzoekers bestand was. Ik had elk geheugenlek verholpen, elke databasequery geoptimaliseerd en zelfs om 3 uur ‘s ochtends op eerste kerstdag een kritieke raceconditie in onze transactieverwerkingsengine opgelost, terwijl mijn ex-vrouw belde om te klagen over te late alimentatiebetalingen. Dit platform was niet zomaar mijn werk. Het was mijn nalatenschap. Iets waar ik naar zou wijzen als ik met pensioen ging en zou zeggen: « Dat heb ik gebouwd, en het heeft me nooit in de steek gelaten toen het erop aankwam. »
Maar een nalatenschap doet er niet veel toe als de zoon van de CEO opduikt met een MBA van een of andere prestigieuze business school en geen enkele praktijkervaring heeft met systemen die daadwerkelijk onder druk moeten functioneren.
De aankondiging kwam tijdens onze maandelijkse personeelsvergadering. Shane Campbell, onze CEO en Prestons vader, klonk erg enthousiast via Zoom. Zijn stem had die ingestudeerde, zakelijke toon die CEO’s gebruiken wanneer ze op het punt staan iemand te bedriegen, maar daarbij inspirerend willen overkomen.
« Om ervoor te zorgen dat we met frisse perspectieven verder gaan met onze expansie in het derde kwartaal, ben ik verheugd aan te kondigen dat Preston zich bij ons aansluit als Strategic Product Lead. Hij brengt innovatief denken en geavanceerde methoden met zich mee die ons zullen helpen ons platform op te schalen voor de volgende generatie financiële technologie. »
Strategisch Productleider. Dat is jargon voor: mijn zoon heeft een belangrijke baan nodig, en ik geef hem die van jou. Geen overleg, geen overgangsperiode, geen erkenning dat de persoon die het product daadwerkelijk heeft ontwikkeld misschien wel inspraak zou moeten hebben in wie het overneemt. Gewoon een voldongen feit, gebracht met een glimlach en een hoop modewoorden.
Het Slack-kanaal explodeerde met felicitaties die niemand meende. Onze senior developers begonnen privéberichten te sturen met de vraag wat er in vredesnaam aan de hand was. Logan Martinez, onze CTO, stuurde me een bericht met de simpele boodschap: » We moeten praten. » Na de vergadering.
Preston stortte zich op zijn nieuwe rol alsof hij de reïncarnatie van Steve Jobs was, die de financiële compliance radicaal zou veranderen. Het eerste wat hij deed, was een reeks ‘verkenningssessies’ inplannen om onze huidige werkwijzen te begrijpen en optimalisatiemogelijkheden te identificeren. Ik woonde de eerste sessie bij en luisterde hoe hij technische termen volledig verprutste, terwijl onze senior ontwikkelaars elkaar aankeken alsof ze naar een auto-ongeluk in slow motion keken.
Hij bleef termen gebruiken als ‘synergetische architectuur’ en ‘ontwrichtende compliance-frameworks’. Toen onze databasebeheerder probeerde uit te leggen waarom we niet gewoon alles naar NoSQL konden migreren omdat ‘relationeel denken het innovatiepotentieel beperkt’, knikte Preston wijselijk en vroeg waarom we niet gewoon blockchain konden gebruiken om onze schaalbaarheidsproblemen op te lossen.
Toen wist ik dat we te maken hadden met iemand die alles wat hij over technologie wist, had geleerd van TED Talks en startupblogs.
Op de derde dag vroeg hij me al wat een staging-omgeving was en waarom we niet gewoon alles in productie konden testen om overbodige ontwikkeltijd te elimineren. Op de vijfde dag wilde hij weten waarom we QA-testen nodig hadden als we ook gewoon « gebruikersfeedback konden gebruiken om in realtime verbeterpunten te identificeren ». En aan het einde van zijn eerste week had hij ons hele bugtrackingsysteem verwijderd, omdat, en ik citeer: « negatieve energie trekt problemen aan, en we moeten ons richten op een oplossingsgerichte denkwijze. »
Die man was niet zomaar incompetent. Hij was levensgevaarlijk incompetent met de administratieve toegang tot systemen die hij niet begreep. Het is één ding om onwetend te zijn. Het is iets heel anders om onwetend te zijn én ervan overtuigd te zijn dat je onwetendheid eigenlijk innovatief denken is, iets wat de rest van ons door onze vastgeroeste denkpatronen niet kan waarderen.
Ik begon stilletjes alles te documenteren. Screenshots van zijn wijzigingen, kopieën van zijn Slack-berichten, logboeken van elke aanpassing die hij aan onze codebase maakte. Mijn training bij de marine had me geleerd om altijd een back-up plan te hebben, want als het in de echte wereld misgaat, zijn papierwerk en documentatie vaak het enige dat je scheidt van een krijgsraad. Het bedrijfsleven in Amerika verschilt niet zo veel van het leger als het gaat om jezelf indekken.
De echte wake-upcall kwam toen ik vervalste goedkeuringshandtekeningen in onze systeemlogboeken aantrof. Ik deed mijn gebruikelijke avondcontrole op de beveiliging – iets wat ik al zes jaar elke avond deed, omdat software voor financiële compliance nu eenmaal geen weekend vrij neemt – toen ik ongebruikelijke administratieve activiteit opmerkte. Iemand had machtigingen verhoogd met behulp van mijn digitale handtekening, terwijl ik nooit iets had goedgekeurd.
Kijk, bij de marine hadden we zoiets als de ‘chain of custody’ voor gevoelige systemen. Elke wijziging, elk toegangsverzoek, elke aanpassing moest worden geregistreerd, ondertekend en geverifieerd door meerdere partijen. Het was geen bureaucratie omwille van de bureaucratie. Het maakte het verschil tussen een navigatiesysteem dat je veilig thuisbracht en een systeem dat je met 30 knopen tegen een rif stuurde.
Ik had een soortgelijk controlemechanisme in ons platform ingebouwd. Elke administratieve handeling vereiste cryptografische handtekeningen van bevoegd personeel. Mijn handtekening was gekoppeld aan mijn persoonlijke beveiligingscertificaat, gegenereerd door een hardwaretoken dat ik altijd in mijn bezit hield. Er was letterlijk geen enkele manier voor iemand anders om het te gebruiken zonder mijn authenticatieapparaat fysiek te stelen.
Maar daar stond het dan, in de logboeken. Mijn handtekening waarmee ik Preston Campbell toestemming gaf voor root-toegang tot onze productiedatabaseservers. Mijn handtekening waarmee ik zijn wijziging van essentiële beveiligingsprotocollen goedkeurde. Mijn handtekening waarmee ik wijzigingen in onze back-up- en herstelsystemen goedkeurde. Allemaal met tijdstempels van uren waarop ik thuis lag te slapen of in vergaderingen zat waar Preston me kon zien.
Toen ik dieper in de metadata dook, leidde het spoor rechtstreeks terug naar Prestons werkstation. De jongen had op de een of andere manier een vervalste kopie van mijn digitale certificaat bemachtigd en gebruikte die om zichzelf onbeperkte toegang te geven tot elk systeem in onze infrastructuur. Hij had beveiligingsprotocollen die ik maandenlang had geïmplementeerd omzeild, goedkeuringsprocessen genegeerd en ons streng gecontroleerde platform in feite veranderd in zijn persoonlijke sandbox.
Toen hield mijn ergernis op en begon ik met plannen maken.
Je werkt niet zes jaar in de militaire communicatie zonder het een en ander te leren over redundantie en failsafes. Tijdens onze eerste fase van compliance-testen had ik een zogenaamd schaduwback-upsysteem gebouwd – een complete kopie van onze productieomgeving, weggestopt in een ongebruikte serverpartitie waar niemand behalve ik van wist. Het was mijn verzekering tegen precies dit soort scenario’s. Terwijl Preston bezig was onze hoofdcodebasis te veranderen in een hoop digitale rommel, synchroniseerde ik stilletjes mijn schaduwsysteem met elke stabiele build die we uitbrachten. Elke nacht om 2 uur ‘s nachts maakte een geautomatiseerd script een versleutelde back-up van ons werkende platform en bewaarde deze veilig, ver weg van de chaos die Preston tijdens zijn dagelijkse optimalisatiesessies zou kunnen ontketenen.
Die man bleef maar veranderingen doorvoeren waar elke competente ontwikkelaar de rillingen van zou krijgen. Hij verving onze beveiligde authenticatiemodules door een paar open-source widgets die hij op Reddit had gevonden, met de bewering dat die betere « gebruikerservaringen » boden. Het feit dat deze widgets absoluut geen beveiligingscontrole hadden ondergaan en werden onderhouden door één enkele ontwikkelaar in Moldavië, speelde blijkbaar geen rol in zijn besluitvorming.
Hij schrapte het door mij volledig zelf ontworpen onboardingproces voor gebruikers – een zorgvuldig opgebouwde reeks stappen die nieuwe gebruikers door alle compliance-eisen leidde – en verving het door iets dat leek op een kruising tussen een casinospel en een socialemedia-app. Vol flitsende animaties, voortgangsbalken die geen enkele daadwerkelijke vooruitgang bijhielden en badges voor het voltooien van zinloze taken.
Toen ons QA-team kritieke beveiligingslekken in zijn nieuwe code signaleerde – zoals SQL-injectieaanvallen, onversleutelde gegevensoverdracht en exploits om authenticatie te omzeilen die aanvallers volledige toegang tot financiële gegevens van klanten zouden kunnen geven – reageerde Preston met een lachende emoji en verwijderde hij hun toegang tot het bugrapportagesysteem.
« We laten negatieve feedbackloops achter ons, » kondigde hij aan tijdens de volgende teamvergadering. « Kwaliteitsborging is fundamenteel onverenigbaar met agile innovatie, omdat het gebaseerd is op de aanname dat er problemen bestaan. We stappen over op een op vertrouwen gebaseerd ontwikkelingsmodel, waarbij we uitgaan van goede resultaten en iteratief streven naar excellentie. »
Logan Martinez, onze CTO, zag eruit alsof hij een beroerte kreeg.