Tomáš Janoušek
Verified Expert in Engineering
Software Developer
Guildford, United Kingdom
Toptal member since December 8, 2021
Tomáš is a polyglot programmer with almost two decades of industry experience. He has worked with databases (including a columnar database startup), networks, CI infrastructure, package management, operating systems (contributed fixes to the Linux kernel), digital typesetting, and more. Tomáš is a free and open-source software enthusiast, maintainer of the xmonad window manager, and frequent contributor to many other projects.
Portfolio
Experience
- C - 20 years
- Linux - 19 years
- Haskell - 15 years
- Git - 14 years
- Docker - 5 years
- Erlang - 4 years
- Python - 3 years
- Elixir - 2 years
Availability
Preferred Environment
Linux, Vim Text Editor, IRC, Slack, Git, GitHub
The most amazing...
...thing I've developed is the second-generation analytical query engine at GoodData, an optimizing compiler from MAQL to SQL serving millions of BI reports daily.
Work Experience
Software Engineer
Altworx
- Collaborated on a real-time event processing system with physical and cybersecurity applications.
- Prototyped a 100X faster storage engine for the Reality Network—a time-traveling graph database.
- Discovered, investigated, and fixed several fundamental issues in the event processing pipeline.
- Addressed technical debt using static analysis tools (linting and types) and a custom testing framework.
Principal Software Engineer
GoodData
- Ran the continuous integration and deployment infrastructure and build tooling for 100 engineers.
- Reviewed and merged hundreds of pull requests across multiple repositories.
- Sped up our Jira deployment so much that I got thank-you emails from the grumpiest engineers.
- Contributed patches to Jenkins Job Builder and Python-Jenkins and co-maintained both.
- Made the builds of dozens of components more reproducible, secure, and scalable using Docker.
- Set up a merge queue for the legacy monolith with 4-hour integration tests, saving its developers hours of wasted time every week.
- Built a tool for tracking individual test failures in Jira, which helped developers of shared codebases.
Back-end Software Engineer
SQLdep (Acquired by Collibra)
- Collaborated on a multi-dialect SQL parser and visual data flow (lineage) analyzer.
- Administered the CI infrastructure and introduced continuous deployment for the back end.
- Scaled the analyzer using parallel workers and a job queue. Set up logging and monitoring.
- Prototyped on-premise deployment of the cloud-first product for customers in regulated industries.
- Tackled technical debt by refactoring the codebase into independent components, which sped up tests and builds.
Technical Co-founder
Briskat
- Developed a prototype of a high-performance, interactive database primarily intended for online analytical processing and capable of processing millions of rows in milliseconds on commodity hardware.
- Used caching and data compression (with some pre and post-processing tricks to improve compression effectiveness) to reduce CPU work and improve memory bandwidth utilization.
- Designed data structures and algorithms for efficient data storage, sorting, joining, and querying.
Senior Software Engineer
GoodData
- Developed a second-generation Extensible Analytics Engine (XAE), the core of GoodData platform.
- Built an optimizing compiler from Multi-Dimension Analytical Query Language to SQL.
- Tested the SQL backend against a reference implementation of the semantics using QuickCheck.
- Set up regression testing infrastructure using both synthetic and production data. This ensured correctness, prevented performance regressions and allowed us to run performance experiments.
- Pioneered CI (test results within a minute of git push) and CD (using Erlang hot code reloading).
- Had my sleep interrupted due to production incidents less than 5 times: XAE uses small workers (microservices) with almost no moving parts, serving millions of reports daily.
- Promoted to Senior Software Engineer after we fully migrated to the second generation XAE.
Software Engineer
Red Hat
- Maintained RHEL and Fedora packages for Bash, Dovecot, Cyrus IMAP, and BRLTTY.
- Fixed Xorg freezing after 49.7 days. Windows 95 and 98 famously had that issue a few years earlier.
- Added the boot-based timer into the Linux kernel to fix uptime and process start times after sleep.
- Fixed a hard-to-reproduce race in nss_ldap, which led to users seeing another user’s data (emails).
- Received a promotion from associate software engineer to software engineer within six months.
Programmer
QNet CZ
- Built an ISP portal back end that configured iptables and traffic control (shaping) and showed live per-customer traffic statistics.
- Implemented a flexible, role-based access control framework for the front end.
- Shadowed the network administrator and technicians and later used the knowledge while volunteering for the CZFree.Net community network.
- Developed a call-pricing plugin for the Asterisk VoIP gateway.
Experience
xmonad
https://xmonad.org/eLearning at Masaryk University
https://is.muni.cz/help/elearning/testy?lang=enStrava-map-switcher
https://github.com/liskin/strava-map-switcherEducation
Bachelor's Degree | Master's Degree Coursework in Computer Science
Masaryk University - Brno, Czech Republic
Erasmus Student Exchange in Scientific Computing
Universität Wien - Vienna, Austria
Skills
Libraries/APIs
WebExtensions API
Tools
Git, GNU Make, LaTeX, Vim Text Editor, Jenkins, GitHub, Ansible, Slack, RPM, CVS, Puppet, Splunk, Zuul, Asterisk, Jira
Languages
Bash, TeX, Haskell, Elixir, Erlang, Perl, C, SQL, Scala, Python, C++, JavaScript, Java, Assembler x86, PHP, Groovy
Platforms
Linux, Docker, Apache Kafka, Fedora
Paradigms
Functional Programming, Unit Testing, Parallel Programming, Pair Programming, REST, Continuous Integration (CI), Continuous Deployment
Storage
PostgreSQL, Databases, MySQL
Other
IRC, Algorithms, X11, Networks, Operating Systems, Property-based Testing, TCP/IP, Leadership, Formal Methods, Abstract Algebra, Cryptography, Graph Theory, English, Complexity Theory, Mathematical Modeling, Neural Networks, Linear Algebra, Data Compression, Sorting Algorithms, Integration Testing, Prototyping, RHEL
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring