Mikhail Sakhnov, Back-end Developer in Espoo, Finland
Mikhail Sakhnov

Back-end Developer in Espoo, Finland

Member since May 2, 2020
Mikhail is an experienced back-end developer with a proven history of quality work in the internet industry. His primary languages at the current moment are Python, Go, and Java. He is comfortable in a Unix environment and with troubleshooting. He's familiar with Kubernetes and Docker. He is a team player, but he is capable of independent work and has collaborated with teams of all sizes.
Mikhail is now available for hire

Portfolio

Experience

Location

Espoo, Finland

Availability

Part-time

Preferred Environment

Docker, Kubernetes, Google Cloud, Java, Python, Go

The most amazing...

...thing I've developed is an image store and process service at Lazada Group. It stores about 300TB of data and processed about 800 RPS per node.

Employment

  • Software Engineer

    2018 - PRESENT
    Unity Technologies
    • Built real-time bidding applications.
    • Wrote and maintained Kubernetes-based deployment pipelines.
    • Wrote and maintained native cloud applications.
    Technologies: Google Cloud, Helm, Kubernetes, Go
  • Senior Software Engineer

    2019 - 2020
    PropertyRadar (via Toptal)
    • Helped with the performance analysis for the ETL data pipeline.
    • Estimated the possibility of the migration data pipeline from Python to Go, assessing risks and benefits.
    • Built a prototype for the new version of the ETL data pipeline.
    Technologies: Solr, MySQL, RabbitMQ, Python, Go
  • Senior Software Engineer

    2018 - 2020
    Appsumo (via Toptal)
    • Implemented trending popularity recommendations for the products.
    • Improved performance and stability of the local development environment (reduced CPU usage x2 at the local machine).
    • Significantly reduced the amount of SQL queries for the product important handlers which led to significant improvement in the performance (more than 10x; 495 vs. 11).
    • Improved website performance and end-user latency by introducing events-based approaches to unload the execution flow.
    • Created a prototype of the in-site notifications system.
    Technologies: Vue, PostgreSQL, Django, Docker, Python
  • Senior Back-end Engineer

    2018 - 2019
    Callstats I\O
    • Created new back end using Go and Google Bigtable for building slice-and-dice customer reports based on the schema-free customer data.
    • Implemented end-to-end encryption for the end-user data collection pipeline using Java, Go, and Kafka.
    • Extracted data layer from the legacy monolithic application into new separated microservices.
    • Refactored the existing service to allow it to perform aggregations and build reports in the asynchronous manner which improved the overall system request throughput.
    • Resolved issues with non-even load balancing of the GRPC connections inside of the Kubernetes cluster.
    Technologies: Google Bigtable, Apache Kafka, Microservices, Kubernetes, Java, Python, Go
  • Senior Software Engineer

    2016 - 2018
    Lazada Techhub Moscow
    • Developed an image processing and storage service.
    • Implemented a new API in the product core service for managing products.
    • Developed QA infrastructure services for mocking remote systems and generating fake data.
    • Installed and evaluated Ceph distributed storage.
    • Migrated a huge amount of code from the legacy platform.
    • Migrated from plain http to the https backed connections schema.
    Technologies: RabbitMQ, Microservices, Swagger, Ceph, MySQL, Java, Python, Go
  • Software Engineer

    2013 - 2016
    Yandex, Ltd.
    • Worked on company shared libraries and components.
    • Helped develop an intranet blogging platform, implemented a new feed syndication algorithm, and implemented a new mail notifications system.
    • Dramatically reduced project tech debt: increased unit test coverage, settled better processes, and introduced QA automatization.
    • Implemented DevOps related stuff: deployment scripts, alarms, and monitoring.
    • Implemented a back-end API for the company's public blog.
    • Implemented data exporters for customer data.
    Technologies: MySQL, MongoDB, C++, Python
  • Senior Software Engineer

    2013 - 2013
    Goodvert, Ltd.
    • Implemented an auto-post system for company content managers.
    • Worked on a CPA adtech back end.
    • Managed projects.
    Technologies: RabbitMQ, MongoDB, Python, Node.js
  • Software Engineer

    2012 - 2013
    Selectel
    • Built a single-page application for an internal monitoring system.
    • Developed maintenance scripts and tools for a cloud system based on Xen.
    Technologies: ZeroMQ, JavaScript, PostgreSQL, MongoDB, Erlang, Python
  • Software Engineer

    2011 - 2012
    Skazka, Ltd.
    • Created a per-action ad network back end.
    • Created a back end for a referral partner system for game developers "Money-in-games."
    • Created a system for tracking player activities.
    • Created a company site and blog.
    • Created a couple common libraries for application developers.
    Technologies: RabbitMQ, PostgreSQL, Python
  • On-call Engineer

    2010 - 2011
    Immo, Ltd.
    • Maintained scripts for on-call engineers: log parsers, alert management scripts, etc.
    • Created new alerts for an alert management system.
    • Developed migrations for databases and storage tools.
    • Built scripts for processing media content.
    Technologies: Python, PostgreSQL, MySQL, PHP, Perl
  • Web Engineer

    2008 - 2010
    Cinet, Ltd.
    • Made up HTML layouts from Photoshop files.
    • Converted HTML layouts to templates for different CMS: WordPress and ModX.
    Technologies: HTML, JavaScript

