Ivan Zderadicka, Software Developer in Prague, Czech Republic
Ivan Zderadicka

Software Developer in Prague, Czech Republic

Member since March 2, 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.
Ivan is now available for hire

Portfolio

Experience

Location

Prague, Czech Republic

Availability

Part-time

Preferred Environment

Bash, Git, Eclipse, 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.

Employment

  • 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

Experience

  • Audioserve
    https://github.com/izderadicka/audioserve

    Audioserve is an open-source solution for streaming audiobooks. The server was written in Rust using asynchronous IO (Tokio and Hyper libraries) and provides an extremely 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 light web client (jQuery, Bootstrap 4) and Android client (written in Kotlin). The Android client implements smart caching which enables users to listen to audiobooks without interruption even when the connection drops.

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

  • 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 to migrate from monolithic IOT Python application into componentized architecture running in Kubernetes containers. The final architecture used IoT core services of Google Cloud, seamlessly connect to TensorFlow data processing and simple-yet-efficient measurements preprocessing and batching implemented in fully configurable Kubernetes services.

    The key delivered benefits were improved processing time for each IoT measurement event (speedup about 3x) and improved reliability and monitoring (using Google Stackdriver).

Skills

  • Languages

    Python, Rust, SQL, XML, Bash, Apex, JavaScript, Java, C#, ES7, Kotlin, XML/XSLT, HTML5, CSS, C
  • Frameworks

    Flask, Django, Aurelia, Express.js
  • Libraries/APIs

    REST APIs, Node.js, jQuery, NumPy, SciPy, FFmpeg, Asyncio, SQLAlchemy
  • Tools

    Git, Oracle Application Express (APEX), CAD, GitLab, GitHub, Docker Compose, Nginx, VS Code
  • Paradigms

    Object-oriented Programming (OOP), Functional Programming, Unit Testing, Continuous Integration (CI), Continuous Development (CD), DevOps, Test-driven Development (TDD)
  • Platforms

    Docker, Linux, XenServer, Oracle Database, Unix, Windows, Android, Jupyter Notebook, Heroku, OpenShift, Blockchain, Eclipse
  • Storage

    PostgreSQL, Oracle DBMS, SQLite, PostGIS, MongoDB
  • Other

    HTTP, Audio Streaming, WebSockets, HIPAA Electronic Data Interchange (EDI), Communication, PCB, Machine Learning, Cryptography, TCP/IP, Parsers, RPC, HTML5 Audio, Cython, BitTorrent, Unicode
  • Industry Expertise

    Security

Education

  • Master's degree in Computer Science
    1987 - 1992
    Czech Technical University - Prague, Czech Republic

To view more profiles

Join Toptal
Share it with others