Printing tool Download PDF

Summary

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

2017Present
elastic.io

Senior Software Engineer

Achievements:

  • 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

20162017
Dev-Pro

Software Engineer

Achievements:

  • 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

20132016
Onix-Systems

Software Engineer

Achievements:

  • 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;

20122013
MAA

Software Engineer

Achievements:

  • 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

Education

Projects

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 were implemented as part of my compilers education [sources]

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

Publications

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 - blog.ghaiklor.com.

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

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.