Experience

  • Image Storage Service

    While working at Lazada group, I implemented a new component used by all other teams: an image storage and processing service. It stored about 50 TB of data for every cluster (we had six clusters on production) and each node processes about 800 RPS.

    The service was used for storing images and making different operations on them:
    - Scaling
    - Resizing
    - Converting color scheme
    - Striping ICC profiles and other meta-information to optimize the resulting image size

  • New API for Core Product Management Service

    While working at Lazada Group, I have implemented a new core API for managing eCommerce products.

    While it should be completely compatible with the pre-existing data set, it provided a much better and more coherent API which provided strong guarantees about data validations to the API consumers.

  • Migration from a JSON-RPC-based API to GRPC

    Migrated a service from JSON-RPC to GRPC, which provided better load-balancing and better network saturation properties.

  • Introduced a Better Engineering Culture

    To improve a project codebase, I forced the idea of aggressive usage of linters and code formatting tools. It reduced the time spent by developers in disputes about code reviewing and code styles, helped with finding bottlenecks while debugging (some of the functions had a very high score in cyclomatic analyses which were suspicious), and improved the engineering culture in the company.

Skills

  • Languages

    Python, Go, Java, C++, Erlang, JavaScript, Perl, PHP, HTML, Bash
  • Frameworks

    Django, Flask, gRPC, Swagger
  • Libraries/APIs

    REST APIs, Protobuf, Node.js, ZeroMQ, Vue
  • Other

    Back-end Development, Back-end, Architecture, Profiling, Troubleshooting, API Design, Distributed Systems, Monitoring, Site Reliability, Debugging
  • Tools

    Google Kubernetes Engine (GKE), GitLab CI/CD, Helm, RabbitMQ, Solr
  • Paradigms

    DevOps, REST, Microservices, Microservices Architecture, Agile, Concurrent Programming
  • Platforms

    Apache Kafka, Kubernetes, Linux, Docker
  • Storage

    PostgreSQL, MySQL, MongoDB, Redis, Google Cloud, Google Bigtable, Ceph

Education

  • Engineer's Degree in Computer Science and Engineering
    2010 - 2015
    Moscow State University of Computer Science, Radio Engineering, and Electronics - Moscow

Certifications

  • Data Structures | UC San Diego, Nat'l Research Univ. Higher School of Economics
    NOVEMBER 2016 - PRESENT
    Coursera
  • Algorithmic Toolbox | UC San Diego, Nat'l Research Univ. Higher School of Economics
    MAY 2016 - PRESENT
    Coursera

To view more profiles

Join Toptal
Share it with others