Download PDF

Motto

There is no limit to perfection, but we obliged to strive for this

Summary

I do not like to call myself a "Programmer" as it is is often equated with "Coder". I prefer to call myself the engineer who are able to solve problems. The most important to understand reasons before coding. In this case I can select the best solution and reduce time and money cost.

I can effectively organise both my and team work.

I've experience in roles of developer, team leader and CTO.

Currently use Ruby, Erlang or Elixir, Rust, JavaScript in the projects.

Actively participate in Open Source projects, professional conferences, informal meetings of IT-specialists. I believe that it is important to think both broadly and systematically and explore new areas. As well as share experiences and continuously improve their skills.

I conduct courses on Git (the author of Hexlet (hexlet.io) course)

List of skills updating the service (not all that I can include in summary): 
http://stackshare.io/zzet/me

 Expected Salary

$ 80.000 or above

Work History

Sep 2016

CTO

Daitel

Strategy and Planning:

  • Communication with the company’s founders with goal to identify opportunities and risks for delivering the company’s services as a web-based business, including identification of competitive services, opportunities for innovation, and assessment of marketplace obstacles and technical hurdles to the business success.
  • Identification of technology trends and evolving social behavior that may support or impede the success of the business.
  • Member of strategic planning team. Achieving business goals by identifying and prioritization development initiatives and setting timetables for the evaluation, development, and deployment of all web-based services.

Implementation & Deployment:

  • Select and manage company staff.
  • Establish a specification conformance and testing based on user stories and the User Experience design.
  • Promulgate coding conventions and documentation standards.
  • Review current best practices and establish the initial architecture for the application.
  • Define the company’s software development methodology.
  • Establish and supervise the software development process.
  • Conduct code reviews and specification conformance testing as defined by the selected software development methodology.
  • Establish and supervise a quality assurance process, including integration and system testing.
  • Review and approve proposed development releases and manage the release process.
  • Establish an application deployment process and supervise deployment to staging and production servers.
  • Monitor application performance and review any application failures in staging or production.
  • Establish and monitor a web analytics regime that measures site traffic and application usage relative to business goals.

Project tech stack:

  • Ruby on Rails (Backend, API)
  • JS, React, Redux, ES6, Webpack, etc (Frontend)
  • Centrifugo (Realtime message broker)
  • PostgreSQL, Redis
  • AWS (Hosting)
  • Ansible (Application Deployment + Configuration Management)
  • JIRA (YouTrack in the past), Slack, Sentry, Amplitude, etc
  • Docker in dev environment.
Sep 2015Aug 2016

Software Engineer

ITUniversum LLC

Work was under NDA which not allowed to describe a lot of details.

  • Was two parallel version of project (RoR 2 and RoR 4). I've migrated PRODUCTION V1 service data into PRODUCTION V2 service without downtime of both services.
  • Development of new features for new version of production after successful migration (step 1).

Stack of used languages and technologies: Ruby on Rails, Ruby, PostgreSQL, Docker, CSS, Coffee, HAML.


Can attach Reference Letter.

Oct 2014Sep 2015

Back-end developer

Coub

Work on the back-end part of the service coub.com. The main direction - the optimization of the existing code and development of the individual micro-services (high load). Development of additional functionality.

Stack of used languages and technologies: Ruby on Rails, Ruby, Erlang, Node.js, PostgreSQL, MongoDB, Vagrant, Docker.

Most valuable challenges:

  • Statistics service. Developed and implemented the service counting statistics. Collection, aggregation and display data in real time. The number of requests to the service: ~20.000 rps.
  • Timeline service. Service preparation and dispensing of content generated based on user subscription. Implemented several algorithms generate a list of content. It reduces the time of delivery of data to end users on the average 50 times.
  • Refactoring Ruby on Rails applications. Freeing up 20% of the resources are not efficiently used servers.
Apr 2012Oct 2014

Ruby on Rails full-stack developer

Undev

