Sergey Kolomenkin
Location | Tbilisi, Georgia |
Relocation | I am ready to move |
kolomenkin |
|
Experience | 20 years in software development |
Cover Letter
During 20 years in C++ I was working on various projects including system programming, computer networking, multithreading, interprocess communication for destop applications, mobile apps, backend services.
I'm looking for a challenging innovative position, where I can design technically complex software solutions and develop new cutting edge products.
Positions in the following areas are of special interest for me: C++, research, high-performance systems, high load, multithreading, interprocess communication, asynchronous programming, low-level speed optimization, cross-platform compilation.
General Strengths
- deep knowledge and understanding of used technologies
- system design
- helping, training colleagues
- striving for stable CI/CD process, internal tools, unit tests
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, |
Strong | Kubernetes, Boost, WebRTC, x86 assembler |
Experience
Gaijin Entertainment, Hungary | Senior Software Engineer | June 2022 - now
Responsibilities | 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
Participation | 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. |
Responsibilities | 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
Participation | 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. |
Responsibilities | 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
Participation | Design and development of a VPN solution with custom VPN client for Windows. |
Responsibilities | 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
Participation | 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
Participation | Software development, refactoring legacy, writing unit tests |
Skills used | C++, COM, ATL, STL, WinAPI |
Applica, USA | System Software Developer | April 2004 - August 2006
Participation |
|
Skills used | C++, MFC, WinAPI, ASP, IDA, WinDbg, SoftIce, NSIS |
Ispirer, Belarus | Software Developer | June 2003 - April 2004
Participation | 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
Education | Master's degree, Computers, Systems and Networks, Belarusian State University of Informatics and Radioelectronics, 2004 |
Languages | English - fluent (B2, IELTS 6.5), Russian - native |
Web Site Accounts
LinkedIn | linkedin.com/in/kolomenkin |
GitHub | github.com/kolomenkin |
StackOverflow | stackoverflow.com/users/739731/sergey |
Coding Contests
LeetCode | leetcode.com/kolomenkin |
Google CodeJam | participation: 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2022 |
Examples of code
Here you can find some of my completed C++ interview test tasks:
https://github.com/work-examplesLimbo 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.
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