Scroll To View More
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
  • Go, 2 years
  • Kubernetes, 1 year
Kiev, Ukraine
Availability
Part-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
    Freelance
    2012 - PRESENT
    • 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
  • Golang Developer
    Loodse
    2017 - 2017
    • 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
    Moonshot Capital, Ltd.
    2016 - 2017
    • Designed and implemented architecture from scratch.
    Technologies: Eth
  • Freelance Senior Django Developer
    ConsumerAffairs.com (via Toptal)
    2016 - 2017
    • 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
    Persollo
    2016 - 2017
    • 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
    Exrpt (via Toptal)
    2016 - 2016
    • 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
    DataRobot
    2015 - 2016
    • 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
    Persice (via Toptal)
    2014 - 2016
    • 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
    SkyGrid (via Toptal)
    2015 - 2015
    • 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
    HealthLabs (via Toptal)
    2014 - 2015
    • 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
    Wargaming.net
    2014 - 2015
    • 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
    Digicode
    2014 - 2014
    • 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
    Luxoft
    2012 - 2014
    • 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
    Viewdle
    2011 - 2012
    • 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
    Python, SQL, Go, Bash, C, Cypher, AWK, Regex, C++
  • Libraries/APIs
    Stripe API, Facebook Open Graph API, LinkedIn API, Twitter API, South, Django ORM, Tastypie, Stripe Connect, Node.js, Asyncio
  • Tools
    Ansible, Vagrant, Jenkins, GitHub, Jekyll
  • Platforms
    Docker, Ethereum, Kubernetes, Ubuntu, Red Hat Linux, CentOS, Oracle, Unix, Linux, Solaris
  • Storage
    PostgreSQL, MySQL, Redis, Memcached, Neo4j, NoSQL, Oracle SQL, Oracle PL/SQL
  • Misc
    Elasticsearch, Math, Algorithms, ICO, Smart Contracts, Blockchain, Prometheus, Natural Language Processing (NLP), Aiohttp, Back-end Development, Data Structures, TextSearch, Graphs, Stripe Payments
  • Frameworks
    Flask, Django REST Framework, Django, Bottle
  • Paradigms
    Test-driven Development (TDD), Object-oriented Programming (OOP), Design Patterns, Object-oriented Design (OOD), Extreme programming, Unit Testing, REST, Continuous Integration (CI), Asynchronous Programming
Education
  • Master's (red diploma) degree in Information Security
    National Technical University of Ukraine “Kyiv Polytechnic Institute” - Kyiv
    2010 - 2012
  • Bachelor's (red diploma) degree in Information Security
    Donetsk National Technical University of Ukraine - Donetsk, Ukraine
    2006 - 2010
I really like this profile
Share it with others