Обо мне

PHP Backend-developer. В поиске удаленной работы. Готов на постоянку и на проект.

Production проекты на фреймворках: Yii, Laravel, Symfony,  Slim, Kohana, CodeIgniter, Netcat.

PHP 5.2-7.3 (всегда держу руку на пульсе и готовлю приложения под современные и актуальные версии ПО)

БД: MySQL, PgSQL, Redis, ElasticSearch, MongoDB.

GIT, SVN, Mercurial.

IDE: PhpStorm.

DevOps: интеграция Docker для локальной разработки, CI& CD Teamcity, CircleCI, Bitbucket Pipelines.

Подготовка и внедрение регламентов разработки - CodeStyle, Git, принципов разработки и доставки релизов. Ведение покрывающей общей документации по технологиям, архитектуре, софту, серверам.

Настройка инфраструктуры проекта. Внедрение единого рабочего окружения для разработчиков.

Работаю с системами Trello, Pivotal, Jira, Redmine, Gitlab.

Иностранные языки:

Английский - High intermediate level

Испанский - базовый уровень, осваиваю.

Профессиональные навыки
Опыт работы
Частная практика, работа без зачисления в штат
TeamLead
Июнь 2017 — По настоящее время (2 года и 7 месяцев)

Разработка сайтов, сервисов, api c 0, разработка и развитие проектов уже собранных до различного этапа другими командами.

Последние проекты:

- сервис для получения банковских гарантий

- медицинский портал 

- сервис аренды жилья

- сервис продажи/аренды коммерческих помещений

Проекты запущены и работают.

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

Foodfox
Москва
PHP-разработчик
Октябрь 2017 — Февраль 2018 (5 месяцев)
  • Полностью переписал первую версию поиска (ElasticSearch) для сайта и приложений.  Итоги:
    • Убрал FOSElasticaBundle
    • Убрал оверхэда который привносила Doctrine за счет избыточности данных и кол-ва подтягиваемых связей, а так же гидрации
    • Увеличил скорость отдачи данных в несколько раз
    • Переписал схему полной реиндексации данных, что сократило время до 1 минуты против 30-40 минут.
    • Был убран downtime при полной реиндексации данных
    • Написан вспомогательный функционал для ручной работы
  • Поиск для версии 2
    • Перенос логики рассчета данных на сторону ElasticSearch
    • Полная переделка кодовой логики
    • Изменена выдача API
    • Все основные компоненты поиска стали покрыты тестами
    • Внедрены дополнительные алгоритмы сортировок и персонализации данных
  • Реализация гео-сервиса (Адреса, Геокодирование, обратное геокодирование через Яндекс, Google, Dadata) + клиенты для основного приложения
  • Переработаны и покрыта тестами расписание ресторанов
  • Переработаны и покрыты тестами методы  с поисковыми фильтрами
  • Внутренние разработки административной части
  • Формализация задач и декомпозия
  • CodeReview
  • Документация
    • Полностью были описаны схемы работы алгоритмов для поиска двух версий на уровне блок схем и зафиксированы основные моменты логики
    • Описана логика работы переиндексации и что происходит при релизной полной периндексации
    • Покрыты документацией части работы с rabbitmq, telegram, расписаний и других компонентов
    • собрана коллекция сниппетов и расшарена в документации для команды разработчиков и тестирования
  • Участие в митингах, сопровождение задач с командой тестирования

Стек:

  • PHP 7.1
    • Symfony 3.2
    • Doctrine
  • MySql
  • ElasticSearch 5 (FOSElasticaBundle -> elastic/elasticsearch-php)
  • RabbitMQ (RabbitMqBundle)

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

Атлас
Москва
Teamlead
Май 2016 — Июнь 2017 (1 год и 2 месяца)

atlasapp.ru

Должность без технического вышестоящего начальства.

Получил проект на руки сразу после запуска проекта.

Работу над проектом можно разделить на 3 больших этапа:

1 этап - изучение проекта и взаимодействие команд разработки:

- Внедрение codestyle

- Покрытие документацией бизнес-логик и сбор актуальных требований по работе системы и ее компонентов

- Внедрение и описание протокола обмена данными между командами разработки (мобильная команда, фронтенд, бэкенд)

