Sergey Kolomenkin

C++ / Python Senior Developer
Loca­tion Tbilisi, Georgia
Reloca­tion I am ready to move
Email kolomenkin@gmail.com
Expe­rience 20 years in software development

Major Technical Strengths

Expert Cross-platform, multithreading, multiprocessing, async, networking, MySQL, Bash, C++, STL, CMake, Win32 system level and high-level programming
Very Strong Software design, Windows file system filter drivers, Docker, Linux administration, Python 3, Django, DRF, OpenVPN
Strong Kubernetes, Boost, WebRTC, x86 assembler

Experience

Gaijin Enter­tainment, Hungary | Senior Software Engineer | June 2022 - now

Re­sponsi­bilities Design and implement high-load infrastructure web service written in C++ using asynchronous programming, WebSockets, NATS messaging broker. Writing code, code review, interviewing candidates, build engineering (CI/CD), unit tests.
Skills used: C++ C++ 20, Boost.Asio, Boost.Beast, coroutines, STL, CMake, multithreading, networking, cross-platform
Skills used: other Docker, Bash, Linux administration, Jenkins CI/CD

N-able (ex-SolarWinds), USA | Principal Software Engineer | March 2018 - July 2021

Partici­pation Technical leadership in two internal startups (4-7 people). Created cross-platform web services using C++. Leaded the development of Windows kernel-mode driver and archieved impressive results in the use of C++ STL in kernel mode.

Designed an ensemble of web services. Designed and implemented backend REST services using Django, Python.
Re­sponsi­bilities System design, mentoring colleagues, writing code, code review, interviewing candidates, build engineering (CI/CD), unit tests.
Skills used: C++ C++ 17, STL, CMake, Windows kernel mode (file system filter driver), multithreading, networking, Boost
Skills used: Python Python 3, Django, DRF, JSON API, OpenAPI, type hints, pytest, flake8/mypy/​pylint, pip-tools, uwsgi
Skills used: other Docker, Bash, Linux administration, TeamCity DSL, SQLite, MySQL, AWS

Rakuten Viber, Israel | Senior Software Engineer | August 2015 - February 2018

Partici­pation Development of a cross-platform C++ engine for the Viber messenger (Windows, MacOS, Linux, Android, iOS). Improved automated builds. Introducted unit tests. I was involved in system administration and monitoring.
Re­sponsi­bilities Research, writing code, interviewing candidates, build engineering (CI), unit tests.
Skills used C++ 11, STL, CMake, WebRTC, multithreading, networking, Docker, Bash, Linux administration, Boost, unit tests, Jenkins

Optimal Software, Czech Republic | Senior Software Developer | January 2012 - July 2015

Partici­pation Design and development of a VPN solution with custom VPN client for Windows.
Re­sponsi­bilities A wide range responsibilities, from implementing a VPN client using C++ and C#, passing web services to Linux server administration and implementing custom Nginx modules.
Skills used C++, STL, Boost, multithreading, networking, WinAPI, Nginx, HTTP, OpenVPN, Linux administration, Inno setup

Web crawler startup, Belarus | Owner, Software Developer | January 2008 - January 2012

Partici­pation System design, development, unit tests, system administration and monitoring
Skills used C++, STL, HTTP, regular expressions, multithreading, WinAPI, Sqlite, MySQL, PHP, unit tests

Artezio, Belarus | Senior Software Developer | February 2007 - January 2008

Partici­pation Software development, refactoring legacy, writing unit tests
Skills used C++, COM, ATL, STL, WinAPI

Applica, USA | System Software Developer | April 2004 - August 2006

Partici­pation
  • Development of various low-level tricks with Windows: Gina replacement, API hooking, kernel debugging.
  • Tricks with tcp/ip stack on Windows: NDIS, TDI, LSP filtering.
  • Reverse engineering.
  • Manual decoding of high-level network protocols from an Ethernet packet flow.
Skills used C++, MFC, WinAPI, ASP, IDA, WinDbg, SoftIce, NSIS

Ispirer, Belarus | Software Developer | June 2003 - April 2004

Partici­pation It was a part-time job in my last year at university. I was engaged in development, improved SQL parsing, improved SQL syntax conversion between different database providers.
I have proposed and developed a special metalanguage over XSLT to simplify the transformation of syntax trees.
Skills used C++, MFC, WinAPI, ADO, COM, ATL, MS XML, Xslt, Yacc, Lex, NSIS

Portfolio

Educa­tion Master's degree, Computers, Systems and Networks, Belarusian State University of Informatics and Radio­electronics, 2004
Lan­guages English - fluent (B2, IELTS 6.5), Russian - native

Web Site Accounts

Linked­In linkedin.com​/in/kolomenkin
GitHub github.com​/kolomenkin
Stack­Over­flow stackoverflow.com​/users/739731/sergey

Coding Contests

Leet­Code leetcode.com​/kolomenkin
Google Code­Jam participation: 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2022

Examples of code

  1. Here you can find some of my completed C++ interview test tasks:
    https://github.com/work-examples

  2. Limbo is a lightweight single page application written in Python with the simple ability to upload, download, list, delete files without authentication. All files are automatically deleted 24 hours after upload.

  3. Task Manager Extension is a powerful open source utility that hijacks the standard Windows Task Manager and extends it with a ton of new features. The program is not working after Windows 7, alas!

    In 2007 I wrote an article on Codeproject.com about the Task Manager Extension.


Updated on: 01 of November 2023