Сергей Дербуш

Сергей Дербуш

Старший инженер по разработке

20 лет опыта

Направление:
Вид:

О себе

20 лет коммерческой fullstack-разработки (PHP, Node.js, Python, Go, React). Ведущий разработчик и Team Lead, выстраивал Scrum-процессы в команде из 17 человек. Опыт общения с зарубежными заказчиками, гибкость в решениях, нацеленность на результат.

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

Запуск SSP-системы. Проектирование ETL для формирования отчетов о показе баннерной/видео рекламы от различных DSP/SSP на различных сайтах. Автоматизация процесса сборки отчетов от DSP/SSP систем и проверка расхождений в количестве показов рекламы и её стоимости.

Публикации на Хабре:

Уровень английского: Intermediate (B1-B2)

Основные навыки

Backend

GoKPHP, PHP (Symfony, Laravel)Node.js (Fastify, NestJS, Express)Python (FastAPI, Pandas)REST API, GraphQL (архитектура, оптимизация)

Frontend

JavaScript/TypeScriptReact/Redux, Next.js, GatsbyHTML/CSS (Bootstrap, SASS, BEM, Material UI, Ant)Webpack, Vite, Gulp

Databases

MySQL, PostgreSQL, MongoDB, RedisПроектирование схем данныхОптимизация запросов

Cloud & Infrastructure

AWS (S3, Kinesis, Glue, EKS, RDS)Yandex CloudTerraformDockerKubernetes (микросервисы, 5000 QPS)

Development Processes

CI/CDTDD, OODСбор требованийНаписание технической документации

Дополнительные навыки

Monitoring & Analytics

Prometheus (сбор метрик)Grafana (дашборды)Snowplow (трекинг событий)PrebidJS (Header Bidding)

ETL & Data

AWS Glue (PySpark, Pandas)Сбор данных из различных источниковАгрегация и запись в БД

Infrastructure

Гибридная инфраструктура EKS + Bare MetalРабота с Docker RegistryМикросервисная архитектура

Опыт работы

ООО "ВК" (Социальная сеть ВКонтакте)

Октябрь 2022 — Январь 2024

Каналы

Август 2024 — Июль 2026

Добавление возможности вести персональный канал и канал от лица сообщества

Роль: Старший инженер по разработке

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

  • Миграция из монолита в микросервисы на go с использованием "Чистой" архитектуры и "Сценарии использования (usecase)"
  • Реализация сервиса "Каналы" в "Мессенджере" с использованием "Гексоканальной" архитектуры на KPHP
  • Внедрение в работу ии агентов claude code, opencode с различными моделями. Создание маркетплейса со скилами и плагинами для проектов, формирование базы знаний для использования в миграции проекта на go
  • Интеграция с рекомендательной системой "Каналов" через GRPC
  • Добавление метрик на дашборд и настройка алертинга
  • Добавление сбора аналитики использования "Каналов"
  • Оценка и планирование задач
  • Проведение code review

Технологии:

GoKPHPKafkaWebsocketGrpcProtobufOpenApiClaude code

Звонки

Январь 2024 — Август 2024

Добавление новой функциональности в VK Звонки

Роль: Старший инженер по разработке

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

  • Добавление новой функциональности
  • Оценка и планирование задач
  • Проведение code review

Технологии:

KPHPWebsocketKafka

Смартап

Октябрь 2022 — Январь 2024

Цифровой помощник учителя

Июнь 2023 — Январь 2024

Онлайн-сервис для помощи учителям в прохождении аттестаций и повышении квалификации. Система предоставляет возможность проходить тестирование и информирует о ближайших мероприятиях в виде календаря событий.

Роль: Senior Developer

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

  • Разработка микросервисов в соответствии со спецификацией
  • Оценка и планирование задач
  • Проведение code review

Технологии:

Symfony 6.3PostgreSQLRedisElasticsearchGitLab
Команда: 1 PM, 1 Архитектор, 3 Backend разработчика, 2 Frontend разработчика, 2 QA инженера, 2 DevOps

