Alex GoncharovSenior backend developer
resume profile picture
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.

Fullstack developer

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
Skills
Python

13+ years of experience in commercial development. Proficient in working on projects utilizing (but not limited to): Django, DRF, Celery, FastApi.

HTML, CSS, JS + frameworks

Required for everyday work, even though I primarily focus on backend development

Databases: Postgres / MySQL

Indexes, transactions, EXPLAIN [ANALYZE] etc.

Docker, docker compose

I use Docker for every project and have expertise in creating customized images.

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 website scraping

Objective:

Scrape one of the largest real estate websites in the US, save initial data and ongoing updates to a database, and provide access to the data via an API.

Challenges:

  • 300,000,000 properties resulted in a multi-terabyte database. To speed things up, I carefully selected indexes, denormalized the database schema, and used Elasticsearch as a search helper.
  • The website frequently changed its internal API. I caught this early thanks to data schema validation and had a dead letter queue in place to avoid losing any important tasks.
  • I implemented a scraping pipeline using a fine-tuned Celery setup, with auto-retries, backoffs, and smart scheduling.
  • B2 (by Backblaze) SDK + CLI updates & support

    Backblaze is a publicly traded company; one of its products is B2, an AWS-compatible cloud storage service. I worked on bug fixes and software improvements for its Python SDK and command-line tool.

    Challenges:

  • Since B2 is the primary tool for customer interaction with the cloud, this was a "write tests for everything" project.
  • I used an extreme backward compatibility technique (“ApiVer”) to allow customers to update and receive new features without breaking existing installations.
  • Medical device integration

    Objective:

    Full support for a startup: Reading data from medical devices and delivering it via an API, while continuously adding features required by the business.

    Challenges:

  • To optimize performance, I had to dive deep into the medical device protocol and reverse-engineer the binary data layout
  • The device was sending large volumes of data every second, so I implemented high-performance data ingestion code and offloaded rarely accessed data to cloud storage, with the ability to reload it on demand
  • 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