О себе

Ночёвнов Евгений Вячеславович

evgeniy@mailnochevnov.ru

GitHub, VK

Техлид (технический руководитель команды) (Ruby)

Наиболее значимые навыки:

  • сбор и согласование требований к результатам проекта;
  • составление технического задания;
  • детализация и распределение задач между участниками команды;
  • оценка сложности и длительности задач;
  • координация и наставничество исполнителей;
  • обеспечение качества кода;
  • управление рабочими процессами команды;
  • сбор данных и затем постановка и проверка предположений.

Есть опыт работы в стартапах, малых, средних и крупных организациях (около 28 000 человек).

Допускаю возможность переезда. Возможны редкие командировки.

Профессиональные качества

  • Ответственность
  • Исполнительность
  • Надёжность
  • Инициативность
  • Стрессоустойчивость
  • Коммуникабельность
  • Умение сохранять самообладание в сложных ситуациях и в состоянии спешки

Профессиональные навыки

Языки и технологии программирования

RubyRails — 9 лет опыта.

SQLMySQLPostgreSQL — включая оптимизацию запросов, агрегирование данных, параллельное выполнение запросов.

RedisMongoDB

TDDRSpecSwagger (OpenAPI)

HTMLCSSSassJavaScript

Архитектура и проектирование программного обеспечения

DRYSOLIDDesign patternsMicroservices — стараюсь применять эти принципы, насколько возможно, но допускаю отступления от них ради скорости выполнения кода и скорости разработки.

MVCMulti-layered architectureDomain-Driven Design — разделяю программный код на несколько слоёв по решаемым задачам, областям ответственности и функциональности: сервисные объекты, презентеры, классы для запросов к базам данных, классы для формирования данных или для экспорта и другие.

XMLSOAPJSON (REST API) — разработка интеграции между несколькими системами.

Администрирование сервера и DevOps

LinuxNginxMySQLPostgreSQLRedisHTTPS — установка и настройка для сред разработки и эксплуатации.

DockerDocker ComposeGitLab CI — создание файлов для запуска процедур сборки проекта (Dockerfile, Docker compose) и проверки файлов проекта с помощью линтеров (RuboCop, Brakeman и других).

Руководство и командная работа

JIRATrelloRedmineAsana... — большой опыт в применении средств управления задачами.

AgileKanbanScrum — опыт работы в гибкой, часто изменяемой среде; проведение встреч с командой; обсуждение и предложение решений задач.

git — основное средство для совместной работы с репозиториями.

Желаемые условия работы

Мне комфортно работать с задачами, описывающими потребности потребителя, а также определять техническую реализацию задач и планировать свою деятельность.

Корпоративная культура

Интересует свободная, демократичная, творческая среда, где приветствуют развитие процессов и результатов, а также эксперименты (развитие всегда сопровождается экспериментами!). Приветствую сочетание адаптивности и организованности!

Образование

Год окончания Направление обучения, образовательное учреждение
2015 Аспирантура (неоконченная диссертация про менеджмент), Московский технический университет связи и информатики
2013 Курс «Практикум управления проектами. Ключевые документы, инструменты, решения», УКЦ «Проектная ПРАКТИКА»
2012 Высшее образование, специальность (Информационные технологии, 230105 Программное обеспечение вычислительной техники и автоматизированных систем), Московский технический университет связи и информатики

Опыт работы

Всего: 14 лет, включая 11,5 года в роли разработчика и 1,5 года в роли руководителя. Ниже указаны места работы, соответствующие роли руководителя.

Частная практика

Сентябрь 2024 — по настоящее время, RubyRailsPostgreSQLRSpecDockerKubernetesRedisSwagger (OpenAPI)

Участие в нескольких проектах, в т.ч.:

  • Продукт для обучения людей через интернет: руководство 2 back-end разработчиками, создание новых функций продукта, написание постановок задач и создание макетов UX для команды, проверка результатов разработки.
  • Сайт школы: руководство 1 front-end разработчиком, перевод существующего сайта на современные Web-технологии и новый дизайн.
  • Интернет-магазин (проект с «нуля»): руководство 2-3 front-end разработчиками, создание новых функций продукта, управление требованиями, составление заданий, согласование сроков и стоимости, приёмка и интеграция результатов работы.

Руководитель команды разработки в МОЦ ИКТ (Россия)

Апрель 2018 — июль 2018, 2 месяца RubyRailsJavaScriptMySQLRedmineDocker

Руководство 2 back-end программистами. Моя команда создала портал на Redmine для учёта грузоперевозок.

Ведущий программист в CityAds (СмартФинанс) (Россия)

Август 2013 — апрель 2014, 8 месяцев RubyRailsJavaScriptMySQLRedmine

Эта компания предоставляет услуги для рекламы в интернете.

Здесь я создал единую систему для управления работами сотрудников всех уровней компании (Redmine + самописные плагины), тем самым снизил расходы на использование некоторых сторонних приложений.

Проектирование CRM и перевод сотрудников из Salesforce в созданную систему: сбор требований, декомпозиция задач, обучение пользователей.

Руководство 1 back-end разработчиком.

Ведущий программист в Wand (Россия)

Август 2012 — апрель 2013, 8 месяцев RubyRailsJavaScriptMySQLPostgreSQL

Это веб-студия.

Разрабатывал сайты и информационные системы для коммерческих и некоммерческих организаций.

Руководство 1 front-end разработчиком.

Вклад в Open Source

  1. Обновил перевод строчек на русский язык для программы vym — View Your Mind — графического инструмента для mind maps.
  2. Добавил формат template literals для файлов с переводами строчек в плагине для Babel — babel-plugin-precompile-intl.
  3. Создал Ruby gem для форматирования названий месяцев без дней — ruby-i18n-months. Некоторые языки используют разные слова в названиях месяцев, например, «23 апреля 2022" и «Апрель 2022".

Примеры кода

  1. Настройки для Rubocop, упакованные в виде гема
  2. Шаблон для создания папки с проектом на Rails
  3. Микросервис на Ruby и Микросервис на Crystal

Языки

Русский — родной

Английский — средний (intermediate, B1)