Павел Дедюлькин (donpablod), 48 лет, Россия, Ростов-на-ДонуПавел Дедюлькин (donpablod), 48 лет, Россия, Ростов-на-Дону

Павел Дедюлькин

Хорошо зафиксированный отладчиком сервис в документации не нуждаетсяБэкенд разработчикАрхитектор программного обеспеченияВедущий (Lead)
От 350 000 ₽Не ищу работу
Поднимите резюме с подпиской Бустер

Контакты

Войти
Возраст: 48 лет
Опыт работы: 13 лет и 7 месяцев
Регистрация: 28.01.2023
Последний визит: 1 месяц назад
Гражданство:
Местоположение: Россия, Ростов-на-Дону
Дополнительно: готов к удаленной работе

Обо мне

Опытный бакенд разработчик. Имею большой опыт работы с различным легаси кодом и быстрым вниканием в него для внесения изменений или выноса функциональности (.Net, Java). Соотвествено могу быстро оздавать скелетоны для сервисов на указанных языка с нуля. Есть опробованные идеи по улучшению архитектуры системы микросервисов и взаимодействия с фронтендом. 

Могу работать в качестве тим лида, переключаться между задачами и решать вопросы с другими командами.

Навыки

Выберите навык, чтобы посмотреть, какие тесты специалист уже прошел.

C#
.NET Core
Высоконагруженные системы
senior
Проектирование архитектуры приложений
senior
Docker
Java
Spring Boot
PostgreSQL

Опыт работы

  • Крупнейшая цифровая платформа. Технобренд, объединяющий лучшие мировые практики и самый современный стек
    Ростов-на-ДонуБолее 5000 сотрудников
    Бэкенд разработчик (Ведущий)Бакенд разработчик с функциями тех лида
    Апрель 2023 — Октябрь 2025 (2 года и 7 месяцев)

    В рамках импортозамещения переносили функциональность монолита легаси системы на Оракле в отдельные микросервисы.

    Приложение: Cервис на Spring Boot 2.7,  JAVA 17(начинали с 8).  Исполнение OpenShift вначала писали манифесты руками, потом появилась автоматизация от Сбера с полным циклом деплоя. Приложение исполнялось в виде двух инстансов (на одном или на обоих плечах).

    База данных Postgres, работа через отдельный выделенный сервис Platform V Dataspace (тоже в нескольких экземплярах,_общение через их клиентскую библиотеку поверх Json RPC.  Много интеграций со смежниками Kafka, gRPC, REST,  Json Rpc.

    Для мониторинга использовалось решение от Сбера Reflex выставляли много метрик плюс для анализа проблем ввел в базе свои системные таблицы журнал исключений (технический сбой приведший к исключению позволял легко находить самые частые ошибки, новые ошибки ит.д) и тех журнале (все ключевые запросы и ответы по документу, там же контролируемые ассерты в случая сбоя обработки).

    Каждая бизнес цепочка разбивалась на значимые шаги мной был сделан микрофреймворк для workflow (в базе сохранялся текущий шаг, набор шагов, конфигурации для шагов).  Шаг отдельный кубик ( класс) из которых можно было конструировать обработку.  Цепочки выполнялись синхронно и асинхронно (при получение ответа от смежников сопоставление соответствующей цепочки).

    Общий подход по взаимодействию со смежниками был следующий в случае вычитывания из кафки считываем как есть, сохраняем в базу и потом отдельно выбираем для обработки (возможность рестартовать обработку в случае ошибки). В случае отправки, формируем данные и потом отправляем отдельно с учетом RL смежников, Retry и Circuit Breaker. 

    В качестве кеша для справочной информации использовалось in memory Spring Boot стандартная реализация.

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

  • Finastra
    Лондон
    Бэкенд разработчик (Старший)Senior Developer
    Июль 2020 — Март 2023 (2 года и 9 месяцев)

    Задача: Перевод легаси монолита на Java c UI на Silverlight на микросервисную архитектуру в Docker, UI web.

    с 03.2021 старт разработки, с 08.2021 тимлид команды бакенда и фактический архитектор проекта.

    Достижения (командные): Мигрировали продакшены двух клиентов на новую архитектуру.

    Развернули уаты ещё двух клиентов на новой архитектуре.

    Архитектурные решения:

    Взаимодейcтвие с UI websocket + protobuf. Всё общение через Nginx веб сокет обрабатывается выделенным gateway, задача которого посылать реквесты сервисам через очередь NATS и полученные от них ответы посылать в соотвествующий веб сокет.

    Сервисы на .net core и java. Всё общение между сервисами через NATS (Nats Streaming в некоторых случаях) , протокол в виде протобуфа.

    В качестве баз использовался Postgres и RethinkDB.

    Для хранения состояния RethinkDB и Redis.

    Решения выбранные согласно стандарту компании:

    Мониторинг : интерфейс grafana, метрики prometheus, логирование локи, железо cadvisor.

    Деплой: весь бакенд разворачивается в докере.

    Организация тестирования и деплоя: конфигурация, yml файлы хранятся в гите в отдельных ветках под соотвествующий стенд/клиент. Все образы содержат информацию (ветка, версия, гит ревизия (первые 7)). Все параметры вынесены из yml в env (для облегчения процесса мержа).

    Организация кодовой базы: Микросервисы и протоколы общения между ними в выделенных репах и сабрепах. Разработаня скелетон для быстрого создания с нуля микросервиса на .net core и java под использованную архитектуру.

    07.2020-02.2021

    Сеньор разработчик бакенда

    Задача: Разработка нового сервиса для проверки лимитов и баланса.

    Для обмена выбрал натс и протобуф. Решение перфоманс проблем, выявленных тестированием Jmeter для рест вызовов внешних систем клиента из лимит сервиса, оптимизация рест вызовов, поиск на чьей стороне проблема с помощью wireshark.

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

  • Реализация масштабных ИТ-проектов федерального и регионального уровня
    МоскваОт 100 до 1000 сотрудников
    Ведущий разработчик
    Февраль 2014 — Июнь 2017 (3 года и 5 месяцев)

    Тимлид одной из команд, отвечающий за разработку портала управления и сервисов для ЦППК.

    База данных: MSSQL для портала,  MondoDB для сервисов. 

    Шина: Rabbit MQ. 

    Мониторинг:  Zabbix.

  • Olfa
    Женева
    Senior Developer
    Январь 2012 — Февраль 2014 (2 года и 2 месяца)

    Поддержка взаимодействия клиентского приложения на Silverlight c сервером на Java. Транспортный уровень. Бизнес-логика.  Очень толстый клиент OOB взаимодействие по кастомному тсп ип протоколу.  Продумал и реализовал апдейт клиентского приложения посредством разделения на загрузчик конфигурация и основную часть (поддержка как со стороны клиента так и со стороны веб приложения)

  • Ростов-на-ДонуОт 10 до 100 сотрудников
    Старший разработчик
    Апрель 2009 — Январь 2012 (2 года и 10 месяцев)

    Работа по подсоединению провайдеров ликвидности (общение через протокол FIX) в десктопном QT приложении. Вынос ЛП провайдеров в отдельный процесс и взаимодейтсвие с ними через DBUS.

    C++QtBoost

Высшее образование

  • ЮФУ

    Ростов-на-Дону2318 выпускников
    Механико-математический
    Сентябрь 1994 — Май 1999 (4 года и 8 месяцев)

    Факультет ИВЭ.  Димломная работа Создание распределённой среды исполнения агентов на Java (jdk 1.02)