Школа разработчиков

Февраль 2023 — Июнь 2023

Разработка практических задач для Python курса.

Роль: Senior Developer

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

  • Создание задач
  • Создание тестов для автоматической проверки решений пользователей

Технологии:

Python

Insticator SSP Exchange

Октябрь 2022 — Февраль 2023 (и ранее: Июль 2021 — Сентябрь 2022, Июнь 2020 — Ноябрь 2020)

Создание SSP (supply-side platform) платформы и интеграция с DSP (demand side platform) партнерами. Использование PrebidJS (Header bidding) для показа рекламы на сайтах издателей. Построение системы сбора отчетов о показах рекламы (показы, доход, прибыль и т.д.). Создание панели администрирования SSP для конфигурирования параметров рекламного объявления. Автоматизация сбора отчетов от DSP.

Роль: Архитектор & Team Lead

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

  • Управление командой
  • Общение с заказчиком
  • Прояснение требований
  • Проектирование архитектурного решения
  • Оценка задач
  • Разработка критических частей
  • Code review
  • Поддержка и обновление PrebidJS адаптера
  • Добавление новых интеграций с DSP

Технологии:

Микросервисная архитектураNode.jsNextJSFastifyReactPostgreSQLPythonAWS сервисы (S3, Kinesis, Glue, EKS, RDS)TerraformCircleCI

Достижения:

  • Создание Terraform скриптов для запуска Kubernetes кластера в продакшене
  • Тюнинг настроек сервиса и его масштабирование
  • Установка/настройка и внедрение Snowplow трекера для сбора данных о показах рекламы
  • Создание аналитического адаптера PrebidJS для сбора событий рендеринга рекламы
Команда: 1 Team Lead, 1 Архитектор, 2 Разработчика, 1 QA инженер, 1 PM, 2 DevOps

Lineate / Thumbtack Technology

Июнь 2014 — Сентябрь 2022

Informa IVT

Июнь 2021 — Июль 2021

Небольшой legacy проект. Устранение неисправностей с оплатой подписок, обновление системы, применение патчей безопасности. Проверка попадания новых страниц в Google поиск. Проверка формирования sitemap. Обновление операционной системы.

Роль: Ведущий разработчик

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

  • Обновление системы
  • Устранение неполадок

Технологии:

Drupal 6PHPDockerAWS EC2RDSGoogle Search ConsolePayPal Payflow Pro
Команда: 1 Разработчик, 1 DevOps

Everscore

Апрель 2021 — Май 2021

Рекламная система, объединяющая ad server, DMP и e-commerce систему. Определение аудитории, которая обеспечивает лучшую производительность и делает рекламные кампании более эффективными. Построение ETL процесса агрегации бизнес данных из нескольких источников.

Роль: Senior Developer

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

  • Прояснение требований
  • Оценка задач
  • Создание тестовой страницы интернет магазина на React
  • Генерация событий для трекера

Технологии:

GCP ComputePub/SubCloud FunctionsBigQueryPythonPandas

Достижения:

  • Создание Terraform скрипта для установки Snowplow трекера на GCP
Команда: 1 Архитектор, 3 Разработчика, 1 QA инженер, 1 PM

Moove.ai

Март 2021 — Апрель 2021

Создание UI на React и Material UI для отображения обработанных данных клиента из GCP BigQuery.

Роль: Senior Developer

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

  • Прояснение требований
  • Оценка задач
  • Создание React компонентов
  • Реализация GraphQL API эндпоинта для получения данных из BigQuery

Технологии:

ReactGCP (Cloud Functions, BigQuery)Node.js (NestJS, Apollo GraphQL, Jest)

Достижения:

  • Получил опыт работы с GraphQL в продакшене
  • Познакомился с BigQuery
Команда: 3 Разработчика, 1 QA инженер, 1 PM

Skipta Reports

Ноябрь 2020 — Март 2021

Создание ETL процесса для агрегации бизнес данных из разных источников для быстрого отображения данных в Tableau dashboards.

