About Me
Tomáš Votroubek
Hello, I am a PhD student and junior researcher at the Artificial Intelligence Center in Prague, working on game theory and global optimization. Alongside research, I build reliable software systems ranging from optimization tooling and scientific infrastructure to embedded and cross-platform applications.
Interests
I am interested in the optimality, efficiency, and minimalism of computer programs. This includes everything from designing specialized solvers and algorithms, to writing toy path-tracers for fun, to programming embedded hardware with limited computing power.
I am a big fan of Mark Seemann’s ideas on Poka-yoke design and his development practices in general. I’ve had good experiences with functional design; software built that way doesn’t fail once out in the wild. For related reasons, I currently give regular lectures on functional programming at the Czech Technical University in Prague.
Experience
I have shipped software for Linux, Windows and Android, written in: C++, Java, JavaScript and Python, along with the obvious host of other supporting tools such as Bash, SQLite, etc. In my current job I mainly write Julia, Python, with the occasional Haskell and Scheme, but I know others and am willing to learn.
Other languages
People have technically also paid me to write in C, C#, F# and Matlab, but those projects were either too small or one-time use. I have completed a Prolog course too, and in case even that is not enough, I am willing to learn any language You need (except for PHP, which I swore never to write again).
From a Sketch to Shipped Products
I have experience with software development from the initial problem analysis, through design and development including hardware selection (during the difficult times of Raspberry Pi shortages), UI/UX, prototypes, feedback, translations, all the way to release and updates.
I created software for the detection and visualization of plagiarism in university homework submissions based on gSAIS; several dashboards and displays for monitoring and data collection of laboratory humidity, freezer temperatures, and alarm states based on SNMP and MQTT; and Android to Windows software for scanning etched DataMatrix labels using the Scandit SDK and sending them to MS Excel over Bluetooth with 32feet.NET.
Networking, Graphics and Design
Outside of programming and research, I semi-professionally manage the local-area network and website for a small inn, I know the basics of CAD, Fused Filament Fabrication, laser engraving, and graphical 3D modeling for product and architectural design; I can even clean up your logo for laser-cutting…