PHP Team Lead
320 000 руб
Дмитрий Олегович
Возраст
29 лет (12 Октября 1996)
Город
Пенза
Возможен переезд в другой город
Гражданство
Россия
Полная занятость
10 лет 1 месяц
Информационные технологии / IT / Интернет
ГИС Платформа «ЦХЭД». Модуль ТР Архив.
Обязанности
- Руководство командой из 7 человек (2 бэк-разработчика, 2 фронт-разработчика, 2 аналитика, 1 тестировщик)
- Онбординг
- Выстраивание процесса разработки (дейли, демо, инструментарий, ведение бэклога)
- Разбиение Laravel монолита на микросервисы (фронт: Vue.JS, API: Laravel, Java 11)
- Внедрение тестирования
- Перевод приложения на DDD
- Рефакторинг legacy-кода с применением SOLID: вынос бизнес-логики из контроллеров в сервисы, разделение ответственности между сервисами, репозиториями и DTO.
- Внедрение PSR-4 / Composer autoload для новых модулей и постепенный перенос legacy-классов из глобального пространства имён в namespaced-структуру без остановки разработки.
- Оптимизация SQL-запросов в PostgreSQL: анализ через EXPLAIN / EXPLAIN ANALYZE, доработка индексов, уменьшение количества обращений к БД.
- Перенос рекурсивной обработки дерева подразделений с уровня PHP-кода на WITH RECURSIVE в PostgreSQL.
- Использование Redis как распределённого кеша для справочников, пользовательских данных и промежуточных результатов тяжёлых операций.
- Автоматизация разработки для удобства команды
- Повышение эффективности и уменьшение количества багов
Технологии:
- Бекенд/Фронт, Laravel, Vue.JS, PostgreSQL, Redis, Horizon, Elasticsearch, Kibana, AstraLinux, RedOS
- Devops - Gitlab CI, Ansible
MyTime - планирование персонала и бюджетов проектов
- Развивал legacy-систему на PHP 7.4 / CodeIgniter 3 с собственным слоем сервисов, репозиториев, DTO и enum-классов.
- Рефакторил legacy-код с применением SOLID и PSR-4 / Composer autoload: разделил очередь на интерфейсы драйверов, хендлеры задач, менеджер очереди и реестр обработчиков.
- Спроектировал и реализовал кастомную асинхронную очередь задач на PHP: database-драйвер на MariaDB/MySQL, атомарный захват задач через транзакции и SELECT FOR UPDATE.
- Разработал CLI-воркер с параллельной обработкой через pcntl_fork, graceful shutdown, перезапуском дочерних процессов и reconnect-логикой к БД.
- Реализовал SSE-стриминг прогресса генерации тяжёлых отчётов в браузер и асинхронный Excel-экспорт.
- Дорабатывал финансовые и ресурсные отчёты: бюджет проекта, сводный бюджет, загрузка и утилизация персонала, стоимость проектов, отчёты по ходу проекта.
Технологии:
- PHP 7.x,8.x, Laravel, CodeIgniter 3, Vue 3, Element Plus, PostgreSQL, MariaDB/MySQL, Redis Pub/Sub, SSE, Composer autoload/PSR-4, Phinx, Smarty, AstraLinux, RedOS,Horizon, Elasticsearch
Devops: Gitlab CI/CD, Ansible
Информационные технологии / IT / Интернет
Fullstack Developer
Ноябрь 2021 — Февраль 2024 (2 года и 4 месяца)
- Разработка Маркетплейса в рамках MVP. Backend, Devops
- Работа с микросервисной архитектурой (около 20 микросервисов)
- Тестирование гипотез, поиск PMF
- Разработка и запуск MVP
За месяц отскорили 20 проектов и нашли 4 потенциальных MVP. Из них 2 проекта прошли валидацию и был выбран 1 проект с лучшей юнит-экономикой и перспективой.
Конкретные кейсы:
1. Работа с микросервисной архитектурой.
2. Работа с монолитной архитектурой на Laravel.
3. Дробление монолита на микросервисы
4. Связь микросервисов через REST API и через сокет Kafka.
5. Написание кастомных бандлов для Symfony.
6. Разработка микросервиса корзины покупок.
7. Разработка микросервиса OMS.
8. Разработка микросервиса парсера Excel на базе phpoffice/phpexcel.
9. Разработка микросервиса по ценам и остаткам
10. Разработка микросервиса формирования графика рабочего времени и сроков доставки (с учетом часовых поясов продавцов и покупателей)
11. Разработка функционала расчета лучшего предложения по срокам доставки, способу доставки и цене.
12. Разработка микросервисов по кешу и актуализации данных в Reindexer
13. Создание платформы-шаблона для быстрых запусков проектов на базе Laravel.
14. Решение вопросов, связанных с безопасным хранением данных пользователя
15. Разработка микросервисов для конвертации HTML в другие форматы (PDF, Word)
16. Интеграции по REST API с другими сервисами (DAData, Yandex Metrika, Tinkoff)
17. Настройка простого CI/CD через gitlab (на основе docker compose)
Информационные технологии / IT / Интернет
- Разрабатывал проекты на laravel + vuejs
- Создание чата
- Разработка интеграции с webRTC сервисом OpenTok
- Разрабатывал api, для интеграции с другими сервисами
- Code Review
Конкретные кейсы:
1) Разработка https://tele-med.io:
Backend:
- Управление часовыми поясами
- Разработка расписания врача, которое зависит от часового пояса
- Реализация видеоконсультаций путем интеграции WebRTC и написания API.
- Реализована админ-панель, платежи, чат.
- Разные домены для разных городов и междоменная авторизация (через микросервис авторизации)
Frontend:
- Разработана функция часовых поясов для врачей и пациентов, позволяющая правильно записаться на прием.
- Платежи, админ-панель, чат.
Дополнительно:
- Обучение и ревью кода Junior разработчиков
2) Специальная система для производственной компании [Проект находится под NDA] - Это сложная система со множеством подсистем, таких как учет, создание отчетов, уведомления работников, интеграция API, аналитика, информационные панели, опросы. Например, подсистема отчетов включает в себя создание шаблонов для будущих отчетов, асинхронную генерацию отчетов, экспорт отчетов (в XML, PDF, CSV), различные графики, рендеринг в зависимости от роли пользователя и даже чат для работников, чтобы общаться по конкретным вопросам.
Backend:
- API для управления отчетами.
- Написал интеграцию со многими API, отслеживания нарушений с различных датчиков, в условиях ограничения количества запросов за N период времени.
- API для дашбордов, аналитики, чата.
- Поддержка нескольких языков
Frontend:
- Написал логику управления отчетами
- Реализован экспорт информации с отчетов
- Ряд фич для рендеринга графиков
- Коструктор дашбордов, работа с чатом
- Обработка языковых файлов интерфейса и динамическая смена языков
3) Веб-приложение для маркетинговых “игр”
[Проект от Gett Taxi находится под NDA] - Это веб-приложение для создания тестов, опросов и игр для маркетинговых нужд. Эти тесты, опросы, игры могут быть сложными и многоуровневыми, а ветвление зависит от ответов. Также агрегируется статистика по ответам пользователей.
Backend:
- Полностью спроектированная и разработанная аналитика
- Разработана система уведомлений используя web пуши
- REST API для проведения и создания тестов
- Логика авторизации SPA приложения
Frontend:
- Вся frontend логика для аналитики.
- Отрисовка графиков, используя ChartJS
- Обработка уведомлеий
- Работа над конструктором “игр”
Информационные технологии / IT / Интернет
- Разработка интеграций СRM с различными API
- Создание различных виджетов для amoCRM
- Извлечение, обработка данных из CRM для аналитики
- Разработка небольших web приложений
Работал с API:
- Joomla!
- magento
- EnvyBox
- Roistat
- Gmail
- Google Data Studio
- Chrome APIs
Конкретные кейсы:
1) Разрабатывал интеграции с сервисами Naumen. Для выполнения работы писал скрипты на Groovy и использовал Laravel. Необходимо было следить за состоянием объекта в системе Naumen, а для выполнения этой задачи у них доступен только Groovy.
2) Написал расширение для Google Chrome, которое взаимодействовало с API Gmail и CRM системой. Расширение отслеживало письма и создавало задачи в CRM системе.
3) Написал add-on для Gmail, используя Google Apps Script и PHP. Данный add-on позволял создавать сделки в системе, напрямую из почтового сервиса.
4) Разработал адаптер для Google Data Studio c использованием Google App Scripts и PHP. Cервер на PHP cобирает данные из CRM системы, cохраняет их в базу данных и предоставляет API, для Google Data Studio, внутри которой была описана работа с API.
Высшее
Пенза, 2014 — 2018 гг.
Английский — Базовые знания
Права категорий:
B
Стаж:
9 лет
12 февраля, 2017
15 000 руб
Thai ho
Город
Пенза local_shipping
Возраст
36 лет (15 октября 1989)
Опыт работы:
Без опыта
18 июня, 2022
Борис
Город
Пенза
Возраст
33 года ( 9 июля 1993)
Опыт работы:
1 год и 4 месяца
Последнее место работы:
Инженер-проектировщик, Градстройпроект
02.2016 - 06.2017
17 сентября, 2025
50 000 руб
Михаил
Город
Пенза local_shipping
Возраст
59 лет (19 апреля 1967)
Опыт работы:
20 лет и 6 месяцев
Последнее место работы:
Самозанятый, Самозанятый
02.2023 - по текущее время
Резюме размещено в отрасли
