Ivan Zderadicka, Developer in Prague, Czech Republic
Ivan is available for hire
Hire Ivan

Ivan Zderadicka

Verified Expert  in Engineering

Software Developer

Location
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.

Availability

Part-time

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

2000 - PRESENT
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.
Technologies: JavaScript, C#, Java, Rust, Python

Senior Manager

2010 - 2019
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).
Technologies: Python, Apex, Oracle Database

Manager

2003 - 2010
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.
Technologies: Unix, Java, Python

Manager of the eCommerce IT Department

2000 - 2003
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).
Technologies: Java, C#

IT & Development Manager | Solution Architect

1994 - 2000
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++).
Technologies: Communication, C, HIPAA Electronic Data Interchange (EDI), Security

Engineer

1992 - 1993
Trancom s.r.o.
  • Designed telecommunication devices.
Technologies: CAD, PCB

PDF Checker

This is a solution for automatically checking PDF docs. Users can upload a file and numerous custom checks are performed (like searching for unwanted words or missing words, checking date and number formats consistency, checking price calculations, and so on).

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/mybookshelf2
Mybookshelf2 is a platform for the management and sharing of eBooks. It consists of several parts: server (Python, Flask, SQLAlchemy, PostgreSQL), long-running tasks scheduler (Python, Asyncio, WebSockets; it's basically my separate project, Asexor) and SPA web client (HTML5, CSS3, Bootstrap 3, Aurelia framework).

Mybookshelf2 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/audioserve
Audioserve is an open-source solution for streaming audiobooks. The server was written in Rust using asynchronous IO like Tokio and Hyper libraries and provides a highly performant network interface.

Audioserve 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_detach
imap_detach is a universal tool for batch email attachment downloads. Compared to similar tools, it provides advanced attachment filtering using IMAP filters (enabling that only desired message parts are downloaded from the server) and concurrent downloading of multiple attachments.

It 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

http://zderadicka.eu/decoding-audio-captchas-in-python/
adecaptcha is a toolset for experimenting with automated audio captcha recognition. It's written in Python, NumPy, SciPy, and PyQt.

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
In my free time, I've contributed to open-source which helped keep my technical skills up to date and hopefully also provide some useful stuff back to the community. See my GitHub profile for details.

• https://github.com/izderadicka

IoT Microservices Platform

I helped migrate from monolithic IOT Python application into componentized architecture running in Kubernetes containers. The final architecture used IoT core services of Google Cloud, seamlessly connected to TensorFlow data processing and simple-yet-efficient measurements preprocessing and batching implemented in fully configurable Kubernetes services.

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.

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

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

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

1987 - 1992

Master's Degree in Computer Science

Czech Technical University - Prague, Czech Republic

NOVEMBER 2022 - NOVEMBER 2024

GCP Professional Cloud Developer

Google

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring