About

Evgeniy Nochevnov

Living in Moscow, Moscow region

Citizen of Russia

mailto: eugen@mailnochevnov.ru

GitHub profile

Fullstack Ruby on Rails Senior/Lead

I like to create products and services using information technologies to provide users with some new opportunities, e.g. services for obtaining electronic cheques, hotel reservation or search for deposits.

To do it, I use the following skills:

  • writing technical assignment / specification;
  • using client-server approach and technologies;
  • programming the main functionality on the server side and minimally necessary on the client side;
  • sometimes — wrting test cases / scenarious;
  • sometimes — operational documentation;
  • sometimes — schemata and diagrams of business processes, systems interaction etc.;
  • sometimes — creating user interface layouts;
  • sometimes — collecting data, formulation and testing hypotheses.

Currently, I'm looking for remote work. I'm not interested in relocation and business trips.

Professional skills

Back-end (server side)

Ruby Rails — 9 years of experience. I try to write "clean" code, i.e. with understandable abstractions, visual, safe, reliable.

SQL MySQL PostgreSQL — triggers, views, and full-text search.

Redis MongoDB

TDD RSpec FactoryBot Swagger (OpenAPI)

Front-end (client-side)

HTML CSS Sass

JavaScript ECMAScript 2015+ (ES6+) Pug Vue 2 Svelte 3

Webpack Rollup Vite

Software architecture and Software design

DRY SOLID Design patterns — I try to apply these principles as much as possible, but I allow deviations from them for the sake of code execution speed and development speed.

MVC Multi-layered architecture — I split code source by scope (code purpose and area of ​​responsibility): service objects, presenters, query objects, classes for exporting or generating data and others.

UML User Story ER-diagrams — 1-2 years of experience in solution design in large corporate projects.

XML SOAP JSON (REST API) — for integration between several systems.

UX — I made sketches for some web pages using Balsamiq, Visio, Quant UX.

Server administration and DevOps

Linux Nginx MySQL PostgreSQL Redis HTTPS — setup and configuration.

Docker Docker Compose GitLab CI — writing files for project builds (Dockerfile, Docker compose) and for verifying code via linters (RuboCop, Brakeman and others).

git — main tool for collaborating within repositories.

Desired work conditions

I like to plan what and how I should do, and also plan my activities.

I feel comfortable working independently, and if necessary I ask help from the staff.

I love to work in teams where every person has unique role (cross-functional teams), e.g. front-end + back-end + designer + product owner.

I'm not interested in out-staff work.

Important: I don't like overtime work, especially when it is not compensated by money or rest days.

Expectations for corporate culture

I'm interested in a democratic, creative environment, where there is a space for the development of work processes and results, as well as experiments. I welcome the combination of adaptability and organization!

I like free and direct communication. A little sense of tact may be added.

Education

Year of ending Direction of training, educational institution
2015 Postgraduate (not finished PhD thesis), Moscow Technical University of Communication and Informatics
2013 Course "Project Management Workshop. Key documents, tools, solutions", "Project Practice"
2012 Specialist degree, 5-year graduate (Information Technologies, Computer Software), Moscow Technical University of Communication and Informatics

Work experience

Total: 13 years.

As developer: 11 years.

As system analyst: 1 year.

As team leader: 1 year.

September 2024 — nowadays, Ruby Rails PostgreSQL RSpec Docker Kubernetes Redis

Ruby Developer at Randewoo (Russia)

May 2024 — August 2024, 3 months Ruby Rails PostgreSQL RSpec Docker Kubernetes Elastic Redis HashiCorp Vault

Biggest tasks here:

  1. Integration with payment service "Plati chastyami" (it means: "buy now, pay later") from Sberbank (Russia).
  2. Build configuration for RuboCop rules as gem.

Ruby Developer at Netology (Russia)

March 2022 — February 2024, 1 year and 11 months Ruby Rails MySQL RSpec Docker Kubernetes

Large codebase, more than 600 tables in the database. About 10% of them are linking tables, the same amount are tables that exist for typical use cases (CRUD), and all the rest tables relate to custom code for reading and writing data within business logic. The code is well structured.

