Voordat ik bij Enrise aan de slag ging, heb ik een aantal jaar in Ljubljana gewoond. (Ljubljana is de hoofdstad van Slovenië en een aanrader eens naartoe te gaan!) Hier heb ik professioneel online gepokerd. Sinds ik develop krijg ik regelmatig de vraag of het niet een grote stap was, om van poker over te stappen naar programmeren.
Ik geef hierop eigenlijk standaard de reactie dat het juist heel veel overeenkomsten heeft. Meerdere mensen maken deze stap, iets wat vaak tot veel verbazing zorgt. Met dit blog wil ik je graag uitleggen waarom ik denk dat dit zo is.
Analytisch denken
Het is bij zowel poker als programmeren van belang dat je je voor langere tijd moet kunnen concentreren. En je moet keuzes leren maken aan de hand van incomplete informatie. Wanneer je pokert of programmeert kom je continu voor kleine puzzels te staan die je dient op te lossen. Als je hier meer interesse in hebt, raad ik deze TED talk aan. Hierin legt een pokerspeelster onder andere uit waarom poker je leert kwantitatief te denken.
Flow State
Bij poker vond ik het heerlijk om helemaal op te gaan in strategie. Het gevoel te hebben alsof de tijd om je heen even stil staat, ook wel flow state genoemd.
Dit gevoel van diepgang geeft mij erg veel voldoening. Ik vind het dan ook erg fijn dat programmeren dit aspect ook heeft. Tijdens mijn pokercarriere realiseerde ik hoe belangrijk ik dit vond na het lezen van het boek Deep Work van Cal Newport. In dit boek geeft Cal advies over hoe je je focus en voldoening kan verbeteren in een wereld met enorm veel afleiding.
Hoofdpijn
Met programmeren is het helaas niet ongebruikelijk dat je soms uren vast zit om iets op te lossen, waarbij de oplossing soms onmogelijk lijkt. Bij poker is dit niet anders. Het kan soms zijn dat je duizenden handen goed speelt tegen mindere tegenstanders (en je dus op lange termijn wint), terwijl je toch verliest. Dit forceert je om kritisch naar je eigen werk en proces te kijken en je werk vaak te analyseren met anderen.
Wanneer je dit mentale aspect interessant vindt, raad ik je het boek The Mental Game of Poker van Jared Tendler aan. Ik ben ervan overtuigd dat iedereen hier wat aan kan hebben. Of je nou pokert, programmeert of heel wat anders doet.
Informatie overvloed
Zowel bij poker als programmeren is het soms lastig door de bomen het bos te blijven zien. Er is zoveel informatie online beschikbaar dat het vaak lastig is om te weten wat je nou precies moet doen. Bij poker kun je hierbij denken aan een hand waarbij meerdere mensen iets anders zeggen, of een stukje software dat aangeeft de hand steeds een bepaald percentage zus te spelen, en een ander percentage zo. Bij programmeren kan dit betekenen dat je een probleem op veel verschillende manieren kunt aanvliegen.
Het is hierbij belangrijk om de informatie te vinden die je nodig hebt en vervolgens een keuze te maken. Vaak komt hier ook een vereenvoudiging van je strategie bij kijken. Bij poker heb ik zo vaak voor dit probleem gestaan dat ik denk dat het me heeft geholpen bij het leren van programmeren.
Blijf up to date
Bij programmeren is het zo dat veel talen/frameworks van enkele jaren geleden nu een stuk minder relevant zijn geworden. Bij poker had ik hier ook continu mee te maken. Toen ik begon was er nog geen software die je vertelde hoe je moest spelen, en probeerde ik up to date te blijven aan de hand van forums, online discussies met anderen en coaching videos. De afgelopen jaren werd het gebruik van software die precies uitrekent hoe je moet spelen steeds gebruikelijker.
Het was bij poker belangrijk jezelf hier niet tegen te verzetten en je aan te blijven passen aan de laatste ontwikkelingen. Zo ging ik ook studeren met deze software voor poker (PioSOLVER). Bij Enrise kijken we vaak wat de markt vraagt en kijken de teams wat hier de beste oplossing voor is.
Samenwerken is belangrijk bij pokeren en programmeren
Bij poker is het belangrijk, wanneer je relevant wil blijven, om samen met anderen te blijven werken aan je spel. Zo huurde ik vaak een coach in en woonde ik met een andere pokerspeler in Slovenië. Daarnaast besprak ik vaak strategie via forums, Skype of via online calls waarbij we ons scherm deelden. Vaak doken we hierbij in onze database en gingen we op zoek wat er beter gedaan kon worden. Hierbij was het ook belangrijk complexe situaties mondeling goed uit te kunnen drukken. En dat komt weer goed van pas bij gesprekken met klanten!
Wederom geldt, bij programmeren is dit niet anders. Bij Enrise wordt code altijd gereviewed (zie blog: Code reviews zorgen voor kennisoverdracht, consistentie en betere inschattingen) voordat deze online wordt gezet en bespreken we code via Slack, op kantoor of in Google Meets.
Bij Enrise werken teams ook direct samen met de klant, waarbij ik denk dat mijn poker ervaring ook heeft geholpen. Samen kom je tenslotte een stuk verder (en is het leuker!) dan wanneer je alles alleen zou doen. Lijkt dit je leuk en wil je graag voor of met ons werken? Wij horen het graag!