<!-- =================================================================== --> <!-- === YOU ARE WELCOME TO WATCH THE FULL VERSION OF MY CV HERE! === --> <!-- === It is written using Markdown and rendered using JS. === --> <!-- =================================================================== --> # Sergey Kolomenkin | C++&nbsp;/&nbsp;Python Senior&nbsp;Developer ## Basic Information | | -|- Loca&shy;tion | Belarus, Minsk Contact info | <span id="my_mail"></span>; Skype: <a href="skype:kolomenkin">kolomenkin</a> Educa&shy;tion | Master degree, Belarussian State University of Informatics and Radio&shy;electronics, 2004 Lan&shy;guages | English - fluent, Russian - native. ## About myself <p class="about_me"> **15+ years of experience in C++ development. 2+ years in Python development.** </p> <p class="about_me"> I would like to find a job at one of the areas: **R&amp;D, high-performance systems, multithreading, interprocess communication, asynchronous programming, low level speed optimization, crossplatform compilation**, etc. </p> <p class="about_me"> At my new job I'm looking for opportunities to improve **software design, Python, CI** skills. </p> ## Major strengths | | -|- Expert | **Crossplatform C++, STL, multithreading, multiprocess, networking** (all level protocols, especially HTTP), **CMake**, all kinds of WinAPI, MySQL, Regular expressions, Bash, Git<br /> <br /> Win32 system programming: Hooks, API Hooking, Gina, multithreaded and multiprocess applications Very Strong | Software design, Python 3, Django, Cython, Windows file system filter drivers, Docker, Linux administration, OpenVPN, pki Strong | Boost, WebRTC, x86 assembler, Nginx (can implement custom modules) <div style="display: none;"> ## Recommendations *"We have been working with Sergey many years. He is exceptional C++ developer and we will definitely work with him again if we need to do more C++ based projects."* **Janusz Jezowicz, CEO at Optimal Software s.r.o** ([Linkedin profile](https://www.linkedin.com/in/jezowicz), <span id="janusz_mail"></span>), 2015 <br /> *"I like Sergey's enthusiasm for making product better and better, every time we were discussing one thing, I remember Sergey came with an idea how to move it forward :) which is awesome ability!"* **Lukáš Vajda, Senior Developer at Optimal Software s.r.o** ([Linkedin profile](https://www.linkedin.com/pub/luk%C3%A1%C5%A1-vajda/1b/865/232), <span id="lukas_mail"></span>), 2015 <br /> *"We were working close to each other for a couple of years and it was really good working with him. I would like to work with Sergey again."* **Ovidiu Craciun, Senior Developer at Optimal Software s.r.o** (<span id="ovi_mail"></span>), 2015 <br /> *"Sergey is my top resource for web crawlers. After the google tags approach fell apart, we all need real engineers, writing real code to do crawlers."* **Grover Righter** ([Linkedin profile](https://www.linkedin.com/in/groverrighter)), 2014 </div> <!-- =============================================================== --> <div style="page-break-after: always;"></div> ## Experience ### Solarwinds Inc., [solarwinds.com](https://www.solarwinds.com/) (NYSE:SWI) | | -|- Period | March 2018 - Present Job-Position | Principal Software Engineer Product | <ul><li>Solarwinds Backup Continuous Restore ([Continuity DRaaS](https://www.solarwindsmsp.com/products/backup/recovery-testing))<li>Solarwinds Backup ([MSP Backup](https://www.solarwinds.com/backup)), (ex-[LogicNow](https://www.crn.com.au/news/solarwinds-acquires-logicnow-creates-new-company-420363), ex-[IASO](https://en.wikipedia.org/wiki/IASO_Backup))<li>Cloud to Cloud Backup ([C2C](https://www.solarwindsmsp.com/products/backup/office-365))</ul> Partici&shy;pation | Technical leadership in two internal startups (4-7 people). Designing ensemble of web-services. Reached impressive results in using C++ STL in Windows kernel mode driver. Crossplatform C++ project creation. Designing and implementing of backend REST service using Django, Python. Interviewing candidates. Skills used: C++ | C++ 17, STL, CMake, Windows kernel mode (file system filter driver), multithreading, networking, Boost, unit tests Skills used: Python | Python 3.6/3.7/3.8, Django 2.2, Django REST Framework (DRF), JSON API, aiohttp, Swagger (OpenAPI), type hints, pytest, flake8/mypy/pylint/isort, pip-tools, uwsgi, Cython Skills used: other | Docker (dockerfile, compose, kubernetes, kustomize), Bash, Linux administration, TeamCity, SQLite, MySQL, Amazon services (EKS, S3, EC2, Route53, KMS, RDS, etc.) ### [Rakuten](https://rakuten.com/) Viber, [viber.com](https://viber.com/) (TYO:4755) | | -|- Period | August 2015 - February 2018 Job-Position | Senior Software Engineer, R&amp;D department Product | Rakuten Viber messenger, [[more info]](https://viber.com/) Partici&shy;pation | Crossplatform C++ engine development (Windows, MacOS, Linux, Android, iOS). Build engineer (Jenkins). Improving automated builds. Introduction of unit tests (gtest, gmock). Interviewing candidates. Skills used | C++ 11, STL, CMake, WebRTC, multithreading, networking, Docker, Bash, Linux administration, Boost, unit tests, Jenkins <div style="page-break-after: always;"></div> ### Optimal Software s.r.o, [optimalsoftware.cz](https://optimalsoftware.cz/), [speedchecker.com](https://speedchecker.com/) | | -|- Period | January 2012 - July 2015 Job-Position | Senior Software Developer Product | <ul><li>Wifi Protector, [wifiprotector<wbr />.com](https://wifiprotector.com/HowItWorks.aspx)<li>ProbeAPI speed test tools, [[more info]](https://optimalsoftware.cz/speed-test-tools.html), [github](https://github.com/optimal-software/probe-api)</ul> Partici&shy;pation | Design and development of VPN solution with custom VPN client.<br /> Full stack responsibilities starting from C++ in client application going through web services and finishing in Linux server administration. Skills used | C++, STL, Boost, multithreading, networking, WinAPI, Nginx, HTTP, OpenVPN, Linux administration, Inno setup ### HTTP web crawler startup | | -|- Period | January 2008 - August 2011 Job-Position | Owner, Senior Software Developer Product | HTTP web crawler Partici&shy;pation | Design and development Skills used | C++, STL, HTTP, regular expressions, multithreading, WinAPI, Sqlite, MySQL, PHP, unit tests ### Artezio, [artezio.ru](https://artezio.ru) | | -|- Period | February 2007 - January 2008 Job-Position | Senior Software Developer Product | Perceptive Informatics&reg; Aladdin (IVRS, Interactive Voice Responce System for US pharmaceutical industry), [[more info]](https://pharmaceutical-technology.com/contractors/trials/perceptive/) Partici&shy;pation | Core development Skills used | C++, COM, ATL, STL, WinAPI <div style="page-break-after: always;"></div> ### SmartAVI Inc. (ex-Applica Inc.), [smartavi.com](https://smartavi.com/) | | -|- Period | April 2004 - August 2006 Job-Position | System Software Developer Product | ApplicaXP, Presenter, IpClone, Sniffer, PreVirex Project descrip&shy;tion | ApplicaXP is a set of drivers, services and user-mode programs that help specific hardware work together to allow multiple users to work independently in different logon sessions (like localhost terminal server). Partici&shy;pation | <ul><li>Development of various low-level tricks with Windows: gina replacement, API hooking, kernel debugging.<br /> <li>Tricks with tcp/ip stack on Windows: NDIS, TDI, LSP filtering.<br /> <li>Reverse engineering.<br /> <li>Manual decoding of high-level network protocols from ethernet packet flow. Tech&shy;nolo&shy;gies | C++, MFC, WinAPI, ASP, IDA, WinDbg, SoftIce, NSIS ### Ispirer, [ispirer.com](https://www.ispirer.com) | | -|- Period | June 2003 - April 2004 Job-Position | Software Developer Product | SQLWays, [[more info]](https://www.ispirer.com/products/why-sqlways) Project descrip&shy;tion | SQLWays is the application that migrates a lot of databases to each other. For example it can convert database from Oracle into MSSQL with all it's table, triggers, views, procedures, etc. Tech&shy;nolo&shy;gies | C++, MFC, WinAPI, ADO, COM, ATL, MS XML, Xslt, Yacc, Lex, NSIS <div style="display: none;"> <hr style="border: 0; border-bottom: 1pt solid black;" /> <br /> ## Portfolio ### Upwork (formerly known as oDesk, a freelance marketplace) [Upwork profile](https://www.upwork.com/users/%7E01656834782c7e7208): rating 5.0 out of 5; 3500+ hours worked; 9 projects done; 100% success rate. | | -|- Programming with C | Top 1% Programming with C++ | Top 12% Networking Concepts | Top 14% Regular Expressions | Top 1% MySQL 5.0 | Top 20% PHP5 | Top 11% | ### CodeJam [Google CodeJam](https://code.google.com/codejam) contest participation: [2011](https://www.go-hero.net/jam/11/name/Kolomenkin), [2012](https://www.go-hero.net/jam/12/name/Kolomenkin), [2013](https://www.go-hero.net/jam/13/name/Kolomenkin), [2014](https://www.go-hero.net/jam/14/name/Kolomenkin), [2015](https://www.go-hero.net/jam/15/name/Kolomenkin) ### Github account https://github.com/kolomenkin ### Task Manager Extension, own product Article on Codeproject.com with [Task Manager Extension 2.0](https://www.codeproject.com/Articles/10462/Task-Manager-Extension), 2007. This is a powerful utility that hooks standard Windows' Task Manager and extends it with a huge amount of new features. </div> <div> <br /> Updated on: 15 of November 2020 </div>