About

Evgeniy Nochevnov

evgeniy@mailnochevnov.ru

GitHub, VK

Senior Ruby Developer

Major competencies:

  • using client-server approach and web technologies;
  • full stack development with rich functionality on back-end (server side);
  • creating API applications & microservices;
  • code review for team members;
  • describing technical details for solution of tasks;
  • estimating complexity and duration of tasks;
  • collecting data, and then defining and testing hypotheses.

I have work experience in start-ups, small, mid & large organizations (approx. 28.000 people).

Relocation and rare business trips may be allowed.

Professional qualities

  • Responsibility
  • "Can-do" attitude
  • Reliability
  • Initiative
  • Stress resistance
  • Communication skills
  • Ability to keep composure in difficult situations and in a rush

Professional skills

Programming languages & technologies

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

SQLMySQLPostgreSQL — including queries optimization, data aggregation, execution of queries in parallel.

RedisMongoDB

TDDRSpecFactoryBotSwagger (OpenAPI)

HTMLCSSSassJavaScript

Software architecture and software design

DRYSOLIDDesign patternsMicroservices — I try to apply these principles as much as possible, but I allow divergences from them for the sake of code execution speed and development speed.

MVCMulti-layered architectureDomain-Driven Design — I split code source by scope (code purpose, area of ​​responsibility, and area of functionality): service objects, presenters, query objects, classes for exporting or generating data and others.

XMLSOAPJSON (REST API) — for integration between several systems.

Server administration and DevOps

LinuxNginxMySQLPostgreSQLRedisHTTPS — setup and configuration for development & production environments.

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

Work within team

JIRATrelloRedmineAsana... — solid experience in many task/issue trackers.

AgileKanbanScrum — work experience in flexible, highly dynamic environment; holding meetings with team; discussing & proposing solutions for tasks.

git — main tool for collaborating within repositories.

Desired work conditions

I feel comfortable to work on tasks from customer's point of view, and also to add technical details to my tasks and plan my activities.

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.

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: 14 years, including 11.5 years as developer. Below are the jobs that match the Developer role.

Free-lance

September 2024 — nowadays, RubyRailsPostgreSQLRSpecDockerKubernetesRedisSwagger (OpenAPI)

Participation in some projects, including these:

  • Online learning system: bug-fixing, creating new functions for product (full stack & API application).
  • Online collaboration system & online store (green field projects): architecture and code for API application.
  • Web site for school: migrate existing site to modern Web technologies and new UI, grab user reviews from some services, add site layout for visually impaired people (full stack application).

Ruby Developer at Netology (Russia)

March 2022 — February 2024, 1 year and 11 months RubyRailsMySQLRSpecDockerKubernetes

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 RubyRailsPostgreSQLRSpecSwagger (OpenAPI)DockerKubernetes

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 RubyRailsJavaScriptVuePostgreSQL

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 web site for discussing and voting for ideas and proposals.
  3. SMS gateway.

Rails Developer at GameServerKings

August 2018 — October 2019, 1 year and 2 months RubyRailsJavaScriptPostgreSQLHeroku

This company provides virtual hosting for online games. It's international team. I worked remotely there, all communications were held in English.

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.

System Analyst and Developer at NIIAS (Russia)

September 2016 — June 2017, 8 months RubyOracleUMLXMLSOAP

This company develops integration platform for Russian Railways.

I was involved in the integration of several information systems of the company in order to automate the drawing up of train schedules for Far East of Russia. To do it, I collected and coordinated the requirements with all interested parties, wrote algorithms for converting and transferring data from one systems to others.

Developer at Uniweb (Russia)

January 2015 — February 2016, 1 year RubyRailsJavaScriptPostgreSQLMongoDBRedis

I developed site for promoting distance learning courses for foreigners who wants to learn the Russian language (PushkinOnline). Automated tests, refactoring, new features, bug fixes. Increased stability (by 15%) and loading speed of the site by using automated testing and code refactoring. Also developed sections and features on the site, which increased the number of registrations on the online courses by 20%.

Developer at MTS (Russia)

June 2014 — December 2014, 6 months RubyRailsJavaScriptMySQLRedmine

It is one of the largest telecommunication companies in Eastern Europe.

I created a prototype of information system based on Redmine to test and elaborate ideas about project management in this large company

Lead Developer at CityAds (Russia)

August 2013 — April 2014, 8 months RubyRailsJavaScriptMySQLRedmine

This company provides services in Internet advertising.

I created a unified system for task management of employees at all levels (Redmine + custom plugins), thereby reducing the costs for the use of some third-party applications.

Implemented CRM for employees and migrated data from Salesforce. To get it done, I've collected requirements from employees, created data model and associated functionality, and trained users.

Lead Developer at Wand (Russia)

August 2012 — April 2013, 8 months RubyRailsJavaScriptMySQLPostgreSQL

It is web design studio.

I developed web sites & information systems for commercial and non-profit organizations.

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".

Code examples

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

Languages

Russian — proficiency, native

English — intermediate, B1