Independent software engineer focused on industrial systems
I build and debug systems software for industrial customers, mentor and train engineering teams, teach programming courses, and speak at conferences on systems programming.
Services
Adopting Rust in your project? Modernizing your code base in C++ to match the current standards and best practices? Working in a safety-critical environment? Introducing testing frameworks into your development stack? You might be interested in my mentoring and training offering.
Background
I’ve been an independent systems engineer since around 2005 when I started helping out a graphic designer with web development. Since then I went through different stages, was employed for five years at one of the leading Linux companies and shifted from support for small companies through internet services to industrial programming.
Software Engineering
I started out as an independent developer, system administrator, and on-site support engineer back in 2005. While I was still looking for my niche, local connectivity issues pushed me to dig into how networks and the internet work.
Reliable internet was essential for the kind of work I wanted to do. A local internet provider was just experimenting with things like IPv6, OSPF and BGP and they asked me to work with them and improve the reliability of the network. My other customers were small companies in need of technical support or entrepreneurs seeking prototypes of new projects.
- International e-shop and a few other web projects
- Wireless hotspot service prototype with Linux and OpenWRT
- Infrastructure for distribution of games for Nokia phones
- Internet television console prototype with Linux and Clutter
- CUPS plugin to integrate with an office printing service
At Red Hat, from 2012 to 2017, I worked on Fedora and RHEL networking: I introduced an OS abstraction layer into NetworkManager that made unit and integration testing possible for the first time, and worked across team boundaries on IPv6 and DNSSEC integration ahead of their mainstream adoption.
Back as an independent software engineer, since 2017, I was contracted as a consultant in numerous cases. I wrote software prototypes mostly in C, Python and the UNIX shell.
- Consulting through a Red Hat partner network regarding CUPS integration
- Online infrastructure for a British energy supplier and their customers
- Assessment of the state of network configuration for SUSE
- Security software infrastructure for a pharmaceutical company
Around 2019, I shifted my focus to more industrial use cases. During that time I started writing more code in Rust and C++ to balance between reasonable level of abstraction and predictable performance.
- Performance analysis of server software using eBPF
- QNX-style inter-process communication layer for the Linux kernel
- Linux drivers and OpenWRT integration of network switch hardware
- Industrial projects featuring serial communication on Linux
The combination of industrial software prototypes and software consulting helped me develop better courses and introduce a mentoring service.
Commercial Training
My training career started very early, delivering first courses on Linux administration in 2008. Later I extended my courses to networking, network security, even dedicated IPv6 courses with Root.cz. I was preparing to start delivering Red Hat certified courses when instead I joined Red Hat in 2012 as a software engineer.
During the five years of employment I stayed in contact with training companies. One of them stood out for their activity in the local open source community, that was ICT Pro. I refused, in 2016, their inquiry for a Linux kernel driver development course due to a lack of time for such a major undertaking.
In 2018, however, the same inquiry was on the table and I was now ready to sacrifice the summer to prepare the course. After that we delivered Linux kernel and user-space courses to our customers on a regular basis. That same year a customer asked for design patterns in Python that later became a basis for similar courses in other languages.
In early 2020, during the COVID-19 shutdown, I contacted Petr Slavík asking how the company is getting through and we agreed to start updating the Python courses so we are ready when the situation resolves and customers get back to us. When we were happy with the Python courses, I started working on complete redesign of C and C++ and later added Rust courses to the portfolio.
We are still in tight cooperation, working together to deliver top quality advanced C, C++, Rust and Python courses.
Since 2023, I’m also delivering introductory courses with the Czech national domain registry’s academy on Rust programming and Shell programming.
Teaching at the University
It all started in 2021, when a student, Damian Waloszek, who was looking for someone to teach Rust at MatFyz, Charles University’s Faculty of Mathematics and Physics, contacted me and Michal Vaner, and we worked out the best way to introduce Rust at the university.
I was the only one who could dedicate time to creating two Rust courses of six to seven lectures each, and Michal helped out with the more advanced topics. Later, in 2024, Lukáš Hozda accepted my invitation to teach with me as a guest. Students wanted more hands-on experience and Lukáš was able to come every week and extend the lectures with labs.
In 2026, we are in the process of discussing what to do with the Rust courses in the upcoming years.
Other Teaching Adventures
I’ve been teaching my peers since very early in primary school. Around 2001, I turned that experience into regular tutoring. More recently I’ve been visiting schools through a project called Den pro školu, showing kids of all grades practical programming lessons and speaking about software development in schools.
Since 2025, I’m part of the EduSkills.cz education project that aims to help teachers modernize their ways and teach much more than facts and school subjects. At the same time the project delivers practical lessons for children in both computer science and communication skills.
Speaking
I’ve been regularly speaking at conferences since about 2011. Before that, I got invited to speak at a customer’s venue by Jan Bartoš, founder of SmartData. Since then I’ve spoken at European open-source and systems conferences, including LinuxCon, FOSDEM, DevConf, OpenAlt, LinuxDays, Rust and C++ meetups and other events.
Conference talks
- Smitio PANEL 2024Nejmocnější programovací jazyk aneb C++ is not DEAD
- jOpenSpace 2024Systémové programovací jazykyvideo
- CSNOG 2024Linux: Hardware Switch Supportvideo, slides
- OpenAlt 2023Rust: Pomůže vám s bezpečností a spolehlivostí?video
- InstallFest 2022Rust a změna myšlení programátoravideo
- OpenAlt 2019Debugování céčkových programůvideo
- LinuxDays 2019On the edge of the Linux kernel and user spacevideo
- PyCon CZ 2019Debugging binaries with Pythonvideo
- LinuxDays 2017Síťová konfigurace na Linuxuvideo
- LinuxDays 2016, PragueTestování síťových aplikacíslides
- Linux Plumbers Conference 2014DNSSEC and split DNS using unbound and dnssec-triggerslides
- LinuxDays 2014, PragueO síťové konfiguraci, init skriptech a systemdvideo
- DevConf 2014glibc network name resolution issues, solutions and alternativesvideo
- LinuxCon 2013, EdinburghArchitectural Changes in NetworkManagervideo
- EurOpen.CZ 2013NetworkManager pro servery a virtualizaci
- Fedora Developer Conference 2013, BrnoEvolution of Linux network managementvideo, slides
- FOSDEM 2013, BrusselsCan Linux configuration suck lessvideo, slides
- LinuxAlt 2012, BrnoModerní síťová konfigurace linuxových desktopů a serverůslides
- LinuxDays 2012, PragueNews from the world of Linux networkingslides
- MikroExpo 2012Stav IPv4 a IPv6 v České Republiceslides
- EurOpen.CZ 2012Kontejnerová virtualizace na Linuxu
- Kam kráčí české bezdrátové sítě 2011, SušiceIPv6: Reálné nasazenívideo
- Openmobility 2011Embedded vývoj v Clutteru a Mxslides
- EurOpen.CZ 38 (2011), PavlovInfrastuktura IPv6 na otevřených systémechslides
Education talks
- InstallFest 2024Programování na základní školevideo
- Mozaika Vzdělávání #22S Pavlem Šimerdou o vzdělávání v roli žáka, rodiče, lektorapodcast
Other appearances
- EVOLVE! StoriesJak být dobrým recruiterempodcast
- OldschoolersTři obyčejní chlapi pomáhají Ukrajiněvideo
Community
I revived the Prague Rust Meetup in 2024, with Jakub Beránek, and stay active in the Czech Rust and C++ communities.
In 2025, I joined ISO/IEC JTC1/SC22/WG21, the C++ standards committee, and I’m active in SG20, its education study group.
Contact
Feel free to drop me an e-mail. I will get back to you shortly.
Based near Prague, Czech Republic, working with clients remotely and on-site across Europe. I’m listed on Na volné noze, a Czech freelancer directory.