Download PDF

Work experience

2019Till now

Node.JS Developer

Microbilt Ukraine

Responsibilities: developing, testing, deploying and documenting of web scraping (web data extraction) application including its update and maintenance.

Aim: find a way to automate web scraping (web data extraction) processes and develop a corresponding application with further maintenance .

Investigation: analysing all available web automation tools such as Phantom.JS, Casper.JS, Selenium Web Driver, Puppeteer, Nightmare.JS and Electron.JS to determine which one if any can be taken as the basis for the application development.

Resolution: Nightmare.JS automation library was chosen as a basis for the application development since it meets all technical requirements and allows to extend its functionality by developing customized actions based on Electron.JS API.

20152019

WebQL Developer

Microbilt Ukraine

Web Data Extraction (web scraping) scripts development:

  • composing HTTP requests with corresponding tools such as Chrome DevTools, Firefox DevTools, Telerik Fiddler and Advanced REST Client
  • web scraping scripts development in WebQL environment (www.ql2.com)
  • applying of corresponding JavaScript web scraping related technologies

Skills

JavaScript

Always try to dive deeper in details:

  • concurrency model (event loop, event table, event queue, call stack)
  • execution context (lexical environment and scope chain)
  • prototype chain
  • closures

ES6

Node.JS
  • client-server application
  • inter-process communication
Express
  • router
  • middleware
  • static resources
  • EJS template engine
Electron.JS

Framework for building JavaScript desktop applications:

  • web data extraction application development
  • desktop application development to automate daily routine tasks
Nightmare.JS

High-level automation library based on Electron.JS:

  • using of built in methods to solve variety of automated web scraping tasks
  • using of Electron.JS API to extend built in functionality
XML/XSLT

In some particular cases I prefer to use XML to store data rather SQL or NoSQL. For example, I used XML to store application reference data and XSLT to represent this information to the end user.

WebSocket

I wrote a simple application to become familiar with WebSocket protocol, WebSocket API and how we can setup interaction between net.Socket instance and WebSocket API:

WebSocket with net.Socket

GIT
Bash

I use bash scripting to accomplish with settings, preparation, running, etc. required by my applications.

Debian GNU/Linux

The main operating system I prefer to use is Windows, however, I use Debian to test my applications, which are intended to work on Unix-like systems as well as on Windows.

Education

20092014

Master

Kharkiv National University of Radio Electronics

Modelling, development and maintenance of program and information systems.

A bit about me

I am:

  • self-motivated
  • willing to solve any problem despite on its complexity
  • trying to find most appropriate tool, library, framework, whatever to solve the task
  • not afraid of any new approaches and excited to learn more
  • experimenting with another tools just to get general understanding
  • trying to understand how do things work under hood