
Bogdan Markov
Verified Expert in Engineering
Software Developer
Budva, Budva Municipality, Montenegro
Toptal member since June 6, 2022
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
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
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
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.
Java Software Engineer
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.
Software Developer In Test
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.
Experience
Reviews Management Application
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
Bachelor's Degree in Mathematics and Computer Science
Kuban State University - Krasnodar, Russia
Certifications
Golden Award for the Bug Wars: The Last Hope Challenge
Codility
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)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring