Ivan Zderadicka
Verified Expert in Engineering
Software Developer
Prague, Czech Republic
Toptal member since August 21, 2019
Ivan is an experienced IT professional with a unique combination of technical, consulting, and management skills. He's participated as an individual contributor (Python, Java, C#), consultant, architect, and manager on numerous projects of different sizes—from one-person shows to projects involving larger teams spanning globally. Ivan is also a keen open-source developer—contributing several smaller utilities and libraries.
Portfolio
Experience
Availability
Preferred Environment
Bash, Git, Eclipse, Visual Studio Code (VS Code), Linux
The most amazing...
...thing that I've recently have created is AudioServe: an audiobook-steaming server. The server side was written in Rust and has web and Android clients.
Work Experience
Open Source Developer
Open Source
- Contributed to open-source (in my free time) which helped keep my technical skills up to date and hopefully also provide some useful stuff back to the community.
- Developed AudioServe: a solution for audiobook-streaming; the server was built in Rust and the client in JavaScript and Kotlin (Android)). The server supports transcoding to modern Opus audio format, which saves significant bandwidth while maintaining great audio quality.
- Built a tool for automated email attachments downloads (Python, IMAP). Implemented advanced filtering to help choose the right attachments and download thousands of attachments concurrently.
- Constructed a Python library binding for PDF parsing (Cython); it was several times faster than other solutions (PDF Miner) available at the time.
- Built a tool for Xen VMs backup (Python, Xen, RPC); this tool ran reliably for several years in production with minimal inference.
- Developed solutions for eBook management and sharing (Python. Flask, Asyncio, Calibre, JavaScript, Aurelia framework); it includes unique features like online format conversions.
- Created a library for automated REST interface creation and consumption for web clients (Python, Django, JavaScript, Backbone.js).
- Built a simple local proxy for passing TCP connections through HTTPS proxy (Python, Rust); it was useful for passing IMAP, and an SSH connection via an HTTP proxy.
- Created a library for Asmuth-Bloom secret sharing in Rust.
- Built a tool for automated C# code analysis (code was bought by one of the leading companies in this area several years ago).
- Contributed to Crossbar WAMP router by implemented WAMP protocol over a raw socket in Python Asyncio.
Senior Manager
Oracle
- Designed and implemented a KPI-reporting app (Oracle Database and Apex), which was used for performance management of our EMEA team.
- Trained several other developers to create new reports in this app.
- Created an app for quality assurance (Oracle Database and Apex), which was used globally in our organization.
- Developed and designed a deficiency-tracking workflow app (Oracle Database and Apex), which was used in our EMEA organization for managing issues in document templates.
- Designed and implemented an app for automated quality checks of contract documents (Python, Flask, PDF parser). This application was deployed globally in our organization and helped to improve quality by 10%.
- Implemented a CI/CD environment (XenServer, GitLab, Docker) environment to improve and automate application development process and its updates (for the above project).
- Managed team of contract experts (25 people).
Manager
Sun Microsystens
- Implemented an app for workflow management (Python), which was successfully used by my team for years.
- Designed and implemented an app for support-fee calculations (Python, Django). My team's efficiency and accuracy made significant leaps.
- Built and led a team of presales experts for Sun HW configurations. We supported Easter Europe, Middle East, and Africa.
Manager of the eCommerce IT Department
Delloite & Touche
- Spearheaded a consulting project for PKI infrastructure (X509, digital signatures, CA) for a large Czech bank.
- Fulfilled a contract with one of the leaders in eCommerce at that time, Clarus.
- Engaged in a development partnership with Clarus and developed several modules for them (in C#). One of the modules was for a procurement workflow which assured them their biggest deal ever with the bank, Barclay's.
- Managed the technical team—including development & operations for CEProcurement (the daughter company of Deloitte).
- Successfully competed, with the technical team, with a similar service of a top local telco operator, where they invested billions—matching them with our technical skills and partnership with our vendor to provide similar service for a fraction of their costs.
- Spearheaded the implementation of small data center for our eCommerce service (Dell HW, MS Servers).
- Supervised the development of a call-center-agent solution for a major utility company (Java, J2EE).
IT & Development Manager | Solution Architect
EDITEL
- Helped to establish a successful startup in EDI (electronic data interchange).
- Built gradually a very skilled and competent technical team. (EDITEL was bought by Delloite thanks to its technical resources and portfolio).
- Led the development of EDISEC, a revolutionary solution for securing EDI messages (implementing.ISO 9735 parts 5-7,9).
- Actively participated in the ISO committee—defining those standards.
- Managed the development and implementation of EDIVAN, an EDI communication hub. (HP HW, custom C software).
- Led the implementation of an F-EDI solution for the Czech Central Bank for financial statics (X.400, Unix, custom C, and Shell).
- Supervised the implementation of EDIFACT's convertor and home banking client (Windows, C++).
- Led development of XMLEDI, a gateway between EDIFACT and XML formats (C++).
Engineer
Trancom s.r.o.
- Designed telecommunication devices.
Experience
PDF Checker
PDF Checker is written in Python, and the key component is a PDF parser, which converts PDF doc into text (with additional metadata about text font and position on the page). Then there is a flexible system of plugins, which implement individual checks and each plugin receives the parsed text and can apply its logic. All available plugins/checks are then executed for a given doc resulting in a user report.
This provides an easy-to-use web interface (HTML5 and jQuery on the client-side, Python and Flask on the server-side). This enables users to upload a document and examine found problems—problems are highlighted directly on the original PDF doc with appropriate comments.
It is also performant; it can make tens of checks in seconds on 100-page docs.
As part of this project, I built a CI/CD infrastructure (based on XenServer, GitLab, and Docker), which enabled us to implement and deploy new checks very quickly (in a couple of hours).
Mybookshelf2
https://github.com/izderadicka/mybookshelf2Mybookshelf2 provides easy eBook browsing (by authors, series, genres, and so on) and a full-text search.
Users can create and share their own lists (so-called bookshelves). Special advantages of Mybookshelf2 are advanced eBook file upload, where all of the information is extracted from file metadata, so an ebook can be uploaded with just a few clicks. You can also merge eBooks and authors together to maintain collection consistency.
Mybookshelf2 is unique among similar solutions because it enables the user to maintain several files of the same type for one eBook and also enables interactive and batch transformations between eBook file formats.
Audioserve
https://github.com/izderadicka/audioserveAudioserve can transcode audio files as part of the streaming process, thus significantly saving bandwidth while maintaining high audio quality. The Rust server is very efficient and only takes a minimum of system resources.
Audioserve provides a light web client using jQuery, Bootstrap 4, and Android client written in Kotlin. The Android client implements smart caching, enabling users to listen to audiobooks without interruption, even when the connection drops.
imap_detach
https://github.com/izderadicka/imap_detachIt implements simple-to-use logical filters expressions, but users can use them to create quite complex conditions for required attachments.
The tool was implemented in Python.
adecaptcha
It extracts audio signal features using MFCCs (mel-frequency cepstral coefficients) method and classifies them with the SVM (support vector machine) algorithm.
The package contains libraries for signal processing and classification and the GUI tool for the preparation of training data sets.
Open Source Contributions | GitHub
https://github.com/izderadicka• https://github.com/izderadicka
IoT Microservices Platform
The key benefits were improved processing time for each IoT measurement event with a speedup of about 3x and enhanced reliability and monitoring using Google Stackdriver.
Education
Master's Degree in Computer Science
Czech Technical University - Prague, Czech Republic
Certifications
GCP Professional Cloud Developer
Skills
Libraries/APIs
REST APIs, Node.js, jQuery, NumPy, SciPy, FFmpeg, Asyncio, SQLAlchemy
Tools
Git, Oracle Application Express (APEX), GitLab CI/CD, CAD, GitLab, GitHub, Docker Compose, NGINX
Languages
Python, Rust, JavaScript, SQL, XML, TypeScript, Bash, Apex, Java, C#, ES7, Kotlin, XML/XSLT, HTML5, CSS, C
Platforms
Docker, Linux, XenServer, Oracle Database, Unix, Windows, Android, Jupyter Notebook, Heroku, OpenShift, Blockchain, Eclipse, Kubernetes, Red Hat OpenShift, Google Cloud Platform (GCP), Visual Studio Code (VS Code)
Frameworks
Flask, Django, Aurelia, Express.js, Svelte, Angular
Paradigms
Object-oriented Programming (OOP), Functional Programming, DevOps, Unit Testing, Continuous Integration (CI), Continuous Development (CD), Test-driven Development (TDD)
Storage
PostgreSQL, Oracle RDBMS, SQLite, Google Cloud, PostGIS, MongoDB
Other
HTTP, Audio Streaming, WebSockets, Security, HIPAA Electronic Data Interchange (EDI), Communication, PCB, Machine Learning, Cryptography, TCP/IP, Parsers, RPC, HTML5 Audio, Cython, BitTorrent, Unicode, Cloud
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