I participated in developing code of main web site of this company. Also I refactored some old code and added tests. My most significant contributions are:

  1. Designing solution and writing program code for new role and permission management model for administrative part of the site. Lots of changed files!
  2. Developing code for generating reports, certificates, and other documents.
  3. Preparing monolithic product to split and group its codebase depending on domain area. It may help later to move these code parts to new microservices.
  4. Presenting new solutions in the codebase to other developers, discussing and finding solutions for current issues. Examples are code style, linters, storing application settings.

I participated in integration with some external web services, including:

  1. Mindbox - web service for mailing letters and a database of company clients.
  2. Planfix - web service for task-based management (similar to Redmine).
  3. WebinarRu - web service for performing webinars (online conferences).

Ruby Developer at Balance-Platform (Russia)

February 2021 — March 2022, 1 year and 1 month Ruby Rails PostgreSQL RSpec Swagger (OpenAPI) Docker Kubernetes

Bank software development. There is a lot of code, many validation rules and operations, more than 50 tables in the database in these programmes. Microservice-based approach.

Rails Developer at Russian Railways (Russia)

February 2020 — February 2021, 11 months Ruby Rails JavaScript Vue PostgreSQL

Participated in products:

  1. Main product: I\'ve added new functionality for managing news, surveys, advertising banners and transport documents for the site called "Personal Area (cargo transportations)".
  2. New site for discussing and voting for ideas and proposals.
  3. SMS gateway.

Rails Developer at GameServerKings (Remote work)

August 2018 — October 2019, 1 year and 2 months Ruby Rails JavaScript PostgreSQL Heroku

Big changes in UI of the site (with the help of web designer), and also new features & functions on the site for clients & employees of this company. For example, integrating payments and subscriptions with 3 services. This company provides virtual hosting for online games. It's international team. I worked remotely there, all communications were held in English.

During my work here I strongly developed my skills for building code architecture in JavaScript.

Dev Team Lead at MOC ICT (Russia)

April 2018 — July 2018, 2 months Ruby Rails JavaScript MySQL Redmine Docker

It is a subsidiary company of the Government of the Moscow region.

Developed Redmine-based site for controlling freight carriage.

There were 2 other developers in the team, everybody worked remotely.

But, alas, there were overtime work (even work on holidays) and a lot of stress.

Early job experience

System Analyst at Sberbank-Technology (Russia), November 2017 — April 2018, 4 months

Process Analyst at FC Otkrytie (Russia), June 2017 — October 2017, 4 months

System Analyst and Developer at NIIAS (Russia), September 2016 — June 2017, 8 months

System Analyst / Developer at Uniweb (Russia), January 2015 — July 2016, 1 year and 6 months

Developer at MTS (Russia), June 2014 — December 2014, 6 months

Lead Developer at CityAds (Russia), August 2013 — April 2014, 8 months

Lead Developer at Wand (Russia), August 2012 — April 2013, 8 months

PHP Developer, CobraTelecom, November 2010 — January 2012, 1 year and 3 months

Delphi Developer, Salut, July 2009 — September 2010, 1 year and 2 months

Contribution to Open Source

  1. Updated Russian translation in vym - View Your Mind - graphical tool for mind maps.
  2. Added template literals to translations files into Babel plugin - babel-plugin-precompile-intl.
  3. Created Ruby gem for formatting month names without days - ruby-i18n-months. Some languages use different words for month names in formats like "23rd april of 2022" and "April 2022".

Languages

Russian — proficiency, native

English — intermediate, B1

A few more words about learning

I like these languages, libraries and technologies: Crystal, Svelte, Lucky Framework. If possible, I would like to use them at work.

I play well with Capistrano and Docker + GitLab CI, I can use both variants to deploy code.

I study Domain-Driven Design for redesigning and refactoring software.

Please check these repositories:

  1. Rubocop settings, packed as gem
  2. Project code generator for Rails
  3. Ruby-based & Crystal-based typical microservices