Development and maintenance of web-sites of the company and the company's customers; from November 2012 - develop and support Gitlab; Team leader, teacher.

Stack used languages and technologies: Ruby on Rails, Ruby, Go, Erlang, Python, PostgreSQL, Redis, ReactJS, AngularJS, JavaScript (native), Ansible, Chef, Vagrant, Docker.

  • Gitlab. Integration of the project in the company's infrastructure; Development of additional functionality to the needs of the company (most of the development has been adopted in the main repository). During the work on the project has entered in the TOP-10 of developers and received the title of Gitlab MVP (Most Valuable Persone) for contribution to the development of the project.
  • Digital October (http://digitaloctober.ru) Tailoring + support for the project.
  • Digicast (http://digicast.ru/ru). Full-stack development from scratch.
  • Avtomonitoring. CRM system to automatic monitoring of enterprise.
Aug 2011Apr 2012

PHP web developer

IT-Keeper

Development and maintenance of sites (orders of the company), webmaster; Redmine support the company; Setup and administration of servers (Debian, Ubuntu) for projects.

Stack used languages and technologies: PHP (Drupal 7.x), MySQL, JavaScript (native + jQuery), html, css.

Apr 2011Aug 2011

PHP web developer

Skynet

Development and maintenance of sites (orders of the company), webmaster; Redmine support the company; Setup and administration of servers (Debian, Ubuntu) for projects.

Stack used languages and technologies: PHP (Drupal 7.x), MySQL, JavaScript (native + jQuery), html, css.), MySQL, JavaScript (native + jQuery), html, css.

Nov 2007Apr 2011

Software Engineer

Ульяновский Государственный Технический Университет

Development and support of management research UlSTU (unit: Technology Transfer Center)
Preserving the infrastructure department (engineering, network)
Administering computers running Windows
Administration Server (Windows 2008 + Ubuntu)
Participation in exhibitions and conferences

Stack used languages and technologies: PHP (Drupal 6.x, 7.x, Joomla), Mysql, HTML, CSS, JavaScript.

Education

20102012

Master ("Computer Engineering")

Ulyanovsk State Technical University
20062010

Bachelor ("Computer Engineering")

Ulyanovsk State Technical University

Skills

Ruby

Can use pure Ruby for development of lightweight services, libraries. I've expertise in optimization of ruby code with high performance goal. Work with Ruby language from version 1.8.7 up to 2.4.

Ruby on Rails

I've experience with Ruby on Rails  version from 2 up to 5. Known standards, problems and features.
Have special "Pet Project", which was analog of skylight. Goal - smart service for profiling and research of bottlenecks in Ruby on Rails applications.

Rust

Started learn this language from 0.1 version. Sometimes use them for rewriting slow places in Ruby gems (increase performance)

Erlang

Can use Erlang for development of high load realtime tools and message oriented applications.

Elixir

Such as Erlang, can use Elixir for development of high load realtime tools and message oriented applications.

JavaScript

Known JavaScript, can use vanilla JS and some frameworks.

React

Can build front-end application based on React. Work with React since 0.0.14 version, but in the last time mostly work with backend part of products (needed time for refresh knowledges).

Node.js

Can create microservices based on Node.js, but dislike node.js and prefer to use Erlang/Elixir for this goal.

Python

Can read code and fix bugs. Have experience only with 2.6 version

PostgreSQL
Redis
MySQL

Can use, can cook, but prefer PostgreSQL

Memcached
MongoDB

Have a long expertise with MongoDB, but can't understand why people likes this tool, instead of using jsonb in PG (of course I know about exceptions from this rule).

ElasticSearch
Sphinx
Ansible

Use for provisioning, configuration management and deploing of projects. Work with ansible since first versions up to date. In the past worked with Chef.

Docker

Use Docker for development environment and have experience with Docker in production.

Git

Excellent knowledges of git (git trainer, gitlab developer in the past)

Vim

Yep, I'm Vim'er

TDD

Prefer to use TDD if it possible