Marek Kadek, Developer in Vienna, Austria
Marek is available for hire
Hire Marek

Marek Kadek

Verified Expert  in Engineering

ZIO Developer

Location
Vienna, Austria
Toptal Member Since
February 28, 2015

Marek is a talented developer with a focus on back-end and solid desktop development experience. He emphasizes clean code and solid architecture. Marek is experienced working with remote Scrum teams and understands the importance of good communication. He loves both functional programming and good object-oriented design and enjoys creating reactive applications.

Portfolio

Upstart Commerce
Scala, Akka, Elasticsearch, ZIO, OpenTelemetry
Chili Piper
Scala, Akka, MongoDB, Redis, ZIO
Cisco
PostgreSQL, Cassandra, Helm, Kubernetes, Akka HTTP, Scala

Experience

Availability

Part-time

Preferred Environment

Git, IntelliJ IDEA, Visual Studio Code (VS Code)

The most amazing...

...thing I've coded is a highly scalable and extensible messaging platform based on Ejabberd, utilized through many apps.

Work Experience

Tech/Team Lead

2021 - PRESENT
Upstart Commerce
  • Led the development of an advanced, configurable, and business-focused search engine to replace the expensive legacy engine while maintaining and extending all existing functionality.
  • Spearheaded the development of a complete overhaul of the old search platform in favor of a new one across 20+ microservices, leading to 5-10x throughput and halving the average latency.
  • Designed and developed the architecture for business-relevant metric collection and its exposure via dashboards.
  • Mentored new Scala engineers and performed code reviews and introductions to functional programming.
Technologies: Scala, Akka, Elasticsearch, ZIO, OpenTelemetry

Senior Software Engineer

2019 - 2021
Chili Piper
  • Created and exposed internal functionality as an API service for our clients and helped them with automated integration.
  • Performed the integration of various services such as Stripe and Intercom.
  • Redesigned the back-end platform to support multiple licenses and new products. Implemented the rollout of Freemium with custom onboarding flows.
  • Led back-end development of the company's new product: Chilipiper Inbox.
  • Helped with infrastructure and canary deployments, monitoring, and post mortem investigations.
Technologies: Scala, Akka, MongoDB, Redis, ZIO

Scala Software Engineer

2017 - 2018
Cisco
  • Worked on a microservices platform built as a Kubernetes operator accompanied by Cisco proprietary language and tooling.
  • Implemented a compiler from a proprietary language to the target language.
  • Added a Cassandra-backed storage layer for underlying services.
  • Collaborated on the infrastructure, deployments, and monitoring of our cluster.
  • Reviewed code and introduced new team members to Scala.
Technologies: PostgreSQL, Cassandra, Helm, Kubernetes, Akka HTTP, Scala

Remote Freelance Software Engineer

2017 - 2017
Toptal Clients
  • Created new services and helped migrate existing ones.
  • Migrated the old Cassandra event store to the latest schema, and wrote an app to find and replay missed events.
  • Optimized a PostgreSQL database for slow queries, index issues, etc.
  • Investigated integration with Chatfuel.
  • Integrated RiveScript with Twilio and Facebook.
  • Optimized the messaging platform and its reliability.
  • Migrated services between Play's major versions.
  • Implemented a billing service and accompanying integrations.
Technologies: Amazon Web Services (AWS), Elasticsearch, Heroku, Cassandra, Redis, PostgreSQL, AMQP, SBT, Play, Akka, Java, Scala

Architect, Developer

2015 - 2017
Spring
  • Created a foundation library for working with OrientDB in a very composable way (merging sessions, optimizing round trips to database, etc.).
  • Implemented a library to enable easily composable and testable modeling of processes in Spark.
  • Implemented the OrientDB live streaming library, enabling developers to make asynchronous live queries that adhere to reactive streams specification. The project was open sourced.
  • Completed a detailed evaluation of messaging systems, including Pusher, PubNub, and Ejabberd.
  • Impemented various plugins for Ejabberd in Erlang/Elixir.
  • Implemented various REST APIs as endpoints for Ejabberd's plugins.
  • Implemented a continuous delivery/continuous integration/build pipeline via SBT.
  • Implemented custom SBT plugins for the team.
  • Architected back-end and front-end for various projects in Scala and Scala.js.
  • Contributed to various open source technologies we were using across all layers, from front-end libraries to the database layer.
