victor-shinkevichvictor-shinkevich

Виктор Шинкевич

Ruby on Rails developer · Бэкенд · Разработка ПО · Старший (Senior)
От 4000 $ · Не ищу работу
Возраст: 28 лет
Опыт работы: 5 лет и 9 месяцев
Регистрация: 05.07.2020
Последний визит: 2 дня назад
Местоположение: Россия, Тверь
Войдите, чтобы посмотреть контакты пользователя

Обо мне

https://github.com/supostatekx/code_samples - примеры кода с busfor, когда нибудь обновлю и залью туда примеры с других мест работы

===

Основная экспертиза - бэкенд 
В разработке тяготею к перфекционизму, если это уместно. Получаю удовольствие от написания чистого, понятного и поддерживаемого кода. 

Чистая архитектура, DDD, SOLID, DRY для меня не просто слова из интернета.

Спокойно и уверенно работаю с реляционными СУБД - MySQL, Postgres. Умею в SQL не только средствами ORM. Из нереляционных имел опыт с Redis, Memcached.

Из пожеланий - хотел бы приобрести коммерческий опыт elixir/java/go с микросервисами и even sourse development для построения сложных бекендов.

В рамках обучения изучал C++, JAVA, Python, Go, elixir.

В коммерческой разработке много работал с PHP и его фреймоворками, затем изучил и переключился на Ruby on Rails и соответствующий ему набор технологий, чем сейчас и занимаюсь. 

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

Читаю профессиональную литературу. 
Список обновляется. 
- Мифический человеко-месяц (Ф. Брукс)
- Чистая архитектура (Р. Мартин)
- Идеальный программист (Р. Мартин)
- Высоконагруженные приложения. Программирование, масштабирование, поддержка (М. Клеппман)
- Программист-прагматик (Э. Хант, Д. Томас)
- Командная строка Linux (У. Шотс) 
- Архитектура корпоративных приложений (М. Фаулер)
- Совершенный код (С. Макконел)
- Паттерны проектирования (Э. Фримен)
- Веб-дизайн: удобство использования веб сайтов (Я. Нильсон)
- JavaScript Шаблоны (Стоян Стефанов)
- PHP. Объекты, шаблоны и методики программирования (М. Задстра)

Черпаю новую информацию из форумов, блогов, сайтов, общения с коллегами. 
Имею подписку на medium.
Google now частенько рекомендует хорошие тематические статьи. 
Сабфорумы на /reddit:
r/coding, r/php, r/rails, r/ruby, r/webdev - там интересно почитать (и иногда ответить) на вопросы других людей, также авторы статей с небольших блогов, которые не попадают в Google now, делают анонсы и дают ссылки на свой контент.

