Я строю платформы от и до — и поддерживаю их годами
Я Сергей Шапкин — senior веб-инженер с более чем двадцатилетним опытом создания, масштабирования и поддержки платформ, которыми люди пользуются каждый день. Я работаю на всём стеке: моделирование предметной области и проектирование БД, прикладная логика на Laravel и Drupal, фронтенд на Vue, контейнеры и кластеры Kubernetes, на которых всё это работает, и всё чаще — AI-инструменты, автоматизирующие работу вокруг.
Я наиболее полезен там, где система должна долго оставаться быстрой и надёжной под реальной нагрузкой — новостные сети с миллионами читателей в день, кастомные CMS-движки, автоматизация бизнеса, e-commerce-каталоги. Я не сдаю проект и не исчезаю; обычно я остаюсь со своими платформами, обновляя и укрепляя их годами.
Принципы, на которых я строю
Код, который гнётся, а не ломается
Я опираюсь на принципы SOLID, чтобы системы оставались открыты к изменениям: небольшие единицы с одной ответственностью, зависимости — на абстракции, модули, которые расширяешь без переписывания. Именно это позволяет платформе пережить десятилетие новых требований.
Один источник истины
Don't Repeat Yourself — это не про хитрые абстракции, а про одно очевидное место для каждого куска логики и контента. Меньше дублирования — меньше багов, и правки применяются везде сразу.
От схемы до кластера
Архитектура, приложение, фронтенд и инфраструктура — это одна непрерывная система. Понимание всех слоёв позволяет принять верный компромисс на нужном уровне, а не переложить проблему куда-то ещё.
Поддерживаемость важнее изящества
Я оптимизирую под инженера, который прочитает код через три года — часто это я сам. Скучный, хорошо документированный код, который чисто обновляется, всегда побеждает остроумный one-liner.
Хорошая инженерия — это во многом сдержанность
Бо́льшая часть долговечной ценности платформы рождается из решений о том, чего НЕ строить. Готовое — когда подходит, кастомное — только там, где этого действительно требует домен, и жёсткая граница против случайной сложности. Я лучше выпущу что-то скучное, что проработает десять лет, чем что-то остроумное, что через полтора года потребует спасения.
Но прагматизм работает в обе стороны. На Afisha.rs соглашения Laravel не подходили для контентного каталога, поэтому поверх него я построил движок сущностей и терминов в стиле Drupal — независимые связываемые поля, собранные сущности в кэше Redis, headless API для будущего мобильного приложения. Принципы вроде SOLID и DRY — не догма; это инструменты, которыми я не даю такой свободе превратиться в хаос.
Лучшая платформа — та, о которой никому не нужно думать: она просто остаётся быстрой, остаётся доступной и гнётся под то, что бизнесу понадобится дальше.
Нужно построить, спасти или масштабировать платформу?
Расскажите о системе, которую планируете. Отвечу в течение одного рабочего дня — честно и по делу.