
Andrii Soldatenko
Python Developer
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
Availability
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
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.
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.
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.
Senior Python/Django Developer
Boutique Air (via Toptal)
- Designed and implemented a REST API.
- Implemented algorithms to calculate aircraft parameters.
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.
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.
CTO
Moonshot Capital, Ltd.
- Designed and implemented architecture from scratch.
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.
CTO
Persollo
- Handled all back-end/front-end and scientific (R&D) technological issues.
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.
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).
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.
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.
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.
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.
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.
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.
Test Automation Engineer
Viewdle
- Developed, maintained, and executed automated test suites using Python and C++.
Experience
Todo List Application
https://github.com/andriisoldatenko/todolistUsing Kubermatic Container Engine with Kubernetes
https://www.meetup.com/Kubernetes-Kyiv/events/242890029/?eventId=242890029High-performance Functional Tests Based on Selenium for Django Projects
Talk on High-performance Functional Test Based on Selenium
http://seleniumcamp.com/speakers/Dive into Full-text Search with Python
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/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
The Best Full-text Search Engine for Python (PyCon Ukraine)
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-djangoPython Serverless Microframework for AWS
https://github.com/awslabs/chalice- 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)
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
Open-source Contributions
http://github.com/andriisoldatenko/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
Master's (Red Diploma) Degree in Information Security
National Technical University of Ukraine “Kyiv Polytechnic Institute” - Kyiv
Bachelor's (Red Diploma) Degree in Information Security
Donetsk National Technical University of Ukraine - Donetsk, Ukraine
Certifications
Graph Search, Shortest Paths, and Data Structures
Coursera
Divide and Conquer, Sorting and Searching, and Randomized Algorithms
Coursera
Programming with Google Go
Coursera