Рябков Николай

Senior PHP Developer

Старший инженер-программист с более чем 6-летним профессиональным опытом коммерческой разработки веб-приложений с применением таких инструментов программирования, как Symfony, PHP, MySQL, JavaScript (ES6), jQuery, Bootstrap, HTML/CSS, также 13-летним опытом программирования в области промышленной автоматизации, включая опасные производства.

Акцент на продуманную архитектуру, качественный, стабильный и понятный код.
Направленная работа по снижению технического долга.

В настоящее время работаю PHP-разработчиком в компании МТС Линк.

Профессиональный опыт

МТС Линк mts-link.ru ООО "Вебинар Технологии"

Удаленная работа
Senior PHP Developer
март 2023 - настоящее время

Стек технологий
Symfony, PHP, MySQL, RabbitMQ
PHPUnit, Codeception, XDebug, Docker, Graylog

Принципы и методологии проектирования
SOLID, DRY, KISS, паттерны проектирования

Архитектурные подходы
чистая архитектура

Обязанности
Занимаюсь развитием бэкенда одного из продуктов компании на базе фреймворка Symfony.
Решаю задачи по интеграции со сторонними сервисами.
Расширяю существующий UserAPI.
Разрабатываю модульные и интеграционные тесты.
Использую Docker и XDebug для локальной разработки.
Участвую в работе по снижению технического долга.
Провожу код-ревью других разработчиков.

Sibers sibers.com ООО "Группа Сайберс"

Новосибирск
Senior PHP Developer
март 2020 - март 2023

Middle PHP Developer
ноябрь 2017 - март 2020

Стек технологий
Symfony, PHP, MySQL, ClickHouse
JavaScript (ES6), jQuery, Bootstrap, HTML/CSS
PHPUnit, XDebug, Docker, Git, LEMP/LAMP

Принципы и методологии проектирования
SOLID, DRY, KISS, TDD, DDD, паттерны проектирования

Архитектурные подходы
MVC, CQRS, гексагональная архитектура

Обязанности
Занимался разработкой веб-приложений на базе фреймворка Symfony, включая фронтенд.
Проектировал архитектуру приложения и базы данных.
Решал задачи по интеграции со сторонними сервисами (Amazon S3, Stripe, PayPal, Google Maps API).
Разрабатывал модульные и интеграционные тесты.
Использовал Docker и XDebug для локальной разработки.
Выполнял рефакторинг, выявлял узкие места, оптимизировал код и запросы к базе данных для существующих веб-приложений.
Поддерживал и развивал несколько легаси-проектов на старых версиях Symfony и Zend Framework.
Участвовал в оценке трудозатрат для новых проектов.
Проводил код-ревью других разработчиков.

Достижения
Разработал новую концепцию и руковожу командой (2 человека в подчинении) по реинжинирингу программной части большого технически сложного проекта Big Data (11 серверов извлечения данных, 4 сервера хранения данных, 1 сервер файлового хранилища, команда из 13 человек, проект был начат в 2014 г.). В рамках этой работы осуществляется переход к гексагональной архитектуре проекта с применением принципа CQRS, внедрение методологий Test-Driven Development и Domain-Driven Design, миграция на СУБД ClickHouse.
Успешно прошел внутреннюю аттестацию по теме "Машинное обучение: Виды, применение, инструменты, решения для PHP" в 2021 г.
Успешно прошел внутреннюю аттестацию по теме "Docker: разработка, непрерывная интеграция и развертывание ПО" в 2019 г.

СИНЕТИК sinetic.ru АО "СИНЕТИК"

Новосибирск
Инженер-программист
1-й категории
ноябрь 2004 - ноябрь 2017

Стек технологий
Simatic PCS7, CFC/SFC, Step7 (SCL, STL)
SCADA система WinCC (C, VBA)
Oracle VM VirtualBox

Обязанности
Разрабатывал и внедрял программные продукты для автоматизированных систем управления технологическими процессами (АСУТП) на базе промышленных контроллеров Simatic S7-300/400, станций визуализаций и операторских панелей Siemens.
Сопровождал программные продукты на всех этапах их жизненного цикла – получение исходных данных от заказчика, разработка и согласование технического задания, программирование и отладка, документирование, участие в пусконаладочных работах на объекте, гарантийное и послегарантийное обслуживание.
Проводил аудит проектов, выполняемых другими программистами компании.