Роль: Ведущий разработчик

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

  • Управление командой
  • Ежедневное общение с заказчиком
  • Прояснение требований
  • Проектирование архитектурного решения
  • Оценка задач
  • Code review
  • Создание Python скриптов для агрегации данных с помощью Pandas
  • Создание Terraform скриптов для развертывания Glue Job и Workflows

Технологии:

AWS (CLI, Glue, RDS MySQL, EC2)PythonPandasAirtableTableau

Достижения:

  • Освоил библиотеку Pandas для обработки и агрегации данных
Команда: 1 Архитектор, 2 Senior разработчика, 1 QA инженер, 1 PM

InforMamarkets — MarkitMaker Control Center

Октябрь 2019 — Май 2020

Реализация нового функционала для системы управления проведением мероприятий/конференций. Создание UI на React.

Роль: Senior Developer

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

  • Управление командой
  • Общение с заказчиком
  • Коммуникация с командой заказчика
  • Прояснение требований
  • Оценка задач
  • Разработка критических частей
  • Code review
  • Проведение демо
  • Создание UI на React+Redux
  • Создание REST API

Технологии:

PHP Drupal 8JavaScript React+Redux + Server Side RenderingWebpackJestSCSSGulpESLintDockerElasticsearchSymfony 4REST APIPHPUnit

Достижения:

  • Задокументировал и предложил процессы работы в команде
  • Согласовал их с командой заказчика
Команда: 1 Архитектор, 3 Разработчика, 1 QA инженер, 1 PM

NYU Medical Centre

Август 2016 — Октябрь 2019

Сайт медицинских центров в Нью-Йорке. Реализация отдельного раздела сайта посвященного центрам по лечению рака. Реализация HTML компонентов из предоставленного дизайна для различных устройств. Полный редизайн сайта. Реализация отдельного раздела с отдельным дизайном для детских клиник. Реализация REST API сервиса для получения данных для сайта из внутренних систем.

Роль: Senior / Ведущий разработчик

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

  • Управление командой
  • Общение с заказчиком
  • Прояснение требований
  • Оценка задач
  • Code review
  • Проведение демо
  • Реализация HTML компонентов для различных браузеров и устройств
  • Реализация компонентов для WYSIWYG редактора CMS
  • Формирование styleguide страницы
  • Использование TDD методологии

Технологии:

JavaScriptJQuery pluginsReact+ReduxPHP Symfony 2/3 FrameworkPHPUnitDrupal 7/8HTML/CSS/SCSS/BEM/KSSWebpackGruntKarma JSMocha JSChai JSESLintDockerFusionJenkinsSolr

Достижения:

  • Выступил в роли ведущего разработчика и взял коммуникацию с заказчиком на себя
  • Получил опыт в оценке крупных функциональностей
  • Изучил TDD методологию
  • Изучил Symfony Framework
  • Изучил и внедрил React/Redux
  • Создание styleguide используя KSS
  • Получил опыт управления командой из 17 человек
Команда: 1 Архитектор, 10 Разработчиков, 4 QA инженера, 1 PM, 1 DevOps

Multiview — MALT

Апрель 2016 — Июль 2016

Создание системы для управления компаниями которые можно запускать через AdWords, Simplifi, Trade Desk.

Роль: Senior Developer

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

  • Прояснение требований
  • Оценка задач
  • Code review
  • Реализация новой функциональности

Технологии:

JavaScriptBackbonePHP YII2 FrameworkHTML/CSS/SCSSMSSQLWebpack

Достижения:

  • Изучил библиотеку Backbone
  • Познакомился с AdTech
Команда: 3 Разработчика, 4 QA инженера, 1 PM, 1 DevOps

Penton — EQW Rebuild

Июль 2015 — Апрель 2016

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

Роль: Senior Developer

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

  • Прояснение требований
  • Оценка задач
  • Code review
  • Реализация новой функциональности
  • Разработка компонентов на Ember JS

Технологии:

JavaScriptNode.js (Express)Ember JSHTML/CSS/SCSSMongoDB

