Hij was eerst de beste vriend van Serge en daarna zijn partner. Dat scheelt een hoop overleg. Ze zijn het regelmatig oneens, meestal over hoe iets opgezet moet worden, en nooit lang. Wat eruit komt is bijna altijd beter dan wat een van beiden alleen had bedacht.
Aaron schuift aan zodra het over architectuur of een overname gaat. Hij stelt dan de vervelende vragen: wat gebeurt er als dit tien keer zoveel wordt, wie kijkt hier over drie jaar naar, en wat doe je als deze leverancier ermee stopt. Dat zijn geen vragen waar iemand in een eerste gesprek op zit te wachten, en het is precies waarom ze gesteld moeten worden.
Ze kennen elkaar lang genoeg om een discussie over architectuur niet beleefd te houden. Dat is precies de bedoeling. Wat eruit komt is bijna altijd beter dan wat een van beiden alleen had bedacht, en het duurt zelden langer dan een middag.
De vraag is niet of het werkt. De vraag is wie het over vijf jaar nog snapt.
Daar komt zijn stelligste mening vandaan: opnieuw bouwen is bijna nooit het antwoord. Iedereen die voor het eerst in andermans code kijkt wil hem weggooien, en dat is een gevoel en geen analyse. In dat oude systeem zit tien jaar aan uitzonderingen die niemand heeft opgeschreven, en die ontdek je bij een herbouw allemaal opnieuw. Meestal op het moment dat het nieuwe systeem al live staat.
Vervangen in stukken duurt langer op papier en is in de praktijk goedkoper, omdat je nooit een half jaar zonder werkend systeem zit. Hij schreef er een stuk over dat je op de blog terugvindt.
Wat het kost: aan het begin van een project ongeveer een week extra. Wat het oplevert: dat je die discussie over herbouwen twee jaar later niet hoeft te voeren.
Waarvoor je belt
- De opzet van een nieuw platform, voordat er code geschreven wordt.
- Een overname van andermans code, inclusief wat dat realistisch kost.
- Een codescan: in welke staat is wat je hebt.
- Een second opinion op een plan of een offerte van iemand anders.