Опыт работы

  • Ведущий мировой поставщик услуг по разработке программного обеспечения и цифровых платформ
    Санкт-Петербург · Более 5000 сотрудников
    Senior backend devepoler
    Август 2020 — По настоящее время (3 месяца)

    Работа в команде над проектом американского заказчика.
    11 разработчиков, 5 BA, 4 QA, 2 delivery managers

    Ruby on rails монолит с подключаемыми engines и частичным использованием react JS.

    Чем я занимаюсь:

    - разработка backend функциональности
    - написание тестов
    - написание сервисов
    - введение в работу паттернов проектирования (strategy, adapter, decorator, presenter, facade)
    - оптимизация производительности работы с БД
    - денормализация данных, устранение очевидных n+1,
    - проведение технических собеседований
    - общение с заказчиком на английском языке

  • Меняем рынок автобусных перевозок за счет использования современных технологий.
    Москва · От 10 до 100 сотрудников
    Бэкенд разработчик
    Январь 2020 — Июль 2020 (7 месяцев)

    Поступило предложение басфор/блаблакар - одного из главных конкурентов/партнеров моего позапрошлого места работы - avtovokzaly.ru; зная сложность предметной области и инженерных задач я конечно же согласился.

    В момент моего перехода сюда компания была куплена европейским стартапом BlaBlaCar

    https://busfor.ru/ https://busfor.ua/ https://busfor.pl/

    https://apps.apple.com/ru/app/busfor-%D0%B1%D0%B8%D0%BB%D0%B5%D1%82%D1%8B-%D0%BD%D0%B0-% https://play.google.com/store/apps/details?id=com.busfor.Busfor&hl=en_US

    - Более 150 000 уникальных посетителей в сутки по всем доменам. 

    В мои задачи входило:

    - Разработка API для мобильного приложения ios & android на react native (Rails + GRAPE) Разработка API для веб сайта и партнеров (Rails)

    - Разработка функциональности панели администраторов (ActiveAdmin)

    - Рефакторинг архитектуры запросов к внешним сервисам (esputnik, GDS, платежные системы) Оптимизация производительности (Postgesql: денормализация данных, правка SQL запросов, реорганиация и устранение n+1)

    - Доработка драйвера получения инвентаря (gillbus ruby gem)

    - Поиск и устранение ошибок на продакшн (rollbar)

    - Технический аудит и консалтинг проектов французских коллег (OIBUS - платформа по управлению перевозками во франции)

    К сожалению в связи с COVID-19 travel бизнес сильно пострадал и автобусы не стали исключением. Родительская организация, BlaBlaCar была вынуждена пересмотреть стратегию развития. В рамках пересмотра стратегии было принято решения закрыть Busfor как продукт и сократить команду, поэтому я покинул компанию. Поступило предложение присоединиться к EPAM и я согласился.

  • Мы имеем большой опыт работы на российском рынке web-разработки и сейчас мы выходим на американский и европейские рынки.
    Тверь · От 10 до 100 сотрудников
    Бэкенд разработчик
    Октябрь 2018 — Январь 2020 (1 год и 4 месяца)

    Ruby-On-Rails инженер команды бэкенда в лучшем digital-agency города.
    Для этой работы я изучил много нового, в частности новый для себя язык ruby, фреймворк rails. 

    Проекты

    https://apps.apple.com/ru/app/warhead-su/id1495630121?l=en
    Warhead.su:
    - блог-портал про войну от компании wargaming (world of tanks)
    REST API с нуля для мобильного приложения
    Работа в команде с разработчиком react-native, дизайнером, менеджером, backend (два человека) и frontend (два человека) разработчиками основного сайта. 
    Особенности:
    - swagger для доков
    - 30_000+ Уникальных посетителей в день на сайте, из них 54% - мобильные устройства
    - конфигурирование elasticsearch для полнотекстового поиска
    - аутентификация по токену. Регистрация/авторизация access-token Facebook/Twitter/vkontakte
    - привязка нескольких социальных сетей к одному аккаунту пользователя (мультиаккунт)
    - firebase dynamic links
    - Оптимизация производительности - уменьшение количества запросов к бд, денормализация данных elasticsearch, оптимизация медленных запросов
    - ruby 2.4
    - rails 5.1
    - MySQL 5.7 (innodb)
    - elasticsearch 5.6
    - Redis
    - sideqik
    - capistrano
    - nginx + puma

    ===
    Lyfeline:
    https://apps.apple.com/ru/app/lyfeline-adopt-habits-togeth/id1468272118?l=en
    REST API с нуля для мобильного приложения. Работал с разработчиком react native, двумя другими временами подключающимся бэкендерами (когда я уходил в отпуск) дизайнером и product owner (и менеджером, конечно)
    Делал весь backend, кроме пуш уведомлений Firebase Cloud Messaging, это сделали мои коллеги пока я был в отпуске.
    Из интересного:
    - дизайн и архитектура БД
    - архитектура гемификации и игровой логики
    - swagger для доков
    - даты, диапазоны и все с этим связанное
    - deep linking via firebase
    - oauth via google, Facebook + регистрация через email

    - ruby 2.6
    - rails 5.2
    - postgresql 9.6
    - capistrano 
    - puma
    - aws
    - firebase

    ===
    Swissly web:
    Стартап из Швейцарии - аналог 2гис. 
    Доработал фунционал админ панели, разработал логику платных подписок. 
    - ruby 2.4
    - rails 5.1
    - active admin
    - postgresql 9.6
    - capistrano 
    - puma

    ===
    -https://shtora.pro/
    Рефакторинг легаси api по обработке изображений (php slim)


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

  • Sgroup
    Тверь
    Фулстэк разработчик
    Ноябрь 2017 — Октябрь 2018 (1 год)

    Работа в Тверском дизайн агенстве по направлению веб-разработки. 

    Решил попробовать себя в новой роли и стал учавствовать в проекта не только как программист, но и как ПроджектМенеджер / БизнесАналитик. 

    Участвовал в создании и развитии большого количества разных проектов, один из крупнейших - 
    - pnevmat24.ru - e-commerce по продаже пневматического оружия с более 12_000 уникальных посетителей в день. 
    PHP 7.0 CMS Opencart, MySQL, Memcached 
    А также ряд проектов поменьше, например 
    - popadiv10.ru PHP 7.0 CMS Opencart, MySQL 
    - mylimerence.ru PHP 7.0 CMS Opencart, MySQL 
    и другие. 

    Эта деятельность позволила мне взглянуть на мир разработки с другой стороны - со стороны продукта, бизнеса и его нужд. 

    Завершив последний крупный проект, пришел к выводу, что совмещать менеджерские обязанности с работой программиста мне не по душе и требуется посвятить себя более узкой специализации. К тому же в агентстве недоставало сложных, интересных задач, т.к. веб являлся только одним из направлений деятельности компании. 

    Выложив резюме как PHP-программист я получил предложение от тверской компании salt&pepper изучить новый для себя язык и фреймворк (ruby on rails) и пойти работать туда в роли backend, а не fullstack, как я работал ранее, разработчика. Предложение мне понравилось и я согласился.

  • avtovokzaly.ru
    Тверь
    Php разработчик
    Декабрь 2015 — Август 2017 (1 год и 9 месяцев)

    Одно из основных и ценных мест в моем пути разработчика с точки зрения опыта. 

    avtovokzaly.ru - одна из крупнейших в СНГ площадок по размещению и онлайн продажам билетов на автобусы, сайт принимает около 100_000 - 150_000 уникальных посетителей в день. Основные конкуренты - busfor.ru, bus.tutu.ru, rasp.yandex.ru 

    Компания обладает уникальным духом стартапа, рабочую бизнес-модель и отличную команду высококлассных разработчиков. Все это дало мне возможность приобрести ценнейший навыки и знания. В свою очередь я был полностью вовлечён в продукт и процесс, имел прямо влияние на многие стороны сайта и бизнеса. 
    ------------------------------------------ 

    Работал по СКРАМу с 10 дневными спринтами. 

    У сайта есть три разных версии, я работал над всеми из них. 

    Большинство моих задач - бэкенд. Многие включали рефакторинг легаси кода, покрытие технического долга, дизайн БД и другое. 

    СТЭК: 
    - subversion 
    - redmine 
    - Javascript, JQuery, Bootstrap 3, html5, less 
    - BlaBla car Api, Google maps API, Yandex.maps API, Robokassa API 
    - ubuntu 
    - nginx 
    - mysql (основные базы) 
    - memcached (кэширование моделей, identity map) 
    - sphinx (полнотекстовый поиск населённых пунктов, остановок, компаний) 
    - php5.6 в самом начале, затем миграция на быстрый php7 
    - Zend Framework 1 в самом начале, затем миграция на Zend Framework 2 

    Я работал над: 

    1. avtovokzaly.ru - основная версия сайта. Миграция ZF1 - ZF2, починка багов, рефакторинг легаси, разработка новой функциональности, дизайн и администрирование БД 
    2. m.avtovokaly.ru - мобильная версия. Проектирование архитектуры, разработка новой функциональности, дизайн и администрирование БД 
    3. lk.avtovokzaly.ru - личный кабинет партнеров (владельцев автобуса), администраторов, модераторов. Миграция ZF1 - ZF2, проектирование архитектуры и дизайна, разработка новой функциональности, дизайн и администрирование БД, анализ юзабилити и ключевых метрик в вебвизоре. 

    Ушел из команды по семейным обстоятельствам.

  • Ritos
    Москва
    Фулстэк разработчик
    Июнь 2015 — Декабрь 2015 (7 месяцев)

    Моя первая работа в роли разработчика. Удаленно, работодатель из Москвы, общение в Skype. 

    Работал над личным кабинетом для МЛМ компаний. 
    Правил шаблоны, верстку, 70 % времени фронтэнд задачи. 
    Apache Velocity, HTML, CSS, JS, JQuery, Bootstrap. 

    Ушел из компании ввиду прекращения ее деятельности по данному направлению.

  • Крупная технологичная страховая компания, которая старается делать этот мир безопасным местом.
    Тверь · От 1000 до 5000 сотрудников
    Специалист технической поддержки
    Декабрь 2014 — Июнь 2015 (7 месяцев)

    Моя первая IT работа. 

    Специалист технической поддержки корпоративной ERP Oracle Siebel CRM в бэк офисе компании Ренисанс страхование. 

    Команда саппорта включала меня, еще двух специалистов и менеджера. 

    Я обрабатывал заявки пользователей системы в тикет трекере. Моя задача состояла в воссоздании багов, поиске решений, коммуникации с командой разработки. 

    Заявки обратывались в системе helpDesc, коммуникация, постановка задач, тестирование и прочее с командой бэкенда велось в Джире. 

    Это была интересная работа, но я с самого начала рассматривал ее только как этап на пути моей будущей карьеры разработчика ПО. 

    В свободное время я самостоятельно обучался навыкам, которые затем позволили мне найти первую работу непосредственно связанную с разработкой. Получил это предложение, я покинул компанию.

Высшее образование

  • ТвГУ

    Тверской государственный университет
    Прикладной математики и кибернетики
    Июль 2017 — По настоящее время (3 года и 3 месяца)