Andrii Soldatenko, Developer in Vienna, Austria

Andrii Soldatenko

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.

Andrii is available for hire
Hire Andrii

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)...

Location

Vienna, Austria

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

2022 - 2023

Senior Software Engineer

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
2019 - 2022

Senior Software Engineer

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
2018 - 2022

Data Engineer

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
2018 - 2018

Senior Python/Django Developer

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

Freelance Developer

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
2017 - 2017

Golang Developer

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
2016 - 2017

CTO

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

Freelance Senior Django Developer

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
2016 - 2017

CTO

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

Freelance Python Developer

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
2015 - 2016

Software Engineer

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
2014 - 2016

Freelance Back-end Developer

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
2015 - 2015

Freelance Lead Back-end Developer

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
2014 - 2015

Freelance Python Developer

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
2014 - 2015

Lead QA Automation Engineer

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
2014 - 2014

Python Developer

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
2012 - 2014

Automation Test Lead

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
2011 - 2012

Test Automation Engineer

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

Experience

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.

Skills

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, 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, 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

Ethereum Smart Contracts, Full-stack, Smart Contracts, ICO, Algorithms, 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, AWS EMR, 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

Education

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

Certifications

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