Sergey Gafurov – Architect ByeleX
‘Samenwerken met goede mensen en complexe problemen oplossen is leuk’
“Ik ben min of meer vanzelf in de softwareontwikkeling beland. Ik denk dat dit vaak het geval is als je echt plezier beleeft aan het maken van computerprogramma’s en -systemen.”
Het begon allemaal eind jaren tachtig, toen ik op de middelbare school zat
‘Ik begon met het leren van BASIC op een Yamaha MSX2, een Japanse computer die in die tijd vrij zeldzaam was op scholen in Oost Europa. Later ging ik naar een school met gespecialiseerde lessen in natuurkunde en wiskunde, en van daaruit was de volgende stap programmeerwedstrijden.’
Competitief programmeren bleek buitengewoon verslavend te zijn. Oudere vrienden en leraren leerden Sergey wiskunde en algoritmen, en uiteindelijk won hij verschillende wedstrijden. Als gevolg daarvan werd Sergey zonder toelatingsexamen toegelaten tot de faculteit Toegepaste Wiskunde en Informatica van de Wit-Russische Staatsuniversiteit.
‘De universiteit geeft je een beroep. Het mijne is, althans officieel, “wiskundige en systeemprogrammeur”. Op deze manier leidde mijn fascinatie voor wiskunde en het oplossen van problemen me op natuurlijke wijze naar de softwareontwikkelingsindustrie.’
In 2001 werd Sergey gerekruteerd door een van zijn professoren
Deze professor was betrokken bij het bouwen van een expertsysteem voor ByeleX. Zijn allereerste taak? Een nieuwe versie van dat systeem implementeren in Java, zodat het via internet toegankelijk werd.
ByeleX
Na vele jaren van samenwerking denkt Sergey niet meer in termen van locaties. ‘Er is geen ByeleX Nederland-team en geen ByeleX Oost-Europa-team. Het is gewoon één groot team dat vanuit twee kantoren werkt.’ Die mentaliteit komt tot uiting in de manier waarop projecten worden aangepakt: gedeelde verantwoordelijkheid, open discussie en een sterk gevoel van collectief eigenaarschap.
Zakenreizen naar Nederland hebben hun sporen nagelaten, maar niet noodzakelijkerwijs op de verwachte manier. ‘Ja, Amsterdam bracht een paar “schokkende momenten” met zich mee, maar verder niet boeiend.’ Wat hem bijbleef, zijn eenvoudige indrukken: het uitzicht vanuit het vliegtuig tijdens de landing, de charme van kleinere steden en de vriendelijkheid van de mensen. ‘Het is gewoon een leuke plek om te zijn.’
Projecten om trots op te zijn
In de loop der jaren heeft Sergey aan veel projecten gewerkt waar hij trots op is. Een voorbeeld hiervan is KCStreet voor ArboNed. Het project ging in juni 2007 van start en is uitgegroeid tot een groot, complex softwaresysteem dat technologisch is geëvolueerd – van Java 6, Java EE en EJB 2.1 naar Java 17, Spring Boot en Docker. Het is het resultaat van de gezamenlijke inspanningen van veel bekwame engineers en heeft de klant bijna 18 jaar lang goed gediend. Het is het soort project dat in de loop van de tijd stilletjes zijn waarde bewijst. “Niet iets waar ik op een feestje over zou praten”, geeft hij toe. “Het is gewoon te serieus – en misschien een beetje saai.”
‘Aan de andere kant van het spectrum was er nog een ander project waar ik trots op ben – en dat veel leuker was – namelijk een GPU-miner-applicatie.’ Dit was een kort project in 2014. Op dat moment domineerden AMD GPU’s duidelijk de GPU-mining. Sergey wist niets van het onderwerp en begreep niet waarom NVIDIA deze concurrentiestrijd aan het verliezen was. Hij leerde zichzelf GPU-programmeren in C/C++ en NVIDIA CUDA en implementeerde de miningberekeningen in Java met een standaard cryptografiebibliotheek. Met behulp van reverse-engineered algoritmen slaagde hij erin om een werkende miner te bouwen. Deze versloeg nooit de voor AMD geoptimaliseerde implementaties, maar gaf wel antwoord op de vraag waarom. En voor Sergey was dat de moeite waard.
Een project kan niet complex genoeg zijn
‘Ik heb van een professor die het menselijk brein bestudeert gehoord dat mensen een uitdagend probleem nodig hebben om op te lossen. Dat is waar, althans voor mij.’ Uitdagende problemen stimuleren het brein, zelfs als ze stress met zich meebrengen. Complexe problemen kunnen het beste worden opgelost als er iemand is om mee te sparren. Vaak is een goede oplossing een gezamenlijke inspanning die uiteindelijk resulteert in een succesvolle implementatie.
Dus al met al – samenwerken met goede mensen om complexe problemen op te lossen en vervolgens te zien hoe de nieuwe software werkt is leuk.
Huidige projecten
Sergey is momenteel betrokken bij meerdere projecten, waaronder Byecoin, dat onlangs een aantal bevredigende technische uitdagingen opleverde. En daarna? Hij hoopt op iets dat nog complexer is. ‘Laten we het afwachten, fingers crossed.’
Privé
‘Ik ben al 29 jaar samen met mijn vrouw. Zij is net zo’n workaholic als ik, dus in dat opzicht passen we perfect bij elkaar. Ik sport regelmatig, meestal ongeveer vijf keer per week. Vroeger deed ik aan vechtsporten, maar dat bleek niet de gezondste vorm van lichaamsbeweging te zijn – althans niet voor mij. Tegenwoordig zwem ik en doe ik aan cardiotraining. Ik kan niet zeggen dat ik er erg van geniet. Dat geldt vooral op vrijdagavond, wanneer de tv en de bank een veel aantrekkelijkere keuze lijken terwijl ik op weg ben naar het zwembad. Maar achteraf voelt het goed en het helpt me om met stress om te gaan. Dus ik probeer het vol te houden en beschouw het als een soort onderhoud.
Ik heb niet echt een hobby in de traditionele zin van het woord – voor mij veranderen hobby’s vaak in projecten. Mijn huidige project is bijvoorbeeld het bouwen van een apparaat voor het verwarmingssysteem in mijn huis. Daarvoor moet ik embedded programmeren voor microcontrollers in Rust (bare-metal, zelfgeschreven firmware), wat solderen en me verdiepen in schema’s, datasheets en OpenTherm-protocolspecificaties. Hoewel het erg technisch klinkt, is het een compleet nieuw gebied voor mij – en dat maakt het juist zo leuk.
Leven buiten de techwereld?
Als ik even snel nadenk, kan ik me een aantal opties buiten programmeren en IT voorstellen, maar die vallen nog steeds onder de bredere definitie van ‘werken in de techwereld’. Eigenlijk zou ik nog steeds technische problemen oplossen.
