Andrii Soldatenko, Developer in Vienna, Austria
Andrii is available for hire
Hire Andrii

Andrii Soldatenko

Verified Expert  in Engineering

Python Developer

Location
Vienna, Austria
Toptal Member Since
March 19, 2014

Andrii is a blogger, speaker, and expert back-end developer with Python/C and Go. He has extensive knowledge of Docker and Kubernetes. He also is interested in databases, and one can find his talks about full-text search and SQL optimization based on PostgreSQL at many Python conferences. Andrii has created a social network based on Elasticsearch for smart matching between similar user interests.

Portfolio

Sentry
Rust, Python 3, Algorithms, GitHub, APIs, REST APIs, Django, ClickHouse, Go
Astronomer
Go, Python 3, Node.js, TypeScript, GraphQL, Kubernetes, Helm, Docker...
Whip Networks, Inc.
Python, Data Science, ETL, Spark, Apache Kafka, Kubernetes, Amazon S3 (AWS S3)...

Experience

Availability

Part-time

Preferred Environment

Tmux, Kubernetes, Vim Text Editor, Git, Bash, Linux, Docker, Neovim

The most amazing...

...project I've done involved contribution to diverse open source projects using various technologies.

Work Experience

Senior Software Engineer

2022 - 2023
Sentry
  • Worked on different dynamic sampling features using Python and Rust. (https://docs.sentry.io/product/performance/performance-at-scale/).
  • Improved code coverage and code quality of the package. (https://github.com/getsentry/sentry/tree/master/src/sentry/dynamic_sampling).
  • Launched dynamic sampling globally for all 50 thousand organizations across the globe.
Technologies: Rust, Python 3, Algorithms, GitHub, APIs, REST APIs, Django, ClickHouse, Go

Senior Software Engineer

2019 - 2022
Astronomer
  • Wrote open-source server-side code modern orchestration platform powered by Apache Airflow™ using Go, Python, and Node.js. (https://github.com/astronomer/).
  • Designed and implemented different Go microservices.
  • Maintained all libraries up-to-date, checking security scanners, applying patches, and sometimes contributing back to upstreams.
  • Designed and implemented an Apache Airflow Kubernetes airflow operator.
Technologies: Go, Python 3, Node.js, TypeScript, GraphQL, Kubernetes, Helm, Docker, Open Source, Mocha, Jest, Prisma

Data Engineer

2018 - 2022
Whip Networks, Inc.
  • Designed, implemented, and supported the entire ETL system using Python and Apache Airflow.
  • Rewrote all PHP microservices in Go using AWS Lambda and AWS infrastructure.
  • Supported data scientists and developed a recommendation system. Rewrote its production gears.
Technologies: Python, Data Science, ETL, Spark, Apache Kafka, Kubernetes, Amazon S3 (AWS S3), Amazon Web Services (AWS), Apache Airflow, Machine Learning, Go

Senior Python/Django Developer

2018 - 2018
Boutique Air (via Toptal)
  • Designed and implemented a REST API.
  • Implemented algorithms to calculate aircraft parameters.
Technologies: Python, Algorithms, Docker, REST APIs, PostgreSQL, Django

Freelance Developer

2017 - 2018
Shoplookio (via Toptal)
  • Implemented similar outfits/products based on NLTK and Elasticsearch.
  • Improved performance of the website to work with 400k+ users.
  • Improved code quality and added automatic deployment.
  • Implemented a data pipeline to extract, process, and load data from third parties.
  • Added caching and SQL tuning for better performance.
Technologies: Python, PostgreSQL, Heroku, Elasticsearch, Django

Golang Developer

2017 - 2017
Loodse
  • Implemented OpenAPI (Swagger) documentation for Kubermatic public API.
  • Designed and implemented new features for Kubermatic (Kubernetes based container engine).
  • Contributed OpenAPI specifications.
  • Fixed bugs and upgraded Go and Kubernetes versions for Kubermatic.
  • Designed and implemented new architecture.
Technologies: OpenAPI, Swagger, Kubernetes, Go

CTO

2016 - 2017
Moonshot Capital, Ltd.
  • Designed and implemented architecture from scratch.

Freelance Senior Django Developer

2016 - 2017
ConsumerAffairs.com (via Toptal)
  • Optimized SQL queries and reduced page speed load (by 2x).
  • Implemented new features based on product requirements.
  • Supported code quality with PEP 8.
  • Created unit tests and supported current code coverage near 97% of Python code.
  • Contributed to the Optimizely Python client https://github.com/optimizely/optimizely-client-python.
Technologies: Python, GitHub, Vagrant, MySQL, Varnish, Docker, NGINX, Django

CTO

2016 - 2017
Persollo
  • Handled all back-end/front-end and scientific (R&D) technological issues.
Technologies: Python, Stripe API, Celery, Redis, PostgreSQL, AngularJS, JavaScript, RESTful Development, REST APIs, Django

Freelance Python Developer

2016 - 2016
Exrpt (via Toptal)
  • Designed and implemented a CMS with unique user flow.
  • Scraped articles from different resources.
  • Designed and implemented a database based on PostgreSQL and SQLAlchemy with difficult hierarchy queries and relationships.
  • Designed and implemented an admin interface using Flask-admin.
Technologies: Python, PostgreSQL, Docker, SQLAlchemy, Flask

Software Engineer

2015 - 2016
DataRobot
  • Dockerized all services of the DataRobot back-end.
  • Reduced payments for AWS using Slackbot to shut down unnecessary servers.
  • Contributed to github.com/prometheus.
  • Improved developers' experiences.
  • Implemented complicated Jenkins pipelines using Jenkins Job Builder (docs.openstack.org/infra/jenkins-job-builder).
Technologies: Amazon Web Services (AWS), Python, Prometheus, Go, Elasticsearch, Docker

Freelance Back-end Developer

2014 - 2016
Persice (via Toptal)
  • Developed a web application based on Python and Django.
  • Implemented data mining using social accounts and Celery.
  • Integrated social login using Facebook/Twitter.
  • Built a chat system based on Web Sockets, Socket.IO, Node.js, and Redis Pub/Sub.
  • Created full text search using PosgreSQL and Elasticsearch.
  • Implemented geolocation using PostGIS, GeoIP, and browser geolocation API.
  • Developed and implemented a REST API using Tastypie.
  • Set up and maintained an environment for production using VPS, Gunicorn, and Nginx.
  • Implement social graph using Neo4j and friendship.
Technologies: Python, Natural Language Toolkit (NLTK), PostgreSQL, Redis, NGINX, Vagrant, JavaScript, REST, Django, Elasticsearch

Freelance Lead Back-end Developer

2015 - 2015
SkyGrid (via Toptal)
  • Updated and implemented the current back-end.
  • Implemented performance improvements.
  • Migrated the RestAPI from XML to JSON.
  • Prepared social logins.
  • Handled data mining from social networks.
Technologies: Python, Facebook API, Twitter API, MySQL, SQL

Freelance Python Developer

2014 - 2015
HealthLabs (via Toptal)
  • Prototyped out a new digital health service in Python and Google Compute Engine/Google App Engine.
  • Set up sFTP on a VM on Google Compute Engine.
  • Set up authentication and account management.
Technologies: Google Cloud Datastore, Google Cloud Storage, Google App Engine

Lead QA Automation Engineer

2014 - 2015
Wargaming.net
  • Created unit and integration tests for an XMPP server based on Erlang and Python.
  • Designed and implemented an XMPP client based on SleekXMPP.
Technologies: Python, Tornado, WebSockets, XMPP, C++, Erlang

Python Developer

2014 - 2014
Digicode
  • Created new features and fixed bugs in the issue tracker.
  • Created RestAPI services.
  • Set up the MySQL database.
  • Created a Django admin for models.
Technologies: Python, GeoIP, Memcached, South, Virtualenv, PIP, MySQL, Django

Automation Test Lead

2012 - 2014
Luxoft
  • Designed, developed, and implemented a test framework based on DSL and PageObject concepts.
  • Developed and implemented automated tests based on Ruby, Selenium, and Cucumber.
  • Created a test framework for Canvas (HTML) using JavaScript and extending Selenium.
  • Developed a shell script for testing RESTful services and data migration checks.
  • Optimized test execution time and generated big data sets.
  • Handled code review using Crucible.
Technologies: Python, Bash, Rake, Selenium WebDriver, Cucumber, RSpec, JavaScript, PL/SQL, Oracle SQL, Ruby

Test Automation Engineer

2011 - 2012
Viewdle
  • Developed, maintained, and executed automated test suites using Python and C++.
Technologies: Python, Bash, SQL, C++

Todo List Application

https://github.com/andriisoldatenko/todolist
A simple todo list application that I created.

Using Kubermatic Container Engine with Kubernetes

https://www.meetup.com/Kubernetes-Kyiv/events/242890029/?eventId=242890029
Speech given at Kubernetes Kyiv meetup #2.

High-performance Functional Tests Based on Selenium for Django Projects

Speech given at PyCon Belarus 2015.

Talk on High-performance Functional Test Based on Selenium

http://seleniumcamp.com/speakers/
Given at Selenium Camp 2015.

Dive into Full-text Search with Python

Speech given at PyCon Russia 2015.

http://www.slideshare.net/ssuserb92f8d/pycon-russian-2015-dive-into-full-text-search-with-python

Talk on Quality Gates in Continuous Integration

http://seleniumcamp.com/talk/practical-continuous-quality-gates-for-development-process/
Talk given at Selenium Camp 2016.

There are a lot of books and publications about continuous integration. But in my experience, it’s difficult to find information about how to open quality gates between automated tests and to continuous integration practice to in your current project. After reading several articles and even a couple of books, you will understand how to work with it. But what next? I will share with you practical tips and tricks on how to lift the curtain to your automated tests before a continuous quality practice today. It is for this reason that I am pleased to share with you my acquired experience in my presentation.

Automated Functional Tests Based on Selenium for Django Projects

Speech given at PyCon Ukraine 2014.

The Best Full-text Search Engine for Python (PyCon Ukraine)

Speech given at PyCon Ukraine 2016.

Nowadays, we can see lots of benchmarks and performance tests of different web frameworks and Python tools. Regarding search engines, it’s difficult to find useful information, especially benchmarks or comparing between different search engines. It’s difficult to manage what search engine you should select--for instance, ElasticSearch, Postgres full-text search, or maybe Sphinx or Whoosh. You face a difficult choice, that’s why I am pleased to share with you my acquired experience and benchmarks and focus on how to compare full text search engines for Python

Simple Django Back-end to Send Email through SendGrid

https://github.com/elbuo8/sendgrid-django
Simple Django back-end to send email using SendGrid's Web API.

Python Serverless Microframework for AWS

https://github.com/awslabs/chalice
The Python serverless microframework for AWS allows you to quickly create and deploy applications that use Amazon API Gateway and AWS Lambda. It provides:

- A command line tool for creating, deploying, and managing your app.
- A familiar and easy-to-use API for declaring views in Python code.
- Automatic IAM policy generation.

The Best Full-text Search Engine for Python (EuroPython)

Speech given at EuroPython 2016.

Nowadays, we can see lots of benchmarks and performance tests of different web frameworks and Python tools. Regarding search engines, it’s difficult to find useful information, especially benchmarks or comparing between different search engines. It’s difficult to manage what search engine you should select--for instance, ElasticSearch, Postgres full text search, or maybe Sphinx or Whoosh. You face a difficult choice. That’s why I am pleased to share with you my acquired experience and benchmarks and focus on how to compare full text search engines for Python.

Moonshot Capital

Moonshot Capital helps mobile app developers and eCommerce traders round the world grow faster by accelerating their payouts from Apple, Google, Ad Networks, Amazon. I was the CTO for this project.

Open-source Contributions

http://github.com/andriisoldatenko/
Contributed to a couple open-source libraries in Python and Go.

Languages

Python, Go, Bash, SQL, Scala, Snowflake, Rust, Ruby, JavaScript, HTML, CSS, C++, Erlang, Python 3, TypeScript, GraphQL

Libraries/APIs

Stripe API, Facebook Open Graph API, Bottle.py, Django ORM, Tastypie, LinkedIn API, Twitter API, South, Selenium WebDriver, GeoIP, Facebook API, Natural Language Toolkit (NLTK), SQLAlchemy, OpenAPI, REST APIs, Stripe Connect, Node.js, Asyncio

Tools

Ansible, Amazon Elastic MapReduce (EMR), Spark SQL, Google Kubernetes Engine (GKE), Apache Airflow, Looker, RSpec, Cucumber, Rake, Virtualenv, Emacs, Git, Vagrant, NGINX, Celery, Varnish, GitHub, Vim Text Editor, Tmux, Jekyll, Helm, Mocha, Prisma

Platforms

Ethereum, Kubernetes, Docker, Blockchain, Ubuntu, Oracle, CentOS, Red Hat Linux, AWS Lambda, Google App Engine, Heroku, Amazon Web Services (AWS), Unix, Linux, Solaris, Apache Kafka

Storage

OrientDB, Neo4j, Elasticsearch, PostgreSQL, NoSQL, Redis, MySQL, PL/SQL, Google Cloud Storage, Google Cloud Datastore, Oracle PL/SQL, Memcached, Oracle SQL, Amazon S3 (AWS S3), ClickHouse

Other

Algorithms, Ethereum Smart Contracts, Full-stack, Smart Contracts, ICO, Prometheus, Aiohttp, Mathematics, Natural Language Processing (NLP), GPT, Generative Pre-trained Transformers (GPT), PIP, XMPP, WebSockets, Tornado, Concurrency, Graphs, Stripe Payments, Back-end Development, Data Structures, TextSearch, Neovim, Machine Learning, APIs, Open Source

Frameworks

Django, Django REST Framework, Flask, Spark, AngularJS, Swagger, Jest

Paradigms

ETL, RESTful Development, Asynchronous Programming, Continuous Integration (CI), Test-driven Development (TDD), Object-oriented Programming (OOP), Design Patterns, Object-oriented Design (OOD), Extreme Programming, Unit Testing, REST, Data Science

2010 - 2012

Master's (Red Diploma) Degree in Information Security

National Technical University of Ukraine “Kyiv Polytechnic Institute” - Kyiv

2006 - 2010

Bachelor's (Red Diploma) Degree in Information Security

Donetsk National Technical University of Ukraine - Donetsk, Ukraine

DECEMBER 2020 - PRESENT

Graph Search, Shortest Paths, and Data Structures

Coursera

NOVEMBER 2020 - PRESENT

Divide and Conquer, Sorting and Searching, and Randomized Algorithms

Coursera

NOVEMBER 2020 - PRESENT

Programming with Google Go

Coursera

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