Обо мне

В коммерческих проектах имею следующий опыт:

  • PHP 5.3-7.4, Zend Framework 1-3, PhpUnit
  • MySQL
  • ElasticSearch
  • JavaScript (jQuery 1-3, Vue.js 2)
  • Node.js (WebSockets, webpack)

Осваиваю:

  • Покрытие JavaScript кода тестами (karma, chai, mocha, etc)
  • Docker, связывание контейнеров через docker-compose (в качестве среды для локального развертывания проектов, запуска тестов)
  • Codeception, для написания функциональных и интеграционных тестов

В личных проектах:

  • На бекенде Symfony с Doctrine
  • На фронтенде TypeScript в связке с Vue.js 2 (cli, router, i18n, apollo, composition-api)
  • GraphQL для взаимодействия между клиентом и сервером
  • PostgreSQL
  • Очереди сообщений

Symfony, Laravel, Yii, Phalcon - фреймворки с которыми я с удовольствием готов продолжить своё знакомство в коммерческой разработке.

  • Бережно отношусь к форматированию кода, считаю что в проекте должны использоваться общепринятые стандарты форматирования, git хуки с php-cs-fixer, eslint и другими инструментами анализа кода.
  • Стремлюсь писать поддающийся тестированию код, использую phpunit, знаком с отладкой через xdebug.
  • Предпочитаю использовать строгий режим и типизацию, стандарты и интерфейсы PSR.
  • Миграции вместо ручного выполнения запросов на сервере
  • Считаю что жизнь активно развивающегося проекта невозможна без менеджера пакетов (composer, npm) и сборщика статики (webpack)
Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
СмартАгент
Москва
Март 2016 — По настоящее время (4 года и 2 месяца)

Проектирование и разработка проекта связанного со звонками по WebRTC через Asterisk.

  • Написан на php 7, использует строгую типизацию, dependency injection, базируется на компонентах Zend Framework 3
  • Для коммуникации в реальном времени активно используются веб сокеты, реализованные на Node.js.
  • За рендеринг страниц на клиенте отвечает фреймворк Vue.js 2, используется CSS фреймворк Bootstrap 4.
  • Было спроектировано и разработано браузерное расширение для совершения звонков через WebRTC.
  • Другие используемые технологии: mysql, memcached, elasticsearch

Достижения:

  • Первый опыт проектирования архитектуры проекта с нуля на базе Zend Framework и Vue.js
Ноябрь 2014 — Октябрь 2019 (5 лет)

Участие в проекте для риэлторов, который содержит 3 миллиона актуальных объявлений по всем регионам России.

Основа сайта - доска объявлений, имеет функционал поиска объектов недвижимости по множеству параметров который реализован на Elasticsearch.

В качестве фреймворка используется Zend Framework 1, на фронтенде постепенно внедряется Vue.js 2

После прихода в проект работал над внедрением нового функционала, новых инструментов и практик, поддержкой legacy кода

Чего удалось достичь:

  • Внедрено управление пакетами через composer, npm
  • Выполнен постепенный переход на сборку фронтенда через Webpack
  • Добавлены миграции для баз данных, Dependency injection
  • С первого дня работы над проектом постепенным рефакторингом был пройден путь от php 5.3 до 7.1
  • Постепенно начато внедрение строгой типизации
  • Интегрирована автоматическая проверка и исправление code style через php-cs-fixer, eslint
  • Получен опыт проектирования компонентов с учётом написания под них unit тестов
Веб разработчик (Удалённая работа)
Январь 2012 — Октябрь 2014 (2 года и 10 месяцев)

Можно разделить на два этапа

  1. Участие в проектах на базе Zend Framework 1, по большей части требовалось создать новый функционал, доработать имеющийся.

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

Чего удалось достичь:

  • Первый опыт работы с проектом без фреймворка и практически без сторонних библиотек
  • Постепенно внедрен Composer и Bower для управления зависимостями, добавлены Doctrine DBAL, PHPUnit
  • Написаны первые unit тесты
  • Вместе с внедрением нового функционала, имевшаяся кодовая база так же подвергалась улучшениям, например внедрялось пространство имён, автозагрузка классов.