Scroll To View More
Hire the top 3% of freelance developers
Andrii Soldatenko

Andrii Soldatenko

Kiev, Ukraine
Member since October 3, 2013
Andrii is a blogger and speaker as well as an expert back-end developer with Python/C and Golang. He has extensive knowledge of the Docker and Kubernetes. He also has an interest in databases; you can find his talks about full-text search and SQL optimization based in PostgreSQL at a number of Python conferences. I created a social network based in ElasticSearch for smart matching between similar user interests.
Andrii is now available for hire
Portfolio
Experience
  • Python, 7 years
  • SQL, 7 years
  • Bash, 7 years
  • Django, 5 years
  • Docker, 3 years
  • Elasticsearch, 3 years
  • Kubernetes, 2 years
  • Go, 2 years
Kiev, Ukraine
Availability
Full-time
Preferred Environment
Docker, Linux, Emacs, Bash, Git
The most amazing...
...thing I've built is a recommendation network based on NLP suggestions.
Employment
  • Python Developer
    2012 - PRESENT
    Freelance
    • Created a web app for lead generation based on Python and Django.
    • Set up an environment for production using VPS, Apache, and mod_python.
    • Implemented continuous integration with Jenkins and automation testing with Unittest and Selenium WebDriver.
    • Deployed using Fabric, Virtualenv, and South.
    • Created new features and fixed bugs using an issue tracker.
    Technologies: Python, Django, Unittest, PostgreSQL, JavaScript, HTML, CSS
  • Senior Python/Django Developer
    2018 - 2018
    Boutique Air (via Toptal)
    • Designed and implemented a REST API.
    • Implemented algorithms to calculate aircraft parameters.
    Technologies: Python, Django, PostgreSQL, REST API, Docker, Algorithms
  • 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, Django, Elasticsearch, Heroku, PostgreSQL
  • 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: Go, Kubernetes, Swagger, OpenAPI
  • CTO
    2016 - 2017
    Moonshot Capital, Ltd.
    • Designed and implemented architecture from scratch.
    Technologies: Eth
  • 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, Django, Nginx, Docker, Varnish, MySQL, Vagrant, GitHub
  • CTO
    2016 - 2017
    Persollo
    • Handled all back-end/front-end and scientific (R&D) technological issues.
    Technologies: Python, Django, RESTful, JavaScript, AngularJS, PostgreSQL, Redis, Celery, StripeAPI
  • 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, Flask, SQLAlchemy, Docker, PostgreSQL
  • 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: Docker, AWS, ElasticSearch, Python, Go, Prometheus
  • 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: NTLK, Elasticsearch, Python, Django, REST, JavaScript, Vagrant, Nginx, Redis, PostgreSQL
  • 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, SQL, MySQL, Twitter API, Facebook API
  • 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 App Engine, Google Cloud Storage, Google Cloud Datastore
  • 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, Erlang, C++, XMPP, Web Sockets, SleekXMPP, Tornado
  • 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, Django, MySQL, Pip, Virtualenv, South, Memcached, GeoIP
  • 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: Ruby, Oracle SQL, PL/SQL, JavaScript, RSpec, Cucumber, Selenium WebDriver, Rake, Bash, Python
  • Test Automation Engineer
    2011 - 2012
    Viewdle
    • Developed, maintained, and executed automated test suites using Python and C++.
    Technologies: Python, C++, SQL, Bash
Experience
  • Todo List Application (Development)
    https://github.com/andriisoldatenko/todolist

    A simple todo list application that I created.

  • Using Kubermatic Container Engine with Kubernetes (Other amazing things)
  • High-performance Functional Tests Based on Selenium for Django Projects (Development)

    Speech given at PyCon Belarus 2015.

  • Talk on High-performance Functional Test Based on Selenium (Other amazing things)
    http://seleniumcamp.com/speakers/

    Given at Selenium Camp 2015.

  • Dive into Full-text Search with Python (Other amazing things)
    http://pycon.ru/2015/program/content/soldatenko/

    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 (Other amazing things)
    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 (Other amazing things)
  • The Best Full-text Search Engine for Python (PyCon Ukraine) (Other amazing things)

    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 (Other amazing things)
    https://github.com/elbuo8/sendgrid-django

    Simple Django back-end to send email using SendGrid's Web API.

  • Python Serverless Microframework for AWS (Other amazing things)
    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) (Other amazing things)
    https://ep2016.europython.eu/conference/p/andrii-soldatenko

    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 (Development)
    https://goformoonshot.com/

    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 (Development)
    http://github.com/andriisoldatenko/

    Contributed to a couple open-source libraries in Python and Go.

  • Andrii is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Andrii shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.
Skills
  • Languages
    Bash, Python, SQL, Go, C, Regex, AWK, Cypher, C++
  • Libraries/APIs
    Facebook Open Graph API, Stripe API, Django ORM, South, Twitter API, LinkedIn API, Tastypie, Stripe Connect, Node.js, Asyncio
  • Tools
    Ansible, Vagrant, Jekyll, GitHub, Jenkins
  • Platforms
    Kubernetes, Docker, Ethereum, Blockchain, Oracle, Red Hat Linux, CentOS, Ubuntu, Solaris, Linux, Unix
  • Storage
    Elasticsearch, PostgreSQL, MySQL, Redis, Neo4j, Oracle SQL, NoSQL, Memcached, Oracle PL/SQL
  • Frameworks
    Django, Django REST Framework, Flask, Bottle
  • Other
    Smart Contracts, Natural Language Processing (NLP), ICO, Algorithms, Math, Aiohttp, Prometheus, TextSearch, Data Structures, Stripe Payments, Graphs, Back-end Development
  • Paradigms
    Design Patterns, Object-oriented Programming (OOP), Test-driven Development (TDD), Continuous Integration (CI), Asynchronous Programming, REST, Unit Testing, Extreme programming, Object-oriented Design (OOD)
Education
  • Master's (red diploma) degree in Information Security
    2010 - 2012
    National Technical University of Ukraine “Kyiv Polytechnic Institute” - Kyiv
  • Bachelor's (red diploma) degree in Information Security
    2006 - 2010
    Donetsk National Technical University of Ukraine - Donetsk, Ukraine
Hire the top 3% of freelance developers
I really like this profile
Share it with others