Bogdan Markov, Developer in Budva, Budva Municipality, Montenegro
Bogdan is available for hire
Hire Bogdan

Bogdan Markov

Verified Expert  in Engineering

Software Developer

Budva, Budva Municipality, Montenegro

Toptal member since June 6, 2022

Bio

Bogdan has been working in software development for five years, building server-side projects with Java, Kotlin, and Kafka while introducing maintainable, scalable, and performance-efficient solutions. Bogdan's learning ability is very high, allowing him to quickly dive into new technologies at the top of his seasoned computer science knowledge. Passionate about TDD practice, Bogdan produces bug-free code clients can rely on for ages.

Portfolio

Azbuka Vkusa
Java, Spring, SAP Hybris, Oracle, Apache Kafka, OAuth 2, Git, JUnit, REST...
Yandex
Spring 5, JUnit, JOOQ, GraphQL, REST, SOAP, MySQL, Redis, Perl, ClickHouse...
Nexign
Python 3, Robot Framework, Java, Oracle, REST, RabbitMQ, TeamCity, Kotlin...

Experience

  • REST - 7 years
  • Python 3 - 5 years
  • Java - 5 years
  • SQL - 5 years
  • Spring - 3 years
  • GraphQL - 2 years
  • Apache Kafka - 2 years
  • Kotlin - 1 year

Availability

Part-time

Preferred Environment

IntelliJ IDEA, Git, Kotlin

The most amazing...

...project I've worked on is Yandex.Direct, a top contextual advertising platform with 114 million monthly visitors in the Russian market.

Work Experience

Java Software Engineer

2020 - 2022
Azbuka Vkusa
  • Developed a new type of delivery, Click&Collect, which allows users to buy goods online and pick them up at the store. After the launch, about 10% of the monthly online revenue was created by the Click&Collect.
  • Introduced a new stock storage schema: future stock levels based on the delivery schedule.
  • Created online store features for marketing campaigns "Buy with bonuses" and "A Zwilling Sorrento teapot as a gift." Integrated various services while building these features, such as Navision, Siebel, Kafka, and the internal SOAP ESB system.
  • Participated in a payment service integration, cloudpayments.ru, which allows saving cards, recurring payments, and so on. About 80 person-hours of daily manual work were saved after the launch.
  • Suggested and implemented Gitflow with feature toggles and cross-review processes within the back-end team. Time to market was decreased by about 20%.
  • Spearheaded the back-end team for six weeks while the team leader was on vacation. Completed four production builds during that time.
  • Improving algorithms of stock indexing from about 1.5 hours to about 20 minutes.
  • Optimized loading of several endpoints from 3-4 seconds to 1-1.5 seconds.
Technologies: Java, Spring, SAP Hybris, Oracle, Apache Kafka, OAuth 2, Git, JUnit, REST, GitLab, IntelliJ IDEA, SQL, SOAP, APIs, Back-end, Spring Boot, Spring 5, Spring Data, Spring Data JPA, Hibernate, Spring Security, Message Queues, REST APIs, JSON, Enterprise Service Bus (ESB), Microservices Architecture, Microservices, Migration, Back-end Development, Event-driven Architecture, Web Applications, Agile, Cron

Java Software Engineer

2019 - 2020
Yandex
  • Developed new advertising campaign types for individual masters from Yandex.Services and for Yandex.Video. The growth of the revenue after the launch was about 20%.
  • Improved an internal tool for logs extraction, adding more complex filters (ClickHouse is under the hood.).
  • Built about 100 production releases, including reviewing the affected components and checking autotests' stability.
  • Transferred Jenkins autotests jobs with Groovy scripts to an internal Yandex build system using Python scripts.
  • Transferred parts of the legacy Perl codebase to Java.
Technologies: Spring 5, JUnit, JOOQ, GraphQL, REST, SOAP, MySQL, Redis, Perl, ClickHouse, Groovy Scripting, Python 3, Git, IntelliJ IDEA, Java, Spring, Kotlin, SQL, APIs, Back-end, Spring Boot, Spring Data, Spring Data JPA, Hibernate, Spring Security, Message Queues, REST APIs, JSON, Enterprise Service Bus (ESB), Migration, Python, Back-end Development, Event-driven Architecture, Web Applications, Test-driven Development (TDD), Agile, Cron

Software Developer In Test

2017 - 2019
Nexign
  • Transferred TORS TeamCity configurations to VCS using Kotlin DSL.
  • Reduced the number of requests to the Jira API from the sorting hat by about ten times per run. A sorting hat is an internal tool for assigning code review and bugfix tasks to developers according to their busyness.
  • Participated in developing the affected tests tool, which uses Python's abstract syntax trees to find parts of the code that depend on pull request changes. The time to accept a PR was reduced by half after the implementation.
  • Contributed to more than 800 system tests and 1700 integration tests developed within our team by May 2019.
Technologies: Python 3, Robot Framework, Java, Oracle, REST, RabbitMQ, TeamCity, Kotlin, Jira REST API, Abstract Syntax Trees (AST), Git, Bitbucket, IntelliJ IDEA, SQL, APIs, Selenium, Back-end, Message Queues, REST APIs, JSON, JUnit, Python, Back-end Development, Web Applications, Test-driven Development (TDD), Agile, Cron

Experience

Reviews Management Application

This project allows small business companies like restaurants, hotels, and manicure services to handle and increase the number of reviews about their businesses on different online platforms, such as Google Maps, Tripadvisor, and Booking.
Together with a full-stack team member, I owned the back-end part of this project and built it with Python and FastAPI, SQLAlchemy, and PostgreSQL.
Apart from the usual CRUD APIs, I created an integration with eight different review platforms, an SMS-sending service (https://smsc.ru/), and payment service (YooMoney).

Education

2014 - 2018

Bachelor's Degree in Mathematics and Computer Science

Kuban State University - Krasnodar, Russia

Certifications

MAY 2022 - MAY 2025

Golden Award for the Bug Wars: The Last Hope Challenge

Codility

OCTOBER 2016 - PRESENT

Robotics | Autonomous Mobile Robots

RheinMain University of Applied Science and Kuban State University

Skills

Libraries/APIs

REST APIs, JOOQ, Jira REST API, SQLAlchemy

Tools

IntelliJ IDEA, Git, RabbitMQ, SAP Hybris, TeamCity, GitLab, Bitbucket, Cron

Languages

Python 3, Java, Python, GraphQL, Kotlin, SQL, C++11, Prolog, Perl

Frameworks

JUnit, Spring, OAuth 2, Robot Framework, Spring Boot, Spring 5, Hibernate, Spring Security, Selenium

Paradigms

REST, Event-driven Architecture, Compiler Design, Mobile Development, Microservices Architecture, Microservices, Test-driven Development (TDD), Agile

Storage

JSON, Databases, PostgreSQL, Spring Data, Spring Data JPA, MySQL, Redis, ClickHouse

Platforms

Oracle, Windows, Linux, MacOS, Apache Kafka

Other

APIs, Back-end, Back-end Development, Algorithms, Graph Algorithms, SOAP, Message Queues, Migration, Web Applications, UML Diagrams, Abstract Syntax Trees (AST), Neural Networks, Genetic Algorithms, Formal Verification, Mathematical Analysis, Differential Equations, Linear Algebra, Probability Theory, Analytical Geometry, Discrete Mathematics, Data Structures, Time Complexity Analysis, Space Complexity Analysis, Numerical Methods, Languages, Concurrent Computing, Cryptography, Networks, Operating Systems, Information Security, Big Data, Groovy Scripting, Robotics, FastAPI, HTML Parsing, Enterprise Service Bus (ESB)

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