Stepan Reminek

Backend Developer

stepan reminek profile photo

Hi, I'm Stepan, an 34-year-old enthusiastic backend developer dedicated to delivering high-quality code that adds value. With extensive experience in agile development, I thrive in collaborative team environments.

Currently in Toronto (ON), I'm eager to explore new experiences and contribute to impactful projects. Let's connect and discuss potential collaborations!

What I did

DrMax

Developer

2023

  • designing and developing microservices to gradually replace robust e-commerce solution - Go, REST, MySQL, Azure
  • setuping CI/CD pipelines in azure devops platform
  • preparing guidelines, best practises and support for other development teams
  • advocating and implementing automated contract tests as part of CI pipeline

Czech Television

Developer / Solution architect

2019-2023

  • designing and developing video on demand and live video streaming platform for the Czech national broadcaster in microservice architecture - PHP, Go, NodeJS/Typescript, REST, gRPC, MongoDB, Elasticsearch, RabbitMQ
  • challenging high peaks in traffic encountering limits of the bandwidth of the ISP solved by combination of thorough monitoring and automatic stream quality downgrading
  • exhaustive usage of gitlab platform for CI/CD pipelines and dynamic feature environments (review apps) for verification and validation
  • improving user experience of searching video catalog based on elasticsearch with usage of tools for natural language processing

Factcool

Developer

2018-2019

  • developing microservices to support and automatize e-commerce platform operations - PHP, Go, REST, gRPC, MySQL, RabbitMQ
  • providing solutions for product catalog, stocks and automatic supplier`s orders

Biano

Developer

2017-2019

  • developing microservices to provide enhanced product catalog - PHP, REST, MySQL, RabbitMQ, Elasticsearch
  • using AI models to categorize/search products by text and images

Mall Group

Developer

2015-2017

  • developing robust e-commerce platform - platform with ability to sell variety of goods e.g. toys, books, clothing, shoes and food (even fresh)
  • participating on design and transformation from monolithic e-commerce platform to smaller dedicated services - PHP, REST, MySQL, RabbitMQ, Elasticsearch

What I use

  • PHP
  • Go
  • NodeJS
  • Typescript
  • Symfony
  • Bash
  • MySQL
  • Postgres
  • Elasticsearch
  • MongoDB
  • Redis
  • RabbitMQ
  • GNU/Linux
  • Azure
  • Gitlab
  • Docker
  • Kubernetes
  • Git

How I work

Developer experience

I value the importance of clean and efficient source code in streamlining development and accelerating project delivery. With expertise in Azure and GitLab, I have successfully implemented automated pipelines for seamless code integration. These automated pipelines have significantly reduced the need for repetitive manual actions, allowing developers to allocate more time to the enjoyable aspects of our work.

My preference lies in writing automated tests, including unit, integration, and contract tests, as opposed to manual feature testing. By doing so, I ensure thorough validation of software functionality, minimizing the risk of errors and increasing overall reliability.

I actively stay updated on industry best practices, regularly exploring new tools and frameworks to optimize code efficiency and quality.

Solution Design

Throughout my experience, I have actively contributed to the design process of comprehensive solutions, including microservices and APIs. Each of these endeavors presents its own unique challenges. When designing a complete solution, it is crucial to grasp the current state of the business, its expectations, and future visions, and adapt the solution to align with the teams responsible for its development.

In the case of designing an application, I believe it is paramount to have a solid understanding of its domain. This understanding enables the definition of clear responsibilities and ownership of data within the service. Additionally, considerations such as the infrastructure and the deployment process play a significant role in the overall solution design. Factors like self-hosted web servers without containerization, self-hosted Kubernetes clusters, or utilizing DevOps platforms such as Azure, AWS, or GCP can greatly influence the architectural choices and overall solution approach.

I am highly aware that there are situations where multiple possible solutions exist for a given challenge, and it can be challenging to choose the best one when no option stands out as significantly superior or inferior based on the considered criteria. Recognizing these situations and making informed decisions is of utmost importance, and I have developed the skills to navigate such complexities. By maintaining awareness of these critical aspects, I ensure that the solutions I design are tailored to the specific requirements.

Microservices

I have actively contributed to the transformation of monolithic applications into microservices architecture, both as a developer and in the design process. I also have experience in building microservices systems from scratch.

I believe that a strong understanding of the domain is crucial for making informed design choices that can accommodate future changes. Planning for a smooth transition from monolithic to microservices architecture involves developing a go-live plan, backup strategies, and incremental replacements of monolithic functionalities. It's important to assess the suitability of each approach based on project requirements.

I believe that both monolithic applications and microservice architectures have their merits and drawbacks. It's essential to carefully consider the specific requirements and constraints of a project to determine the most suitable architectural approach.

Who I am

I was born and raised in Czechia. I like to travel and get to know local culture as well as local food. I like to cook. I play basketball, slowpitch and currently disc golf. I read a lot. My favourite fictional world is the Discworld.

Stepan Reminek — email@stepkaremka.cz — (416) - 871-2953 — www.stepkaremka.cz