Technologies: Elixir, Erlang, Ejabberd, Spark, OrientDB, Reactive Streams, Akka, Play, Finch, Finagle, SBT, Scala.js, Scala

Software Engineer

2013 - 2015
ERNI Consulting AG
  • Helped develop a client-server application for control, monitoring, and automation of chemical analysis (titration, pH, measurement, voltametrics, etc.) by using analytical instruments.
  • Created and implemented the concept of licensing a large, feature-rich application using Wibu Systems.
  • Helped with the introduction of Rx into an application layer and the transformation of several software parts to be more event-driven and reactive.
  • Refined and refactored several core parts of a large codebase to minimize existing technical debt.
  • Designed and developed various separate components and technical documentations.
  • Assessed and tested Xamarin Cloud for a mobile team.
  • Introduced patterns for mobile developers to improve testability.
  • Developed an internal ASP application to allow clients to easily translate resources for Android and iOS applications.
  • Helped to estimate a few potential projects.
  • Developed several proofs of concept to demonstrate potential functionality and design to possible future clients.
Technologies: Xamarin, Hudson, NuGet, NUnit, Git, NHibernate, Microsoft SQL Server, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Rx, .NET, C#

Android Developer

2013 - 2013
Logamic s.r.o.
  • Developed on both the back-end and front-end, creating a reusable scratch card-like lottery system for a large job fair.
  • Created an application for specific types of Android phones to replace the home screen, designed for old or visually impaired people.
Technologies: Git, Java, Android

Programmer Analyst

2011 - 2013
Adhertec s.r.o.
  • Created a fully autonomous system reminding and notifying patients to take their required medicines via automated SMS or prerecorded VoIP calls.
  • Created an intranet for a large corporation to automate some administrative tasks such as managing, scanning, and storing invoices.
  • Developed an algorithm enabling oncology patients to search among doctor-verified publications.
  • Implemented a visualization of various medical facilities on maps using Google Maps API to help oncology patients locate the facilities.
  • Created a layer for the company's framework to enable clients to easily compose and hot swap components on a live website.
  • Created a reusable system building and maintaining questionnaires for the patients of selected doctors.
  • Developed an automatic processing system for questionnaire data to visualize the results in the form of various graphs.
  • Developed and maintained internal systems making the discussions between doctors and their patients easier.
  • Created an internal application improving the process of text translation between clients and a company.
  • Consulted various clients for requirements.
  • Assessed and estimated projects. Identified critical sections of upcoming projects.
  • Maintained a legacy codebase to handle the complicated business logic of one specific client.
Technologies: Web Services, Subversion (SVN), MySQL, JavaScript, PHP 5, Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), C#

Web Developer

2010 - 2011
ELBIA s.r.o.
  • Created back-ends for various websites and services.
  • Maintained a company's custom framework and CRUD generator, making the initial phase of new projects easier by removing the need to write boilerplate code.
  • Improved and fixed several problems related to data processing on one of Slovakia's largest sites for the visualization of allergen concentration.
  • Developed a REST service for a web hosting company with a rich set of functionalities, providing an API for all possible user actions.
  • Created a reusable framework to pair up invoices with bank statements, supporting various payment methods.
Technologies: Web Services Description Language (WSDL), SOAP, Web Services, Subversion (SVN), MySQL, PHP 5, JavaScript

Cassabin - Purely Functional, Async Non-blocking C* Driver

Purely functional, asynchronous non blocking Cassandra driver that speaks binary protocol (CQL) to Cassandra.

Scala Crawler