Достижения:

  • Получил опыт в крупном SPA приложении на Node.js
Команда: 10 Разработчиков, 3 QA, 2 DevOps, 1 PM

Multiview — Buyer's Guide

Июль 2015 — Август 2015

Создание landing page с responsive шаблоном. Сборка артефактов через Gulp.

Роль: Senior Developer

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

  • Управление командой
  • Прояснение требований
  • Оценка задач
  • Организация CI/CD пайплайна

Технологии:

HTML/CSS/SCSSJavaScriptGulp

Достижения:

  • Получил опыт управления командой
Команда: 3 Разработчика, 1 QA

Penton — RDB/EQW

Август 2014 — Июнь 2015

Большая исследовательская база данных с множеством хранимых процедур на Oracle. Устранение ошибок в работе хранимых процедур, добавление генерации и выгрузки данных. Оптимизация запросов.

Роль: Senior Developer

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

  • Оценка задач
  • Оптимизация SQL запросов в хранимых процедурах
  • Устранение ошибок
  • Разработка функционала по выгрузке отчетов

Технологии:

Zend FrameworkPhalcon (PHP)JavaScriptHTMLAjaxOracle

Достижения:

  • Наработал опыт оптимизации сложных SQL запросов
Команда: 2 Разработчика, 1 PM

Penton — Pisces

Июнь 2014 — Июль 2015

Создание модуля регистрации и нового шаблона для сайта на Drupal.

Роль: Senior Developer

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

  • Оценка задач
  • Разработка нового функционала

Технологии:

Drupal 6 (PHP)JavaScriptHTMLAjaxMySQL

Достижения:

  • Познакомился с итеративным процессом разработки
  • Получил опыт работы с Jira
Команда: 4 Разработчика, 1 QA инженер, 1 PM

Siber Systems

Март 2010 — Июнь 2014

Roboform

Март 2010 — Июнь 2014

Продукт Roboform — менеджер паролей. Рефакторинг существующего PHP кода для покупки лицензий, верстка нового дизайна, создание нового функционала. Работа над онлайн версией продукта для хранения и управления паролями. Работа над внутренними сервисами для обслуживания продукта и поддержки клиентов.

Роль: PHP Developer

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

  • Работа над внутренними сервисами
  • Разработка онлайн версии продукта
  • Рефакторинг существующего кода онлайн покупки лицензий

Технологии:

PHPJavaScriptjQueryAjaxHTMLMySQL

Достижения:

  • Изучил и внедрил BEM, jQuery
  • По моей инициативе переехали с SVN на Git
  • Изучил паттерны проектирования
  • Изучил Zend Framework
  • Рефакторинг системы продажи
  • Сверстал новый дизайн
  • Внедрил защиту от CSRF атак
Команда: 4 Разработчика

Petrit

Август 2007 — Март 2010

Создание сайтов-визиток

Август 2007 — Март 2010

Создание сайтов-визиток для клиентов.

Роль: PHP Developer

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

  • Верстка HTML макетов из Photoshop
  • Создание шаблонов для CMS
  • Обучение контент менеджеров

Технологии:

PHPJavaScriptHTMLAjaxMySQL

Достижения:

  • Внедрил SVN в проекты для совместной работы
  • Перевел разработку на CMS Bitrix
  • Научился pixel perfect верстке
Команда: 3 Разработчика, 2 Дизайнера

ОмГУПС (Омский государственный университет путей сообщения)

Август 2005 — Август 2008

Программист на кафедре АиСУ

Август 2005 — Август 2008

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

Роль: Преподаватель / Программист

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

  • Обслуживание компьютерного класса
  • Проведение практических занятий по веб-технологиям (Linux, Apache, MySQL, PHP, Drupal)

Технологии:

LinuxApacheMySQLPHPDrupal

Образование

Омский государственный университет путей сообщения

Институт автоматики, телекоммуникаций и информационных технологий

Информационные системы и технологии

2000 — 2005

Диплом с отличием. Аспирантура.