Mikhail Sakhnov, Developer in Espoo, Finland
Mikhail is available for hire
Hire Mikhail

Mikhail Sakhnov

Verified Expert  in Engineering

Back-end Developer

Location
Espoo, Finland
Toptal Member Since
July 10, 2018

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. Mikhail is a team player, but he is capable of independent work and has collaborated with teams of all sizes.

Portfolio

K0s Project
Go, Kubernetes, Cloud, Architecture, Webhooks, Google Cloud Platform (GCP)...
PropertyRadar
Solr, MySQL, RabbitMQ, Python, Go, Back-end, REST APIs, Back-end Architecture...
Appsumo
Vue, PostgreSQL, Django, Docker, Python, Amazon Web Services (AWS), Back-end...

Experience

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 300 TB of data and processed about 800 RPS per node.

Work Experience

Senior Software Engineer

2020 - PRESENT
K0s Project
  • Developed AirGap support for offline mode cluster Bootstrap to enable IoT and private network use cases.
  • Created addons and plugins system to let end-users customize the cluster by pre-defined workloads and features.
  • Designed and implemented automated backup tooling for cluster backup and restore.
  • Implemented out-of-the-box support for IPv6 networks using Calico.
  • Developed a PoC for running Kubernetes stack on MacOs without root permissions.
  • Contributed to a PoC for managed cloud Kubernetes hosting on behalf of the engineering team.
  • Built a PoC for Windows support for Kubernetes clusters to support running Windows workloads.
Technologies: Go, Kubernetes, Cloud, Architecture, Webhooks, Google Cloud Platform (GCP), Software Architecture, APIs, DevOps, CI/CD Pipelines

Senior Software Engineer

2019 - 2020
PropertyRadar
  • Helped with the performance analysis for the ETL data pipeline.
  • Estimated the possibility of migrating the data pipeline from Python to Go. Assessed risks and benefits.
  • Built a prototype for the new version of the ETL data pipeline using Go.
Technologies: Solr, MySQL, RabbitMQ, Python, Go, Back-end, REST APIs, Back-end Architecture, JSON, Webhooks, APIs

Senior Software Engineer

2018 - 2020
Appsumo
  • Implemented trending popularity recommendations for the products.
  • Improved performance and stability of the local development environment—reduced CPU usage twice at the local machine.
  • Reduced the amount of SQL queries for the product's 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, Amazon Web Services (AWS), Back-end, REST APIs, Back-end Architecture, OAuth 2, Django REST Framework, JSON, Webhooks, APIs, CI/CD Pipelines

Software Engineer

2018 - 2020
Unity Technologies
  • Built real-time bidding applications using Go, Kafka, GCP, and microservices.
  • Wrote and maintained Kubernetes-based deployment pipelines.
  • Wrote and maintained tooling for a mono repository with a bunch of microservices.
  • Integrated playable types of creatives to enable reaching wider auditory.
Technologies: Google Cloud, Helm, Kubernetes, Go, Terraform, Amazon Web Services (AWS), Back-end, REST APIs, Back-end Architecture, JSON, Webhooks, Google Cloud Platform (GCP), Software Architecture, APIs, CI/CD Pipelines

Senior Back-end Engineer

2018 - 2019
Callstats I\O
  • Created a new back end using Go and Google Bigtable for building slice-and-dice customer reports based on 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 monolithic legacy application into new separated microservices.
  • Refactored the existing service to allow it to perform aggregations and build reports in an asynchronous manner, improving the overall system request throughput.
  • Resolved issues with uneven load balancing of the GRPC connections inside the Kubernetes cluster.
Technologies: Google Bigtable, Apache Kafka, Microservices, Kubernetes, Java, Python, Go, Terraform, Amazon Web Services (AWS), Back-end, REST APIs, Back-end Architecture, OAuth 2, Django REST Framework, React, JSON, Google Cloud Platform (GCP), Software Architecture, APIs, CI/CD Pipelines

Senior Software Engineer

2016 - 2018
Lazada Techhub Moscow
  • Developed an image processing storage service using Go, Ceph, and OpenCV to reduce hot-path latency during product synchronization.
  • Implemented a new API in the product core service for managing products to allow easier data decoupling and integration by introducing clean API and enforcing data ownership.
  • Developed QA infrastructure services for mocking remote systems and generating fake data.
  • Migrated a considerable amount of code from the legacy platform.
  • Performed HTTP to HTTPS migration in cross-service communications.
  • Tech-managed image processing storage service as the product owner.
Technologies: RabbitMQ, Microservices, Swagger, Ceph, MySQL, Java, Python, Go, Terraform, Amazon Web Services (AWS), Back-end, REST APIs, Back-end Architecture, JSON, Software Architecture, APIs

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, Back-end, REST APIs, Back-end Architecture, Flask, OAuth 2, Django REST Framework, JSON, APIs

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, Amazon Web Services (AWS), Back-end, Back-end Architecture, Flask, JSON, APIs

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, Back-end, Back-end Architecture, JSON

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, Back-end, Back-end Architecture, JSON

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

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

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.

Languages

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

Frameworks

Django, Flask, gRPC, OAuth 2, Django REST Framework, Swagger, Parity Polkadot, Substrate

Libraries/APIs

REST APIs, Protobuf, Node.js, ZeroMQ, Vue, React, OpenCV

Paradigms

Back-end Architecture, DevOps, REST, Microservices, Microservices Architecture, Agile, Concurrent Programming

Platforms

Kubernetes, Apache Kafka, Linux, Docker, Amazon Web Services (AWS), Google Cloud Platform (GCP)

Storage

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

Other

Back-end Development, Back-end, Webhooks, Architecture, Profiling, Troubleshooting, API Design, Distributed Systems, Monitoring, Site Reliability, Debugging, Software Architecture, APIs, CI/CD Pipelines, Cloud

Tools

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

2010 - 2015

Engineer's Degree in Computer Science and Engineering

Moscow State University of Computer Science, Radio Engineering, and Electronics - Moscow

FEBRUARY 2023 - PRESENT

Polkadot Blockchain Academy

Polkadot

NOVEMBER 2016 - PRESENT

Data Structures | UC San Diego, Nat'l Research Univ. Higher School of Economics

Coursera

MAY 2016 - PRESENT

Algorithmic Toolbox | UC San Diego, Nat'l Research Univ. Higher School of Economics

Coursera

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring