О себе
Ночевнов Евгений Вячеславович
Место жительства: Москва, Подмосковье
Гражданство: Россия
mailto:
Fullstack Ruby on Rails Senior/Lead
В настоящее время мне нравится создавать продукты и услуги с помощью информационных технологий, чтобы предоставить пользователям какие-то новые возможности. Например, это могут быть сервисы по получению электронных чеков, брони гостиниц или поиску вкладов.
Для этого применяю следующие навыки:
- уточнение задач, составление технического задания;
- использование клиент-серверного подхода и веб-технологий;
- программирование основной функциональности на стороне сервера и минимально необходимой — на стороне клиента;
- иногда — создание сценариев тестирования;
- иногда — эксплуатационная документация;
- иногда — схемы и диаграммы бизнес-процессов, взаимодействия систем и т.п.;
- иногда — создание макетов интерфейсов;
- иногда — сбор данных, постановка и проверка предположений.
В настоящее время мне интересна удалённая работа. Не рассматриваю возможность переезда и командировок.
Профессиональные навыки
Back-end (серверная сторона)
Ruby — 6 лет опыта. Стараюсь писать "чистый" код, т.е. с понятными абстракциями, наглядный, безопасный, надёжный.
Rails — 6 лет опыта. Уделяю большое внимание структуре кода, использую принципы DRY и SOLID. В том числе, пишу маленькие специализированные классы, например, чтобы отделить бизнес-логику от хранения данных.
SQL MySQL PostgreSQL — триггеры, представления (view), полнотекстовый поиск.
Redis — пример: система проверки работоспособности сервисов/сайтов.
TDD RSpec FactoryBot Swagger (OpenAPI)
Front-end (клиентская сторона)
HTML CSS Sass
JavaScript ECMAScript 2015+ (ES6+) Pug Vue Svelte
Webpack Rollup
Другие навыки
UML User Story ER-diagrams — опыт 1-2 года в качестве системного аналитика в крупных корпоративных проектах.
XML SOAP — разработка интеграции между несколькими системами.
UX — использовал Balsamiq, Visio и Quant UX для создания макетов веб-страниц.
git Linux Google Cloud Storage
Желаемые условия работы
Мне нравится самостоятельно определять, чем и как заниматься; планировать свою деятельность.
Мне комфортно работать самостоятельно, и при необходимости обращаюсь к сотрудникам за помощью.
Мне нравится работать в командах, где у каждого участника уникальная роль (кросс-функциональные команды), например, front-end + back-end + designer + product owner.
Не интересует заёмный труд (out-staff).
Важно! Мне не нравятся переработки и «ненормированный рабочий день», особенно когда это не компенсируется деньгами или днями отдыха. Вариант «переработки в любом количестве и в любые дни в обмен на 3 дня отпуска в год» отвергаю сразу.
Пожелания к корпоративной культуре
Интересует свободная, демократичная, творческая среда, где приветствуют развитие процессов и результатов, а также эксперименты (развитие всегда сопровождается экспериментами!). Приветствую сочетание адаптивности и организованности!
Образование
Год окончания | Образовательное учреждение, направление обучения |
---|---|
2015 | Московский технический университет связи и информатики, аспирантура (неоконченная диссертация про менеджмент) |
2013 | УКЦ «Проектная ПРАКТИКА», курс «Практикум управления проектами. Ключевые документы, инструменты, решения» |
2012 | Московский технический университет связи и информатики, специалитет (Информационные технологии, 230105 Программное обеспечение вычислительной техники и автоматизированных систем) |
Опыт работы
В роли разработчика: 9 лет.
В роли системного аналитика: 2 года.
Разработчик Ruby в «Баланс-Платформа» (Россия)
Февраль 2021 — настоящее время, 13 месяцев Ruby Rails PostgreSQL RSpec Swagger (OpenAPI) Docker Kubernetes
Разработка программ, используемых в некоторых банках. Очень много кода, много правил проверки и обработки данных, более 50 таблиц в базе данных.
Разработчик Rails в РЖД (Россия)
Февраль 2020 — Февраль 2021, 11 месяцев Ruby Rails JavaScript Vue PostgreSQL
Участвовал в создании продуктов:
- Основной продукт: добавление функциональности для управления новостями, опросами, рекламными баннерами и транспортными документами для портала «Личный кабинет (грузовые перевозки)».
- Сайт для рассмотрения идей и предложений (обсуждение и голосование).
- СМС-шлюз.
Разработчик Rails в GameServerKings
Август 2018 — Октябрь 2019, 1 год и 3 месяца Ruby Rails JavaScript PostgreSQL Heroku
Крупные изменения в дизайне сайта (при участии веб-дизайнера), а также новые возможности и функции сайта для клиентов и сотрудников этой компании. Например, интеграция с 3 платёжными сервисами. Компания предоставляет виртуальный хостинг для онлайн-игр. Это международная команда. Я работал удалённо, всё общение шло на английском языке.
Во время работы здесь я сильно развил свои навыки по построению архитектуры кода на JavaScript.
Руководитель команды разработки в МОЦ ИКТ (Россия)
Апрель 2018 — Июль 2018, 4 месяца Ruby Rails JavaScript MySQL Redmine Docker
Создал портал на Redmine (на основе Ruby on Rails) для учёта грузоперевозок, по заказу правительства Московской области.
В команде было ещё два программиста, все работали удалённо.
Увы, я столкнулся на этом месте с задержкой зарплаты, переработками, "выходом" на работу в выходные и постоянной суетой.
Системный аналитик в «Сбербанк-Технологии» (Россия)
Ноябрь 2017 — Апрель 2018, 6 месяцев UML
Принял участие в разработке комплекса программ хранения и управления данными о клиентах банка. В том числе:
- составление эксплуатационной документации;
- составление технических заданий;
- проектирование интеграционного взаимодействия в рамках микросервисной платформы.
Аналитик процессов в «ФК Открытие» (Россия)
Июнь 2017 — Октябрь 2017, 5 месяцев UML Use Case UX
В команде разработки сайтов Банка. Среди своих крупных задач могу назвать следующие:
- Исследовал стандарты и рекомендации по адаптации сайтов для слабовидящих, слабослышащих и людей с нарушением моторики. Результат исследования описал в виде руководящих указаний. Реализация этих требований сделает доступными сайты компании указанным группам людей, а именно: чтение информации на сайтах Банка, заполнение анкет и другое.
- Исследовал бизнес-процессы по получению наличных денег для пользователей: начиная от заказа на сайте и заканчивая получением денег в кассе отделения Банка. Описал все процессы вплоть до участвующих информационных систем и их действий. Координировал работы по интеграции этих систем.
- Изучил тему залогового имущества и составил техническое задание для стороннего подрядчика на разработку сайта с каталогом объектов: недвижимость, автомобили, оборудование.
Системный аналитик и программист в НИИАС (Россия)
Сентябрь 2016 — Май 2017, 9 месяцев Ruby Oracle UML XML SOAP
Интеграция нескольких информационных систем предприятия позволила автоматизировать составление графиков движения поездов на Дальнем востоке. Чтобы сделать это, я выяснил и согласовал требования со всеми заинтересованными сторонами, написал алгоритмы по преобразованию и передаче данных из одних систем в другие.
Системный аналитик / программист в Uniweb (Унивеб) (Россия)
Январь 2015 — Июль 2016, 1 год 7 месяцев
Сначала как программист в одном проекте, затем как аналитик в другом проекте.
Системный аналитик: UML Use Case User Story
Улучшил бизнес-процесс оформления заявок на платные курсы на сайте uniweb.ru, что привело к сокращению времени обработки заявок на 30% с помощью введения ранней регистрации на курсы и выполнения похожих операций в одном потоке.
Программист: Ruby Rails JavaScript PostgreSQL MongoDB Redis
Повысил стабильность и скорость загрузки сайта "Образование на русском" (PushkinOnline) с помощью автоматизированного тестирования и рефакторинга кода. А также разработал разделы сайта с новыми функциями, благодаря этому увеличилось количество регистраций на онлайн-курсы сайта на 20%.
Программист в МТС (Россия)
Июль 2014 — Декабрь 2014, 6 месяцев Ruby Rails JavaScript MySQL Redmine
Разработал прототип информационной системы управления проектами на основе Redmine для проверки и доработки идей по управлению проектами в этой крупной компании. Компания использовала этот прототип для проверки идей по управлению проектами.
Программист / Lead Developer в CityAds (СмартФинанс) (Россия)
Август 2013 — Май 2014, 10 месяцев Ruby Rails JavaScript MySQL Redmine
Создал единую систему для управления работами сотрудников всех уровней компании, тем самым снизил расходы на использование некоторых сторонних приложений.
Проектирование CRM и перевод сотрудников из Salesforce в созданную систему: сбор требований, декомпозиция задач, обучение пользователей. С одним подчинённым.
Программист / Lead Developer в Wand (Россия)
Август 2012 — Июнь 2013, 11 месяцев Ruby Rails JavaScript php MySQL PostgreSQL
Разрабатывал сайты и информационные системы для коммерческих и некоммерческих организаций. С одним подчинённым.
Более ранние места работы
PHP программист, «КобраТелеком», Ноябрь 2010 — Январь 2012, 1 год 3 месяца
Программист Delphi, ФГУП ММПП «Салют», Июль 2009 — Сентябрь 2010, 1 год 3 месяца
Иностранные языки
Английский — средний (intermediate, B1)
Итальянский — начинающий (elementare, A1)
Ещё несколько слов о развитии
Использую Crystal — меня привлекает увеличение скорости выполнения кода, меры по повышению надёжности программ, знакомый синтаксис.
Также я обновляю свои навыки по управлению сервером и DevOps.
Изучаю приёмы Domain-Driven Design для проработки структуры программ.
Пожалуйста, посмотрите эти репозитории:
- railbus, Ruby gem для создания функций в JS для получения URL страниц приложения и для выполнения асинхронных запросов к нему. Работает в паре с NPM-пакетом yambus
- monitoring_web_service, основанная на Rails программа для мониторинга доступности любого сайта
- Микросервис на Ruby и Микросервис на Crystal