Достижения
Разработал и сопровождал две программные библиотеки компании – SINCHEM для химической промышленности и коммуникационную SINCOMM.
Периодически проводил учебные курсы по программированию в учебном центре компании, разработал учебные пособия для базового и углубленного курсов по системе управления технологическими процессами Simatic PCS7.
Руководил группой программистов (4 человека в подчинении) во время работы над крупным проектом АСУТП рельсобалочного цеха производства 100-метровых рельсов для компании Евраз в 2012 г.
Успешно участвовал в сертификации компании по программе Siemens PCS7 Solution Partner в 2009 г. (Москва) и в 2008 г. (Карлсруэ, Германия).

Ключевые навыки

Эксперт

Symfony PHP MySQL Doctrine ORM Doctrine DBAL

Продвинутый

ООП паттерны проектирования DDD TDD PHPUnit XDebug SSH Git Docker Linux (работа с терминалом) Bootstrap HTML/CSS JavaScript, jQuery, ES6 Scrum

Опытный

Apache Nginx + PHP-FPM RabbitMQ Jenkins CI/CD Amazon (EC2, RDS, S3) ClickHouse Wireshark mitmproxy Genymotion Android Emulator

Базовый

API Platform React.js webpack

Портфолио

Основная работа
Реинжиниринг проекта Big Data Collecting And Reporting System
NDA
Описание
Переход к гексагональной архитектуре проекта с применением принципа CQRS, внедрение методологий Test-Driven Development и Domain-Driven Design, миграция на СУБД ClickHouse.
Стек технологий
Symfony 6.2, PHP 8.2, MySQL 8.0, PostgreSQL 14.1, ClickHouse 22.1, PHPUnit, Docker.
Обязанности
Разработка и развитие архитектуры нового проекта, поддержание его концептуальной целостности, создание ключевых компонентов системы, координация работы команды по реализации вспомогательных компонентов.


Big Data Collecting And Reporting System
NDA
Описание
Извлечение данных из веб-страниц и API сайтов и мобильных приложений. Накопление полученных данных и формирование агрегирующих отчетов для принятия бизнесом решений на основе анализа ценовой политики, количества продаж, трендов. Портфолио Сайберс.
Стек технологий
Symfony 2.8, PHP 7.2, MySQL 8.0, Google Maps API, Google Translate API, прокси-сервисы Webshare, BrightData и пр., Amazon (EC2, RDS, S3).
Обязанности
Анализ источника данных для интересующего ресурса (веб-сайт, мобильное приложение). Формирование стратегии извлечения данных (подбор HTTP-заголовков, куков, оптимальных прокси). Взлом мобильных приложений, обход SSL-пиннинга, перехват HTTPs-трафика. Реализация алгоритма скрапинга.


CROO
Описание
Приложение для помощников режиссеров, которые снимают рекламные ролики, телевизионные передачи и полнометражные фильмы. Позволяет выбрать локацию, актеров, реквизит, добавить картинки, график съемки, выгрузить итоговое расписание съемки и различные отчеты в PDF. Пример работы с приложением.
Стек технологий
Symfony 3.4, PHP 7.1, MySQL 5.7, TCPDF library 6.2, Stripe API 6.5, RabbitMQ 3.5, jQuery, Bootstrap, HTML/CSS.
Обязанности
Разработка приложения с нуля в команде из 2 человек, бэкенд + фронтенд. Развитие проекта - добавление новых возможностей, устранение багов.


PollenTree
Описание
Социальная сеть для людей, планирующих ЭКО, совместное воспитание детей, донорство и усыновление. Включает в себя управление профилями, поиск по различным критериям, подбор партнера, обмен сообщениями, дневник фертильности, планирование встреч. Легаси-проект.
Стек технологий
Zend Framework 1.12, PHP 5.3, MariaDB 10.1, PayPal Core SDK 2.4, PayPal Merchant SDK 3.6, Zend Search Lucene, jQuery, HTML/CSS.
Обязанности
Поддержка и добавление новых возможностей - изменение способа идентификации пользователей, рефакторинг фоновых задач по рассылке писем и обновлению полнотекстового индекса, добавление в панель администратора двухфакторной аутентификации через Google Authenticator. Устранение багов.


