Ilya richtte Nerdy Production op en leidt de engineering. Hij bouwt software sinds 2010 en levert sinds 2018 Flutter in productie.

Daarvoor was hij CTO van QIWI, een van de grootste betaalplatforms van Rusland, waar hij zo'n 12 engineeringteams aanstuurde die reikten van webproducten tot kaartverwerking, -scope en contactloos betalen — waaronder het bouwen van contactloze kaartbetalingen op Android via over ISO/IEC 14443, met EMV Contactless (Visa PayWave) daarbovenop.

Hij was ook principal developer bij Yandex, waar hij aan Yandex.Auto werkte — native Android diep de auto in brengen, met zware integratie over de CAN-bus via een eigen CAN-shield — en principal bij Evotor, waarvan de kassa-apparaten op een fork van draaien, wat hem een blik op Android op laag niveau gaf die de meeste app-ontwikkelaars nooit krijgen.

Vandaag leidt hij de oplevering van de vlaggenschipapps van het bureau — van de grafiekzware fintech-UI van ExtraETF tot het volledig eigen designsysteem van Arcana. Hij schrijft de meeste artikelen op deze blog en onderhoudt het opensourcewerk van het bureau, waaronder de DOCX-naar-PDF-motor dxpdf.

Hij werkt met Flutter, native iOS en Android, Go, Rust, TypeScript, Kotlin, Kubernetes en Docker, met de nadruk op applicatiearchitectuur, cross-platform oplevering en het bouwen van teams die opleveren.

Recente artikelen

Software-engineering

Vijf states die niet kunnen bestaan, en jouw code staat ze alle vijf toe

We gaven een agent een doodgewone taak — een productlijstscherm met laden, een fout en data — en kregen een klasse terug met één boolean en twee nullable velden. Dat zijn acht combinaties, waarvan er drie iets betekenen; de andere vijf compileren, komen door de review, gaan naar productie en blijven daar liggen. Dit is wat een onmogelijke state is, waarom dat hetzelfde is als een gebroken invariant, waarom de echte kosten niet de runtimebugs zijn maar de ongeschreven afspraken die elke lezer opnieuw moet reconstrueren, en hoe sealed classes samen met volledigheidscontrole een hele categorie fouten in een buildfout veranderen. Plus: waarom een enum met nullable velden het erger maakt, welke ene regel de controle stilzwijgend uitzet, en de vier plekken waar algebraïsche datatypes helemaal niet helpen.

31 augustus 2026
Cybersecurity

Je SSL-pinning werkt waarschijnlijk niet

Google zegt dat certificate pinning "niet wordt aanbevolen voor Android-apps". Apple zegt "in de meeste gevallen is pinning niet nodig en kun je het beter vermijden". OWASP zegt inmiddels dat het antwoord op "moet ik pinnen?" luidt: "waarschijnlijk nooit". Ondertussen zit pinning in ruwweg de helft van de mobiele apps die we beoordelen — en op Flutter beschermt het meestal helemaal niets, omdat Dart de netwerkstack van het platform niet gebruikt, zodat de pinset in je network_security_config.xml nooit wordt gelezen. Dit is wat pinning je in 2026 werkelijk oplevert, of je het nodig hebt, vijf regels als je het toch doet, waarom Flutter ze allemaal breekt, en hoe je in een half uur uitzoekt welk geval op jouw app slaat.

27 augustus 2026
Software-engineering

Iedereen had de tijdlijn mis: AI, junioren en quantum

Twee jaar geleden zeiden de luidste stemmen in tech dat softwareontwikkelaars nu overbodig zouden zijn. Ze hadden het mis: de werkgelegenheid onder developers stortte niet in. Maar dezelfde golf die er niet in slaagde developers weg te halen, haalde wel iets anders weg — het routinewerk dat van beginners senioren maakte. De werkgelegenheid onder developers van 22 tot 25 jaar ligt sinds eind 2022 ruwweg 20% lager, terwijl hun oudere collega's gelijk bleven of groeiden. Ondertussen draait quantum computing precies dezelfde hypecyclus een ronde achter, en de mijlpaal die er werkelijk toe doet is niet die uit de koppen. Dit is wat het bewijs staaft, wat niet, en hoe je die twee uit elkaar houdt.

18 augustus 2026