FlowCV Logo
Professional Experience

Senior python developer

Reef Technologies
2020 – present | Poland

Contract development for multiple clients from around the globe (USA, Australia, Europe)

Lead python developer

Alternative Data Group
2018 – 2020 | USA

Unstructured data scraping,

processing and delivering via API.

Python developer (freelance)

Upwork
2017 – 2018 | USA

Contract development for dozens of clients.

CTO

Green Ship
2010 – 2017 | Russia

Online shop development

and support.

Education

Master of Science | Information Technology

Lomonosov Moscow State University (MSU)
2009 – 2012 | Moscow, Russia
Awards
Profile

Being a senior developer entails more than just writing high-quality code; it involves immersing oneself in any project and ensuring its success.

My approach always prioritizes understanding the business requirements before proposing optimal solutions to my clients.

Skills
Python
13+ years of experience in commercial development. Proficient in working on projects utilizing (but not limited to): Django, DRF, Celery.
Docker, docker compose
I use Docker for every project and have expertise in creating customized images.
Postgres / MySQL
Indexes, transactions, EXPLAIN [ANALYZE] etc.
Remote work
Well-versed in fully remote work, self-organization, and reliability because of the fact that I’ve always worked remotely.
Past projects

Real estate mega-scraping

Objective: scrape one of the largest real estate website in US, save initial data & ongoing updates to the database, and provide access to the data via API.

Challenges:

  • 300,000,000 properties resulted in multi-Tb database - adding a new row or index took hours, thus each change was considered with great responsibility
  • The website was changing internal API all the time - this was caught early (thanks to pydantic), but those properties which weren't scraped due to parsing errors were then scheduled for re-scrape
  • Implemented using Celery - with auto-retries, backoffs and schedule fine-tuning
  • B2 (by Backblaze) SDK + CLI updates & support

    Backblaze is a publicly traded company, one of its products is B2 - AWS-compatible cloud storage. I was working on bug fixing and software improvement for its python SDK and command-line tool.

    Challenges:

  • Since b2 is a primary tool for interaction with the cloud for customers, every change has to be thoroughly tested. All of my changes were covered with unit and integration tests to ensure backwards compatibility and lack of bugs.
  • Medical device integration

    Full support for a startup: reading raw data from medical devices and delivering it via API. Modification of existing codebase.

    Challenges:

  • In order to optimize performance, I had to dive deep into device protocol (by reading specs) and figure out binary data layout
  • The device was sending a lot of data each second, so parsing and storing the data should be done rather quickly
  • Publications

    ⁠I love Python, and here's why it annoys me

    Python is great, but here we'll discuss what is not great in python

    ⁠Grug vs complexity. I linted hundreds of posts about Python, and here's what I found [RU]

    Unveiling common antipatterns in Python: identifying and addressing prevalent issues.

    How I broke Habr.com again [RU]

    Sharing the story of discovering an XSS vulnerability on Russia's most popular tech website.

    Okay, Django, I have a few questions for you [RU]

    A technical article delving into some of Django's bad design choices.

    I'm the only one out of 1400, or the coolest recruiting process I've ever been through [RU]

    A true account of being hired after rejecting 1.4k candidates.

    Public talks

    Clean code: antipatterns in python, and how to deal with them

    2024 | Ekaterinburg, Russia

    Going through most common antipatterns in top opensource libraries and figuring out best tools and practices to make code better

    Alternative Pythons: What's new and worth considering?

    Moscow Python Meetup
    2023 | Moscow, Russia

    Providing an overview of different Python implementations and potential replacements

    Python - Embracing Simplicity and Clarity

    "Gorod IT" conference
    2022 | Tomsk, Russia

    Discussing common mistakes in Python code and strategies to avoid them