- Формирование спринтов и формализация задач на понятный разработчикам язык

- Рефакторинг тормозящих работу системы компонентов

- Поиск и закрытие всех непубличных сервисов от внешнего доступа

2 этап - работа над серверное инфраструктурой проекта

- выделения бизнес-логик в отдельные сервисы (сервис нотификации, сервис работающие с рекламными площадками, лендинги)

- Автоматические тесты новых сервисов

- внедрение цикла Continuous Deployment в процесс разработки на основе TeamCity

- Инвентаризация серверов и ПО

- Интеграция рекламных площадок (CityAds, Admitad, ActionPay, HasOffers)

- Интеграция API и парсинг данных мобильного оператора

- Разработка административной части

3 этап - разработка платформы

- разработка новой платформы для работы с рекламодателями, рекламными компаниями (CityAds, Admitad, ActionPay, HasOffers), пользователями системы

- сведение всех данных в единую, документированную схему

- введение полного лога всех поступающих данных и действий

- формирование отчетов

- внедрение нескольких уровней безопасности для работы с не доверенными данными

- системы защиты от ошибочных действий со стороны партнерских систем (например выплат)

- автоматические проверки работоспособности данных от рекламодателей

- перегон всех накопленных данных

- бесшовный переход на новую версию

Все этапы были закончены, разработки бесшовно внедрены, функционал задокументирован.

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

Сбербанк-АСТ
Москва
Ведущий Разработчик
Май 2015 — Май 2016 (1 год и 1 месяц)

Разработка сервиса angry.io

- Разработка двух версий REST API сервиса

- Интеграция CD

- Планирование и оценка сроков

- Документирование

- Тесты

- Разработка сопутствующих основному сервису продуктов

Rutube.ru
Москва
Ведущий программист
Июнь 2014 — Май 2015 (1 год)

Обязанности:

- Разработка системы статистики для плееров НТВ Плюс, Rutube, Now.ru и мобильных приложений

- Разработка внутренних сервисов

- Разработка публичного клиента для работы с API Rutube

Blamper
Москва
Веб-разработчик
Май 2013 — Апрель 2014 (1 год)

Обязанности:

- Разработка компонентов социальной сети (Система разграничение прав доступа, генераторы лент, рекомендательная система, реализация виджетов, ... )

- Разработка функционала основанных на websocket-решениях (сообщения, оповещения, формировования лент)

- Разработка функционала почтовых рассылок

- Разработка API для frontend'a

- Разработка и интеграция системы деплоя

- Разработка системы хранения файлов

- Демонизация обработчиков очередей

- Работа с отложенными задачами

- Взаимодействие и постановка задач системным администраторам

- Мониторинг работы компонентов системы

Достижения:

- Внедрил Continius Integration на основе teamcity + phing

- Внедрил виртуальные окружения идентичных боевому

- Внедрение регламентов и практики командной работы с git через git-flow

- Внедрил code-style PSR-2

- Внедрил web-socket сервер на основе tornado + sockjs

- Во время отсутствия технического директора назначался ответственным

Happlink
Москва
Веб-разработчик
Сентябрь 2012 — Май 2013 (9 месяцев)

Обязанности:

- разработка API

- реализация взаимодействия основного сайта с API как отдельного клиента

- поддержка мобильных клиентов

- разработка административной части

- участвовал в обсуждении архитектурных решений и других вопросов команды

Полный комплекс услуг для web-проектов любого уровня и любой стадии готовности
Программист.
Январь 2009 — Апрель 2012 (3 года и 4 месяца)

Обязанности:

- Разработка новых кроектов.

- Поддержка и доработка боевых проектов.

ГУ МО АИС "Подмосковье"
Москва
программист
Январь 2009 — Сентябрь 2011 (2 года и 9 месяцев)

Обязанности:

- Разработка сайтов

- Поддержка сайтов

Высшее образование
Российский государственный университет туризма и сервиса; ВШПК, ВШПМ, МТИ, ГАСБУ; МГУС
Черкизово дп, пгт
Факультет: Институт информационных систем
Июнь 2006—По настоящее время (13 лет и 6 месяцев)
Факультет: Институт информационных систем
Январь 2006—Январь 2011 (5 лет)