https://github.com/KadekM/scrawler
Web crawling and scraping using fs2 streams. Support sequential/parallel crawling and various browsers. Designed in a tagless final.

Scalac Plugin - Compile-checked TODOs

https://github.com/KadekM/scala-forced-todo
Scala compiler plugin to check expiration of TODO annotations at compile time.

Scalatags Observable VDOM

https://github.com/KadekM/scalatags-vdom-observable
Support for Rx Observables in Virtual DOM from Scalatags.

Open Source Contributor

https://github.com/KadekM
A few of my open source contributions (Akka.NET, Scala Rx, etc.) and personal projects (Scala Crawler, OrientDB Reactive Streams, etc.).

OrientDB Scala Streams

https://github.com/KadekM/orientdb-scala-stream
OrientDB Scala reactive-streams (Akka streams) library for non-blocking and live queries.

Visit to Valve Corporation in Seattle

In the summer of 2013, I was invited to Valve HQ in Seattle to help them improve their new upcoming version of Counter Strike.

Server Side Anti-cheat Plugin

A plugin for Counter Strike servers that detects players with invalid DirectX settings that give them unfair advantages. The plugin was used worldwide at tournaments for several months.

Starcraft AI Robot

I developed a fully automated AI robot to participate in a tournament against other robots. The robot uses various heuristics (such as observing the enemy, assessing the strength of the enemy army, and determining enemy strategy) and advanced mechanisms to determine current best action.

Visual Navigation for Acrobat with Android Using Camera

The goal of this project was to set up and code an Arduino robot that would navigate through a maze by recognizing different colors and shapes using an external camera. The camera is provided by an Android phone that is physically attached to the robot. The Android and robot communicate via Bluetooth. The robot uses a neural network library (Neuroph) to train and recognize shapes and colors.

SAT Solver

An application to solve a boolean satisfiability problem. It is written in C++ and optimized for performance.

3D Terrain Editor

An application for terrain generation with nice shaders and a wide range of features.

Remote PC Control

An application that allows users to control their PC remotely by Android smartphone.

Languages

Java, Java 8, Scala, C#, GraphQL, Erlang, SQL, F#, JavaScript, PHP 5, Web Services Description Language (WSDL), Elixir, Haskell

Libraries/APIs

LINQ, Slick, Akka Streams, Scalaz, Scala.js, AMQP

Paradigms

Object-oriented Design (OOD), Functional Programming, Continuous Integration (CI), Distributed Programming, Agile Software Development, Reactive Programming, Concurrent Programming, Test-driven Development (TDD), Design Patterns, REST

Other

ZIO, Ejabberd, XMPP, Reactive Streams, Web Services, SOAP, Windows Communication Foundation (WCF), Finch, Akka HTTP, Shapeless, Machine Learning, OpenTelemetry

Frameworks

Apache Spark, Play Framework, .NET, Rx, Akka, Windows Presentation Foundation (WPF), NHibernate, NUnit, Finagle, Play, Spark

Tools

GitLab, Travis CI, GitHub, Bamboo, SBT, Vim Text Editor, Subversion (SVN), Git, NuGet, Hudson, IntelliJ IDEA, Visual Studio, Helm, Kafka Streams

Platforms

Docker, Windows, Linux, Apache Kafka, Android, Xamarin, Heroku, Amazon Web Services (AWS), CoreOS, Kubernetes, Visual Studio Code (VS Code)

Storage

PostgreSQL, OrientDB, Cassandra, Elasticsearch, MySQL, Microsoft SQL Server, Redis, MongoDB

2010 - 2013

Bachelor's Degree in Applied Informatics

Comenius University - Bratislava, Slovakia

SEPTEMBER 2014 - PRESENT

Certified Professional for Software Architecture (F-level)

iSAQB

JANUARY 2014 - PRESENT

Programming in C# Specialist

Microsoft

JANUARY 2014 - PRESENT

Microsoft Certified Professional

Microsoft

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