Nikolay Markov, Developer in Moscow, Russia
Nikolay is available for hire
Hire Nikolay

Nikolay Markov

Verified Expert  in Engineering

Web App Development Developer

Location
Moscow, Russia
Toptal Member Since
August 4, 2014

Nikolay is a software engineer with a good knowledge of Python, algorithms and data structures. He has experience with scalable and highly loaded systems architecture - Web technologies, NoSQL, OpenStack - as well as experience leading groups of developers.

Portfolio

Mirantis
SQLAlchemy, AMQP, OpenStack, Python
Mail.Ru
Tcpdump, Wireshark, Gevent, Perl, Python
Notamedia
Django, Python

Experience

Availability

Part-time

Preferred Environment

GitHub, Tmux, Sublime Text, Vim Text Editor, Linux

The most amazing...

...thing I've worked on was an implementation of the MRIM protocol (Mail.Ru Agent) in pure Python, with asyncore from scratch, using just C header files

Work Experience

Software Engineer

2012 - PRESENT
Mirantis
  • Implemented REST API service for manipulating environment entities (clusters, nodes, networks) and preparing cloud system (OpenStack) deployment.
  • Implemented AMQP client in Python for sending and receiving data from deployment orchestrator.
  • Contributed to open source projects (including OpenStack), and interacted with community.
  • Wrote unit and integration tests for a code and also performed extensive code review of all Python-related parts of our product.
  • Worked on Chef/Puppet recipes for OpenStack deployment and Make build system for building an ISO.
Technologies: SQLAlchemy, AMQP, OpenStack, Python

Developer of Internal Services

2011 - 2012
Mail.Ru
  • Maintained a huge, highly-loaded script, written in poor Perl for a distributed SMS processing (implementation of SMPP protocol).
  • Developed an asynchronous implementation of SMPP protocol in Python, using gevent and asyncore.
  • Implemented the MRIM (Mail.Ru Instant Messaging) binary protocol from scratch in Python (using asyncore and struct).
  • Analyzed traffic using Wireshark/tcpdump and implemented simple dissector plugin for MRIM.
  • Interacted with partners responsible for SMS traffic through phone, and performed troubleshooting for cases of undelivered messages.
Technologies: Tcpdump, Wireshark, Gevent, Perl, Python

Web Developer

2011 - 2011
Notamedia
  • Developed multiple web sites with Django.
  • Worked on end-user documentation for content management system.
  • Maintained multiple web servers, which included deployment, upgrading, DB migrations and writing configs.
  • Performed code review and SQL queries optimization.
  • Wrote unit tests for projects.
Technologies: Django, Python

Official site for one of the biggest Russian political parties

I worked for the whole back-end part of the website of one of the biggest Russian political parties.

Fuel-Web (Nailgun)

https://launchpad.net/fuel
A tool for installing and managing OpenStack.

Languages

Python, Perl, JavaScript, Go, C, C++

Platforms

OpenStack, Linux, Windows

Frameworks

Django, Flask

Libraries/APIs

Pandas, NumPy, SQLAlchemy, Gevent, Scikit-learn, AMQP, jQuery

Paradigms

Agile Software Development, Asynchronous Programming, Concurrent Programming, Distributed Programming

Other

Web App Development, Big Data, Tornado, Machine Learning, Statistics, Data Analysis

Tools

Wireshark, Tcpdump, Sublime Text, Tmux, GitHub, Vim Text Editor, PDB, GDB

Storage

Elasticsearch, PostgreSQL, MongoDB, MySQL

2006 - 2011

Master's Degree in Information Technologies and Management

"D.I.Mendeleev" Moscow University of Chemical Technologies of Russia - Moscow

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