Jmenuji se Richard Ivánek a už nějaký ten pátek (cca 15, z toho 9 profesně) programuji. Mezi mé hlavní jazyky patří Rust, TypeScript a C#, ale ovládám dostatečně i C/C++, Haskell a Dart. Mám magisterský titul v teoretické fyzice, kterou jsem vystudoval na Matematicko-fyzikální fakultě Univerzity Karlovy.
Profesnímu programování jsem se věnoval už během středoškolského studia. Během studia vysokoškolského jsem si založil živnost a nepřetržitě pracuji na několika dlouhodobých (a někdy krátkodobých) projektech.
Dělám vesměs práce všeho druhu, pracuji jak s moderními technologiemi (WebAssembly s Rustem, WebGL, Svelte, Axum), distribuovanými systémy (Kubernetes, OpenShift), tak i s technologiemi staršími (Shoptet s jQuery). Detailněji se o mých schopnostech dozvíte níže.
Vzdělání
-
Magistr teoretické fyziky
Ústav teoretické fyziky, MFF UK
2020 - 2022
-
Bakalář obecné fyziky
MFF UK
2017 - 2020
-
Gymnázium Kroměříž
2009 - 2017
Jazyky (lidské)
- čeština - něco málo vím
- angličtina - na pohodu
- ruština - základní
Pracovní zkušenosti
-
Chartium
Lead programátor
2020 - now
-
Coffeespot.cz
Programátor
2022 - now
-
Čokoládovna Janek
Programátor
2020 - now
-
Cimex
Externí programátor
2018 - 2023
-
Dataclue
Programátor
2016 - 2018
-
AVG Technologies
Částečný úvazek v technologickém oddělení
Summer of 2014
Programovací jazyky
Rust
Můj oblíbený jazyk, psal jsem v něm i kód ke své diplomové práci.
TypeScript
Můj druhý nejčastější jazyk, používám ho s několika frameworky jak na backendu, tak na frontendu.
C#
Můj první "pořádný" jazyk. Psal jsem v něm hry a později webové a CLI aplikace, v současnosti i Office COM Interop a Microsoft Graph API klienty.
C/C++
Tyto jazyky denně nepoužívám, ale pravidelně se snažím udržovat jejich znalost abych se zorientoval ve zdrojových kódech open-source projektů.
Dart + Flutter
Udělali jsme v nich s kolegy iOS/Android aplikaci pro veletrh IAESTE, ale budoucnost v tomto ekosystému nevidím.
Technologie
Linux
Používám ho jako svůj hlavní operační systém, od release Windowsu 10 (nejde o pouhou korelaci). Mám zkušenosti i s administrací, např. s deriváty RHEL jako AlmaLinux. Btw I use Arch.
Git
Používám na všech projektech, pro kolaborace, zálohování a další. Momentálně se zabývám (již brzy) federovanými GitHub alternativami jako Forgejo.
Docker/Podman
Používám je na distribuci i deployment, mám zkušenosti s vytvářením images i pro Rust a Node programy.
Kubernetes/OpenShift
Používám relativně krátkou dobu, hlavně kvůli klientům.
Syncthing + restic
Zabývám se decentralizovaným a šifrovaným zálohováním soukromých i produkčních dat.
Cursor + Claude
Dobře mi slouží při udržování 10x statusu.
Frontend frameworky
Svelte
Můj oblíbený framework. Používám ho pro většinu nových projektů, kde je potřeba reaktivita/client-side JS.
Astro
Má nová oblíbená volba pro prezentační weby (jako je tento).
React
Máme vztah založený na vzájemném respektu. Už ho nepoužívám v nových projektech, ale stále s ním ve velké míře pracuji.
jQuery
Pracuji kolem něj na Shoptet instancích, ale v poslední době je má interakce s ním omezena na jeho odstraňování a použití novějších browser API.
Backend frameworky
Axum
Používám často na performant backendy.
Warp
Používal jsem před Axum.
ASP.NET Core
Dříve jsem v něm psal spoustu backendů, dnes už ho používám jen ve starších projektech, které stále spravuji.
Nest.js
Udržoval jsem Angular + Nest aplikaci. Nejsem největší fanoušek, ale chápu proč je populární.
Ostatní
Godot
Jeden z mých nejoblíbenějších FOSS projektů. Mám v něm něco málo hodin naklikaných a načtených spoustu řádků zdrojového kódu.
XNA/FNA/MonoGame
Frameworky, na kterých jsem doslova vyrůstal, a které mi pomohly stát se decentním programátorem.
Tauri
Čas od času s ním experimentuji, napsal jsem v něm application launcher, který denně používám už přes rok. Těším se na podporu mobilních zařízení.
Tahle sekce je pro ty, kteří tu nejsou pro CV, ale spíš je jen zajímá, co dělám. S programováním jsem začal v prvním ročníku osmiletého gymnázia, když spolusedící donesl kalkulačku, která podporovala programování v jazyce BASIC. Zvědavost mě velice rychle přivedla k variantě Small Basic , se kterou jsem trávil spoustu času doma. Psal jsem textové RPG hry a brzy mě začal Small Basic brzdit. Naučil jsem se tak Visual Basic a WinForms, ale pořád to nebylo ono. Jelikož jsem chtěl dělat opravdové hry, sáhl jsem rovnou po C# a XNA. Své první projekty jsem s tímto jazykem zkoušel již ve 13 letech.
Se C# jsem trávil čas až do mých univerzitních let, naprototypoval jsem spoustu her, ale vždy mě herní projekt nakonec omrzel. V mezičasech mezi projekty jsem se naučil webové vývojářství, kterým se dodnes živím. Původně jsem pracoval s PHP a JS, ale brzy jsem se přesunul na ASP.NET a TypeScript. Dnes již C# téměř nepoužívám, přesunul jsem se k Rustu, ve kterém jsem psal i program na mou diplomovou práci. Dělám na CLI deployment nástrojích, high-performance aplikacích, programech pro zpracování velkého objemu dat a automatizacích pro e-shopy. Také extenzivně pracuji na webových aplikacích a často se setkávám s WebAssembly, WebGL a dalšími technologiemi.