Printing tool Download PDF


Software Engineer with analytical and problem-solving skills. Believes that programming language does not matter, all the matter is algorithms/concepts/critical thinking.

Passionate about software internals, including compilers, virtual machines, operating systems.

Work experience


Software Engineer




Technical Skills:
Node.js, JavaScript, TypeScript, Kubernetes, ...


Senior Software Engineer


  • Proven problem-solving skills related to production infrastructure, including Docker, orchestration systems like Mesos/Kubernetes, performance issues;
  • Reduced time that is required for a preparing release from a man/day to man/hour by automating the building process;
  • An average time of one-shot containers was reduced from the 30s to 10s by fixing issues with signals passing from orchestrator to a process;
  • Made a more flexible/granular authorization model by migration from classic RBAC to Ubi-RBAC that allows giving more granular permission in the multi-tenant system;

Technical Skills:
DC/OS, Kubernetes, Mesos, Marathon, Docker, RabbitMQ, AMQP, MongoDB, GCP, Node.js, JavaScript, TypeScript, Bash, Express, Mongoose, Mocha, Jasmine, Jest, ESLint, Hadolint, Shellcheck


Software Engineer



  • Built an npm library, that simplified communication with hardware devices (payment terminals, thermal/impact printers, etc) for its consumers, reducing their headache about binary structures and improving the overall performance of the team;
  • Implemented a broader set of transports the library can use to send those binary structures to a device, by implementing adapters over popular Node.js native add-ons. These including Ethernet (TCP/IP), USB, RS-232, Bluetooth;
  • The resulted library was used to implement a Point of Sale system and hide the complexity of hardware communication from PoS team;

Technical Skills:
Node.js, JavaScript, npm, Binary Structures, Cordova, NW.js, Electron


Software Engineer



  • WordPress plugin to create custom banners that are showing up on their WordPress site based on the settings;
  • Codebase migration from WordPress plugin to standalone web-service written in PHP and migration again from PHP to Node.js;
  • During high-load peaks, was responsible for investigating and fixing the reasons from a bug in the code to changing how components are interacting in infrastructure;
  • Architecture design, code review, technical leadership;

Technical Skills:
PHP, WordPress, Node.js, JavaScript, REST API, AWS, jQuery, SVG-edit, DOM Manipulation, HTML generation;


Software Engineer



  • Rendering real-time data from GPS device to have a possibility track the vehicle;
  • Aggregation data from GPS devices and using it to build track history;

Technical Skills:
PHP, JavaScript, jQuery, OpenLayers, Google Maps API, OpenStreetMap API



When I do have leisure time, sometimes I like to play around with new technologies or learn something new. You can read more about the so-called pet projects I made during leisure time (my favorite ones):

  • A real hexapod - constructed from plastic and servos. Its brains are based on Atmega and written in C++ language. You can check the Instagram video to see how it walks [video, sources]
  • Simple OS - transitions from 16-bit mode to 64-bit mode, few drivers for keyboard, video output and a simple shell that understands echo command [sources]
  • Syntax highlighter for JSONata (CodeMirror) - JSONata is a query language for JSON object with its own expressions and statements. I made a plugin for CodeMirror editor that able to highlight syntax of JSONata [demosources]
  • High-performance API for a cursor in a terminal - written in JavaScript, exports the API you can use for cursor manipulation in your terminal. It is fast enough to be able to draw YouTube video in real-time, check the demo [demosources]
  • An interpreter for a subset of Pascal language - recursive descent parser, written by hand, AST, variable lookups, symbol table, interpret. All of it was implemented as part of my compilers education [sources]
  • A virtual machine for a subset of JavaScript language - a virtual machine that is able to parse and interpret the subset of JavaScript language [sources]

Though, I am an outside contributor into acorn, Node.js, and others not so popular open-source projects.


When I am not good enough for some conference to give a talk, do not have enough time to make preparations, or by any other reasons I can not share my knowledge there, I am sharing it in my technical blog -

I'd like to pay your attention to some of my top articles:

  • How does Node.js work - Node.js internals, how it integrates with V8, what parts of V8 API is consumed to bring Node.js real;
  • Profiling Node.js applications - useful CLI flags in Node.js that you are able to use for CPU profiling and finding hot spots of the code;
  • How to implement your own bootloader - an introduction into Assembly language and how to create a bootloader that prints "Hello, World";
  • How V8 optimizes JavaScript code - this one is old, and techniques described here are already dead or wrong. Though, it remains one of the top articles by views;
  • From NAND Gate to Pong Game - I’ve passed a course on Coursera, which is called nand2tetris. The course itself is about building your own computer from the ground up. In this article I talk about computers and how does they implemented.

Public Speeches

I am passionate about giving a talk, share my knowledge and research results with the community. Anything, small or big, from tips at a workflow to research results at a job. If that is interesting to the community, I am glad to share it.