BVP Online Investor Reporting System
Описание
Система управления отчётами для проекта по привлечению инвестиций в "зеленую" энергетику. Создание инвестиционных фондов, добавление финансовых документов. Подготовка и заполнение онлайн-отчётов о деятельности фонда, экспорт отчетов в PDF и DOCX, система напоминаний. Легаси-проект.
Стек технологий
Symfony 1.4, PHP 5.6, MariaDB 10.4, PHPWord 0.15, dompdf 0.8, Docker.
Обязанности
Поддержка и добавление новых возможностей, в том числе основной на данный момент функции по работе с онлайн-отчётами. Устранение багов.


xScores
Описание
Веб-сайт и мобильное приложение с онлайн-результатами, историей, статистикой, таблицами лиг и списками матчей для 6 видов спорта: футбола, тенниса, хоккея, баскетбола, американского футбола и бейсбола. Портфолио Сайберс.
Стек технологий
PHP 5.6, MySQL 5.7, Firebase Cloud Messaging, Docker.
Обязанности
Модернизация существующей системы уведомлений - связующего звена между Java-бэкендом и Android-приложением. Рефакторинг PHP-демонов, получающих данные от бэкенда. Добавление новых конечных точек API для мобильного приложения.

Pet-проекты и фриланс
Регистратор захоронений
Описание
Веб-приложение для администрации кладбища. Регистрация и учет новых захоронений, статистика, формирование справок и выписок, карта кладбища. Интеграция с мобильным приложением для инвентаризации существующих захоронений. Разработка проекта приостановлена.
Стек технологий
Symfony 6.0, PHP 8.1, MySQL 8.0, JavaScript (ES6), Bootstrap, jQuery, PHPUnit, Docker.
Обязанности
Разработка веб-приложения на основе гексагональной архитектуры. Применение принципов CQRS, TDD и DDD. Реализация пользовательского интерфейса. Проектирование API для мобильного приложения. Разработка модульных и интеграционных тестов.


Описание
Веб-приложение для учета личных финансов: счета, категории, доходы, расходы, переводы между счетами, долги, контроль средств других людей на своих счетах, статистика. Минималистичный дизайн.
Стек технологий
Symfony 4.4, PHP 7.2, Webpack Encore, Vanilla JS, HTML/CSS, Docker.
Обязанности
Разработка веб-приложения, расширение возможностей по мере необходимости.


Сайт фермы "Сибирский ковчег"
Описание
Сайт-визитка с информацией о ферме, ценами, фотогалереей и интерактивной картой проезда. Для маршрутизации и рендеринга на стороне сервера используется фреймворк Symfony, для управления ресурсами - Webpack Encore. CMS не предусмотрена заданием, поэтому СУБД в проекте отсутствует.
Стек технологий
Symfony 3.4, PHP 7.2, API Яндекс.Карт, Webpack Encore, Mobile first, PhotoSwipe, jQuery, HTML/CSS.
Обязанности
Разработка сайта, включая структуру и дизайн. Поддержка и сопровождение до момента закрытия фермы.


Schnupperkurs
Описание
Веб-приложение для поиска и записи на спортивные и фитнес-курсы. Состоит из основного сайта и админки, реализованных на базе WordPress. Легаси-проект с Upwork.
Стек технологий
WordPress 5.6, PHP 7.4, MySQL 5.7, jQuery, HTML/CSS.
Обязанности
Множественные исправления пользовательского интерфейса, добавление новых функций. Оптимизация кода и запросов к базе данных.

Образование

Новосибирский государственный технический университет (НГТУ)
Факультет автоматики и вычислительной техники (АВТФ)
Специальность: автоматизация и управление в технических системах
1999 - 2005
Магистр техники и технологий (диплом с отличием)

Дополнительная информация

Увлечения

Программирование, искусственный интеллект, нейрофизиология, тренажерный зал

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

Английский - Intermediate (B1)

Тип личности в типологии MBTI

ESTJ

Переезд, командировки

Не готов к переезду и командировкам