Afgelopen week mocht ik met drie andere collega’s mijzelf in vijf minuten pitchen voor de account managers van Team Rockstars IT. Dit ter afsluiting van het trainingstraject consultancy, en als start voor deze nieuwe carrièrerichting. Voor wie er niet bij was hierbij een aangepaste en iets uitgebreide versie van mijn verhaal.
Ik ben Jasper Sprengers, 55 jaar en zo’n kleine 25 jaar professioneel bezig met software. Ik heb verschillende rollen gehad, van ontwikkelaar, architect, scrum master tot test lead. Daarvoor was ik korte tijd leraar Engels en vertaler. Enthousiast koorzanger, cellist, toneelspeler, fietser en fotograaf, maar niet allemaal tegelijk.
Lees ’t maar in mijn cv. Omdat ik hier maar vijf minuten heb wil ik graag twee belangrijke lessen delen die ik door de jaren geleerd heb, en die je een hoop geld en gedoe kunnen besparen. Het zijn geen grote geheimen, hoor. Wij als developers kennen ze allang, maar we geven ze niet graag toe. Het zijn vooral twee ongemakkelijke waarheden.
Allereerst: goede code schrijven is lastig en super tijdrovend (slechte code is alleen tijdrovend voor je collega’s, die daar heel sacherijnig van worden). Slimme, dure mensen maal veel tijd betekent een heleboel geld. Bouw dus nooit zelf wat je kant en klaar kunt kopen. Je moet de meerwaarde van zelfbouw heel goed aan kunnen tonen en nooit onderschatten hoeveel werk dat is. Volgens de ironische wet van Hofstadter gebeurt dat onderschatten vanzelf. Die luidt namelijk: “Alles duurt langer dan je denkt, zelfs als je rekening houdt met de Wet van Hofstadter”.
Over de keuze tussen zelfbouw of uitbesteden heb ik nog een leuke vergelijking. Hier in de parel van Brabant wordt veel paardgereden. Als je af en toe bij mooi weer lekker over de hei wil draven boek je een middag bij de manege. Dan ga je niet je eigen paard op je eigen erf houden. Tenzij je een groot erf hebt, veel geld, en (allerbelangrijkst) gek op paarden bent. Dan vind je het wel de moeite waard.
De tweede ongemakkelijke waarheid is dus dat programmeurs bij vergelijking stiekem allemaal paardengekken zijn. Ze vinden het dier en alles eromheen machtig interessant: anatomie, stambomen, uitgekiende voeding, exclusieve tuigage, noem maar op. Op paardrijden zelf zijn ze niet eens half zo verzot.
Code ontwikkelen is ook ontzettend creatief en bevredigend werk. Als je erdoor gepakt bent is er is niks leukers, dat weet ik uit ervaring. Net als muziek maken. Maar in tegenstelling tot bandleden die toewerken naar een optreden maakt het voor veel ontwikkelaars niet eens gek veel uit waarvoor, of door wie hun product gebruikt wordt. Spelen met het gereedschap is al leuk genoeg.
Waarom is die houding problematisch? Nou, onze opdracht als IT’ers is niet om nieuwe code te schrijven. Althans, niet per se. We helpen de klant bij een concrete behoefte, die we eventueel met nieuwe software kunnen oplossen, maar niet altijd. Soms zelfs niet met bestaande oplossingen. Sommige exotische uitzonderingsgevallen zijn te zeldzaam en/of te complex om te automatiseren. Maar ze (die problemen dan) smeken bijna om het toch te proberen. En als jij jezelf programmeur of, erger nog, coder noemt, dan voel je je nogal nutteloos als er niks te coderen valt, zelfs als niks doen de verstandige keuze is.
Pas dus goed op aan wie je welk probleem voorlegt. In een groep paardengekken neemt de cognitieve dissonantie het al snel over. Ze weten dat het niet de moeite waard is, maar onderschatten de inspanning en overdrijven het nut. Ze gaan redenen verzinnen om het toch te bouwen, onbewust en niet eens te kwader trouw. “Het is wat extra werk, maar zo zijn we wel maximaal flexibel”. Maar software hoeft helemaal niet maximaal te zijn! Het moet effectief zijn. Het moet doen wat nodig is voor een redelijke prijs.
Samenvattend: waarom moet je mij vragen? Omdat ik niet voor mijn eigen professionele bevrediging andermans geld over de balk wil gooien. Ik heb mijn tienduizend praktijkuren wel gehad, en mijn codeervingers gaan bij een nieuwe uitdaging veel minder hard jeuken dan in 1999. Voor tien minuten tijdsbesparing elke maand gaan we geen 30K aan uren verspijkeren, sorry. En als iemand die uren veel te rooskleurig inschat omdat-ie het stiekem graag wil bouwen dan prik ik door die dubbele agenda heen. En dat beschouw ik als mijn meerwaarde.