Andrei Sento — Backend Developer
👋 О себе
Backend-разработчик, работаю с PHP/Laravel с 2014 года. Специализируюсь на разработке REST API, проектировании архитектуры и создании надежных backend-систем.
Работал над проектами разного масштаба — от стартапов до CMS для 50+ сайтов министерств Московской области. Прошел путь от фриланса до работы в российских и международных командах, включая проекты с англоязычными заказчиками.
Активно участвовал в сообществе Laravel Rus (2015-2019, ник ATehnix) — помогал участникам, модерировал чаты, создавал и передавал сообществу open-source проекты. Подробнее →
Имею неоконченное высшее образование по специальности "Веб-разработка" (МТИ "ВТУ", 2011). Подробнее →
Ключевые компетенции:
- Разработка REST API и проектирование архитектуры приложений
- Покрытие кода автотестами (PhpUnit) — опыт 100% покрытия backend
- Работа с базами данных (MySQL, PostgreSQL, Redis)
- DevOps практики (Docker, CI/CD, GitLab)
- Следование PSR стандартам и best practices
- Полный цикл разработки от архитектуры до production
Текущий статус: Открыт к интересным backend-проектам на PHP/Laravel. Также изучаю Python и AI-инструменты для разработки.
💼 Опыт работы
О компании: IT-компания, разработка веб-приложений и системная интеграция.
Ключевые проекты и достижения:
CMS для сайтов министерств Московской области
- Поддерживал и развивал движок Mosreg CMS, на котором работали более 50 сайтов министерств Московской области
- Разрабатывал новые модули в CMS (бэкенд, админка, пользовательская часть) для удобства редакторов и пользователей: формы, блоки контента, управление правами
- Поддерживал интеграции с внешними сервисами: полнотекстовый поиск, сбор обращений граждан, баг-трекинг
- Создавал кастомные динамические формы с генерацией полей на основе конфигурации из БД
- Покрывал ключевой функционал автотестами на PhpUnit, обновлял legacy-модули под PSR стандарты
- Планировал и проводил обновления CMS с деплоем на множество серверов (в полуавтоматическом режиме)
Туристический портал Mosreg Tourism
- Разрабатывал функционал личных кабинетов, системы достижений и туристического калькулятора
Сайт контрольно-счетной палаты МО
- Разработал кастомный функционал для сайта "КСП МО" на базе Mosreg CMS
- Сделал систему миграции контента со старого движка на новый
Внутренние сервисы компании
- Участвовал в разработке и поддержке внутренних сервисов (детали под NDA)
- Помогал техлиду проектировать и оптимизировать архитектуру проектов и внутренних сервисов
- Настраивал CI/CD процессы в GitLab
Прочий вклад:
- Когда требовалось, участвовал во фронтенд-разработке на Vue.js и Nuxt.js
- Решал текущие проблемы в ежедневном режиме: исправлял баги, восстанавливал работу после внештатных ситуаций
- Дорабатывал функционал проектов с учетом обратной связи от пользователей и заказчиков
- Восстанавливал системы в случае неудачного обновления
Стек: PHP, Laravel, MySQL, Redis, Vue.js, Nuxt.js, Docker, PhpUnit, GitLab CI/CD
Подробнее →
Спроектировал и разработал с нуля онлайн-сервис по поиску вакансий и резюме (аналог HH.ru для Карелии). Прошел полный цикл: от проработки архитектуры до пред-релизного состояния.
Ключевые достижения:
- Организовал весь технический стек: Laravel для бэкенд-API, NuxtJS для фронтенда (пользовательская и админская части), контейнеризация (Docker) и автоматизация CI/CD (GitLab CI)
- Покрыл бэкенд автотестами на 100%. Написал подробную документацию по API и процессам проекта
- Настроил автоматический деплой с обновлением на production. Это ускорило релизы и минимизировало ручные ошибки
- Совмещал роли архитектора, разработчика, тестировщика и DevOps. На ключевых этапах координировал работу фронтендеров
Стек: PHP, Laravel, MySQL, Vue.js, Nuxt.js, Docker, PhpUnit, GitLab CI/CD
Подробнее →
Разработка веб-приложений для российских и американских клиентов. Первый опыт работы в международной команде.
Как попал в компанию: Благодаря активному участию в сообществе Laravel Rus — один из участников, который работал в компании, порекомендовал меня. Это был первый опыт, когда нетворкинг в профессиональном сообществе привел к реальной работе.
Ключевые проекты:
Handmademart.net — интернет-магазин товаров для творчества
- Делал микросервис для конвертации валют с интеграцией в основной движок магазина
- Интересная задача: использовать несколько взаимозаменяемых источников курсов валют — каждый со своим форматом данных
- Занимался покрытием тестами большой кодовой базы — проект был уже довольно зрелым, и нужно было обеспечить стабильность при дальнейшей разработке
Wendy Williams App — мобильное приложение (США)
- Работал над backend и REST API для мобильного приложения американского рынка
- Первый опыт работы с международной командой — взаимодействовал с русскоязычными коллегами напрямую, а с англоязычными через техническую документацию и спецификации API
- Поддерживал и развивал API, работая с англоязычной документацией. Хорошая практика для улучшения технического английского
Стек: PHP, Laravel, MySQL, PostgreSQL, PhpUnit
Подробнее →
Ранний опыт Backend разработки (2014-2016)
Прочее
🚀 Ключевые личные проекты
Inboxly - Open-source агрегатор RSS/Atom фидов
Pet-проект, созданный в 2021 году как альтернатива Feedly. Позволяет подписываться на контент с любых сайтов и читать все в одном месте.
Архитектура:
Спроектирован как система из трех независимых компонентов, которые можно разрабатывать и переписывать независимо друг от друга при соблюдении API-спецификации:
- App (GitHub) — кроссплатформенное клиентское приложение на Quasar/Vue.js/Electron для веба, десктопа и мобильных устройств
- Server (GitHub) — backend API на Laravel, управляет подписками, хранит контент, взаимодействует с Receiver
- Receiver (GitHub) — Composer-библиотека для парсинга RSS/Atom с возможностью регистрации кастомных правил парсинга
Интересные технические решения:
- Независимые компоненты, взаимодействующие через API-спецификацию
- Кроссплатформенность (веб, десктоп, мобильные) из одной кодовой базы
- Расширяемая система парсинга с возможностью регистрации собственных правил
- SQLite для простоты развертывания разработки, MySQL для production
Стек: Laravel, PHP, Quasar, Vue.js, Electron, MySQL/SQLite, Docker, PhpUnit, Composer
Статус: Архивный (разработка приостановлена из-за нехватки времени и снижения популярности RSS/Atom)
Подробнее →
Open-source Laravel-пакет для автоматизации работы с VK API через систему очередей. Создан для проектов с большим количеством взаимосвязанных запросов к ВКонтакте.
Решаемые задачи:
- Защита от rate-limits: Автоматическая группировка запросов в execute-запросы (по 25 штук) для ускорения выполнения и снижения вероятности превышения лимитов VK
- Фоновое выполнение: Все запросы выполняются через очереди Laravel, не блокируя основное приложение
- Динамические цепочки: Построение цепочек запросов любой сложности через систему событий — на каждый ответ от API генерируется событие, в обработчике которого можно добавить новые запросы
Ключевые возможности:
- Параллельная обработка множества запросов
- Система тегов и контекста для удобной обработки ответов
- Построение сложных цепочек: получить группы → для каждой получить участников → каждого добавить в друзья
Применение: Использовался в проекте WantUs и нескольких других проектах для массовой работы с VK API.
Стек: Laravel, PHP, VK API
Статус: Архивный
Подробнее → | GitHub
WantUs - Мониторинг сообщений в VK сообществах
Сервис для круглосуточного мониторинга новых сообщений на страницах сообществ ВКонтакте с фильтрацией по ключевым словам.
Бизнес-задача: Помочь бизнесу находить среди целевой аудитории в релевантных сообществах конкретных людей, которым прямо сейчас нужны товары или услуги, которые может предоставить бизнес.
Применение:
- Предложение товара или услуги конкретному пользователю
- Более качественная настройка рекламных кампаний на четко обозначенную целевую аудиторию
Технические решения:
- Интеграция с VK API для мониторинга сообществ
- Система фильтрации и агрегации сообщений по ключевым словам
- Использование Laravel_Vk_Requester для работы с API
Стек: PHP, Laravel, Blade, HTML, CSS, Bootstrap, JavaScript, REST API
Подробнее →
Другие проекты
- SpyLance — агрегатор заказов с фриланс-бирж (продан в 2014-2015)
- Content_Store — сервис для сохранения контента из интернета (в разработке)
- Vk_Client — PHP-клиент для VK API (архивный)
- Php_Client — набор API-клиентов для домашней инфраструктуры (активный)
- UniParser — веб-приложение для разработки парсеров (2014)
- Laravel_Stubs — пакет для настройки stub-файлов Laravel (архивный)
- CMF — Content Management Framework (экспериментальный)
- Micro-framework_La — минимальный PHP-фреймворк (экспериментальный)
- PhpIL — библиотека для работы с изображениями (не завершен)
- Awesome_Laravel_Rus — коллекция ссылок на русскоязычные ресурсы по Laravel
🛠 Технологический стек
💻 Backend
PHP (с 2013 года, сейчас 8.4)
Основной язык для всех backend-проектов. Уверенно работаю с современными возможностями языка и следую лучшим практикам разработки.
Ключевые компетенции:
- Современные возможности PHP: типизация, атрибуты, использование возможностей актуальных версий языка
- ООП и паттерны: объектно-ориентированное программирование, применение паттернов проектирования в реальных проектах
- PSR стандарты: следование стандартам PSR-12
- Composer: управление зависимостями, создание собственных пакетов
- Тестирование: PhpUnit для автотестов, опыт покрытия проектов тестами
Подробнее →
Laravel (с 2014 года, сейчас 12.x)
Основной фреймворк и ключевая профессиональная компетенция. Глубокое знание от базовых принципов до внутреннего устройства фреймворка.
Опыт работы:
- Проектирование и разработка production-систем любой сложности — от быстрых MVP до крупных проектов с продуманной архитектурой
- Опыт работы с проектами разной сложности, сложными интеграциями
- Понимание, когда Laravel достаточно "из коробки", а когда требуется выстраивать собственную архитектуру поверх фреймворка
- Активное участие в сообществе LaravelRus — помощь разработчикам, обсуждение best practices
- Постоянное следование за развитием фреймворка и экосистемы
Подробнее →
🎨 Frontend (по необходимости)
VueJS (с 2016 года)
Использую эпизодически для фронтенд-разработки. Не специалист во фронтенде, но могу собрать работающее приложение. Работал с Vue 2 и Vue 3, использовал Options API и Composition API.
Ключевые компетенции:
- Создание компонентов и работа с реактивностью
- Работа с Vue Router для маршрутизации
- Использование Vuex и Pinia для управления состоянием
- Интеграция с backend API
- Работа в экосистеме Vue (Nuxt, Quasar)
Применение:
Подробнее →
NuxtJS (с 2018 года)
Удобная обертка для структурированных SPA на Vue.js. Работал с Nuxt 2 и Nuxt 3. Экспериментировал с SSR, но в реальных проектах использовал в основном как удобную обертку для SPA.
Ключевые компетенции:
- Настройка структуры Nuxt-проекта
- Работа с роутингом и layouts
- Настройка middleware
- Интеграция с backend API через API Proxy
- Использование Nuxt-модулей
Применение:
Подробнее →
Quasar (с 2021 года)
Фреймворк для создания кроссплатформенных приложений из одной кодовой базы. Работал с Electron для десктопных версий. Готовые компоненты и решения для типичных фронтенд-задач сильно ускоряют разработку.
Ключевые компетенции:
- Настройка Quasar-проекта через Quasar CLI
- Использование готовых компонентов Quasar для UI
- Сборка приложений для разных платформ (web, desktop через Electron, mobile)
- Работа с кроссплатформенной архитектурой
- Интеграция с backend API
Применение:
Подробнее →
🗄️ Базы данных
MySQL/MariaDB (с 2012 года)
Основная реляционная база данных для большинства проектов. Уверенное владение.
Контекст использования:
- Применялась во всех рабочих проектах
- В большинстве pet-проектов выбирал MySQL как основную реляционную БД
- Выбирал как "средний" оптимальный вариант БД
Применение:
Подробнее →
Альтернатива MySQL для специфичных задач. Базовый уровень владения.
Контекст использования:
- Когда MySQL не хватало для более эффективной работы (производительность, расширенная поддержка типов данных)
- Использовал JSON/JSONB-поля для хранения структурированных данных
- Использовал полнотекстовый поиск
- Опыт не большой, чаще работал с MySQL
Применение:
Подробнее →
Redis (с 2015 года)
Драйвер для кэша, сессий и очередей в Laravel. Базовый уровень владения (только через Laravel).
Контекст использования:
- В качестве драйвера для хранения кэша, сессий и очередей
- Код для прямого взаимодействия с Redis не писал
- Применял только в Laravel в качестве "драйвера"
Применение:
Подробнее →
Для testing окружений и прототипирования.
Контекст использования:
- Testing окружения: in-memory SQLite в PHPUnit-тестах (частая практика для Laravel-проектов)
- Прототипирование: когда нужно быстро проверить идею без настройки сервера
- Более примитивная типизация полей, но для простых случаев использования это не проблема
Применение: Многие рабочие и личные проекты для тестов
Подробнее →
⚙️ DevOps и инструменты
Docker (с 2017 года)
Контейнеризация приложений и сервисов. Уверенное владение.
Ключевые компетенции:
- Работа с образами и контейнерами
- Docker Compose для управления сервисами
- Настройка dev-окружений и production-деплоя
Контекст использования:
- Для dev-окружений и production
- Работа с готовыми образами и их доработка
- Docker Compose практически всегда
- Не работал с docker swarm и kubernetes
Применение:
Подробнее →
Git (с 2014 года)
Основная система контроля версий. Уверенное владение.
Контекст использования:
- В каждом проекте — и рабочих, и личных
- Работа через командную строку и GUI-клиенты
- Опыт работы в командах
- Feature branches с pull/merge requests
- Простое ветвление для фич и багфиксов
Применение: Все рабочие и личные проекты
Подробнее →
GitLab (с 2015 года)
Контроль версий, совместная разработка, CI/CD, хранение контейнеров. Уверенное владение.
Ключевые компетенции:
- Контроль версий кода и совместная разработка
- Хранение Docker-контейнеров в Registry
- Планирование задач через Issues
- CI/CD: запуск тестов и линтеров, сборка Docker-образов, деплой приложений
Контекст использования:
- Основной инструмент для работы с кодом в компаниях
- Использовал как для личных нужд, так и в рабочих проектах
- Работал с code review через merge requests
- Управление правами доступа
- Настройка pipeline для автоматизации
Применение:
Подробнее →
Тестирование PHP-кода. Уверенное владение.
Ключевые компетенции:
- Unit, feature и integration тесты
- Опыт 100% покрытия backend тестами
- Считаю, что все более-менее крупные проекты должны покрываться тестами
Контекст использования:
- Рабочие проекты: полное покрытие ключевого функционала
- Личные проекты: менее строгие требования на начальных этапах, но при переходе в стадию полноценной разработки тестирование обязательно
Применение:
Подробнее →
Прочее
- Composer — Управление зависимостями PHP-проектов и создание собственных пакетов
- Shell — работа с bash для автоматизации задач, администрирования серверов, написания скриптов
- Nginx — настройка веб-сервера для production и dev-окружений
- Nginx_Proxy_Manager — веб-интерфейс для управления Nginx reverse proxy в домашней сети
- Redmine — система управления проектами и задачами (использовал в Morizo)
📋 Методологии и практики
Проектирование и разработка backend API, интеграция со сторонними сервисами. Уверенное владение.
Ключевые принципы:
- Правильные HTTP методы и статус-коды
- Нормальный нейминг эндпоинтов
- Версионирование, stateless, кеширование
- Аутентификация (токены, OAuth, JWT)
- Пагинация, фильтрация и сортировка
- Rate limiting, валидация, обработка ошибок
Документирование:
- Ранние проекты: Postman (коллекции запросов и документация)
- Поздние проекты: OpenAPI (Swagger) для автогенерации документации и валидации
Контекст использования:
- Разработка backend API для собственных проектов
- Интеграция с внешними API сервисов
- Написание PHP-клиентов для работы с API разных сервисов
Применение:
Подробнее →
PSR (PHP Standards Recommendations)
Строгое следование стандартам оформления кода и интерфейсам компонентов.
Применяемые стандарты:
- Coding style: PSR-1, PSR-12, PER
- Автозагрузка: PSR-4
- Интерфейсы: PSR-3 (Logger), PSR-7 (HTTP Message), PSR-18 (HTTP Client), PSR-6/PSR-16 (Caching)
Инструменты:
- PhpStorm: настройки авто-форматирования
- PHP Code Sniffer: проверка соответствия стандартам
- PHP CS Fixer: автоматическое исправление стиля
- PHPStan: статический анализ кода
Подход: Следование PSR — естественная часть разработки, не формальность.
Применение:
Подробнее →
CI-CD (с 2018 года)
Автоматизация цикла разработки. Уверенное владение. Основной инструмент: GitLab CI.
Что автоматизировалось:
- Тестирование: unit-тесты, интеграционные тесты
- Проверка качества: PHP CS Fixer, PHPStan
- Сборка и деплой: сборка Docker-образов, публикация в registry, автоматический деплой на staging, контролируемый деплой на production, откат при необходимости
Ключевые компетенции:
- Написание
.gitlab-ci.yml конфигураций
- Использование stages, jobs, artifacts
- Настройка runners
- Работа с переменными окружения и secrets
- Кэширование для ускорения сборки
- Условное выполнение jobs (rules, only/except)
Опыт:
Подробнее →
RBAC (Role Based Access Control)
Системы управления доступом на основе ролей.
Контекст использования:
- Разделение прав в админ-панелях
- Разные роли с разными правами на действия
- Отображение только доступных разделов интерфейса
- Разные интерфейсы для разных ролей пользователей
Применение:
- 2021-2024_-_Morizo: Mosreg CMS — RBAC для админ-панели; Туристический портал — для админ-панели и для личного кабинета
- 2018-2019_-_BTrud: роли админ, работодатель, соискатель с разными интерфейсами и доступными методами API
- 2016-2016_-_DSE: система ролей была отлажена до прихода в проект
- 2015-2016_-_TRM: три основных категории пользователей с разными интерфейсами личного кабинета и правами
Подробнее →
🌱 Изучаю сейчас
Начал изучать из интереса для автоматизации и экспериментов с AI-инструментами. Использую для написания скриптов для личных нужд — работа с файлами, автоматизация задач, обёртки над утилитами.
Уровень: Базовый или чуть выше. Могу решать практические задачи автоматизации.
Подробнее →
AI-инструменты для разработки
Активно изучаю и экспериментирую с AI-инструментами для улучшения процесса разработки — от генерации кода до автоматизации рутинных задач.
Подробнее →
⚡ Профессиональный подход
Качество кода:
- Покрытие тестами: Опыт 100% покрытия backend автотестами (BTrud), более 2000 интеграционных тестов (TRM), покрытие ключевого функционала в Morizo
- PSR стандарты: Строгое следование стандартам PSR-12 для оформления кода, использование PSR-4 для автозагрузки
- Code review: Опыт работы в команде с code review через merge requests
- Рефакторинг: Обновление legacy-модулей под современные стандарты (Morizo, Appwilio)
Архитектура:
- Проектирование систем: Опыт проектирования архитектуры с нуля (BTrud — полный цикл от архитектуры до production, TRM — проектирование backend API)
- Многокомпонентные системы: Проектирование независимых компонентов с взаимодействием через API (Inboxly — три независимых компонента)
- Оптимизация: Помощь техлиду в проектировании и оптимизации архитектуры проектов (Morizo)
- Баланс: Понимание, когда достаточно простого решения, а когда нужна продуманная архитектура
DevOps:
- Контейнеризация: Docker для dev-окружений и production (Morizo, BTrud, личные проекты)
- CI/CD: Настройка автоматизации с нуля — тесты, линтеры, сборка образов, автоматический деплой (BTrud, Morizo)
- Автоматизация деплоя: Планирование и проведение обновлений с деплоем на множество серверов (Morizo)
Документация:
- API документация: Подробная документация по API (BTrud — 100% покрытие с документацией)
- Техническая документация: Документирование процессов проекта (BTrud)
- Комментирование: Документирование сложной логики в коде
📫 Контакты
GitHub:
📂 О репозитории
Это мое портфолио-репозиторий, где я собрал детальную информацию о своем опыте работы, проектах и технологических навыках. Каждый файл содержит подробное описание с контекстом, примерами использования и ссылками на связанные материалы.
Что здесь можно найти:
💼 Опыт работы
🚀 Проекты
- experience/projects/ — описание личных и open-source проектов: архитектура, технические решения, применение, статус разработки
🛠 Технологии
📚 Дополнительно
🎯 Что дальше?
Сейчас нахожусь в поиске интересных backend-проектов на PHP/Laravel.
Интересны проекты, где:
- Проектируется и разрабатывается новый проект или новая версия "с нуля"
- Проект приносит реальную пользу людям, а не только прибыль компании
- Используются актуальные версии PHP и Laravel, следование стандартам PSR
- Backend разрабатывается в виде REST API (или GraphQL) сервера
- Фронтенд и мобильную разработку делают другие специалисты
- Приветствуется покрытие тестами ключевого функционала
- Используется Git, автотесты при каждом push (CI/CD)
- Для локальной разработки и CI/CD все сервисы запускаются в Docker-контейнерах
Готов к компромиссам — понимаю, что идеальных проектов не бывает. Чем больше совпадений, тем комфортнее работать и тем больше пользы могу принести проекту.
Открыт к обсуждению возможностей сотрудничества.