Опыт работы
Общий трудовой стаж - 13 лет
Team Lead / Ведущий Java разработчик
May 2017 - настоящее время ООО ГК "Корона Авто"
java 8, spring boot 1.5, angular 5, typescript, postgreSQL, redis, rabbitmq, docker
Разработка новой версии оптового интернет-магазина по продаже грузовых автозапчастей. На текущий момент магазин находится на стадии тестирования и подготовки к запуску, на официальном сайте представлена старая версия.
Мои обязанности:
- Приемка кода от стороннего подрядчика. Проектирование архитектуры системы (ядро интернет-магазина) и микросервисов. Написание кода (back + front).
-
Управление командой из 2-х backend разработчиков, 1-го frontend разработчика, 1-го тестировщика, 1-го devops.
Ставил и разбивал задачи, полученные от аналитика, понятные разработчикам. Разработал code style и архитектурные принципы разработки приложения. Контролировал выполнение задач с технической стороны. Обучал junior разработчиков. - Написание и разработка тестов на базе junit + mockito.
- Настройка CI / CD на базе jenkins и docker, до того как в команде появился devops.
- Участвовал в настройке процессов agile в jira, чтобы у всех членов команды было четкое понимание объема работ в спринте, а у руководителя отдела было понимание, в какой стандии находится разработка определенных задач.
- Проведение собеседований, набор людей в команду.
Разработал и спроектировал следующие сервисы:
-
Микросервис обменна данными v3.0
Основной целью сервиса является асинхронный обмен данными между различными сервисами компании (включая 1С ERP) по протоколу http. Имеет ui для администрирования и мониторинга событий, а так же api для zabbix для уведомлений о внештатных ситуациях по смс / почте. -
Микросервис резервирования v1.0
Основной целью сервиса является возможность резвервирования товара с отложенным подтверждением в мастер системе, а так же получения свободного остатка. Клиент резервирует товар почти мгновенно, параллельно происходит синхронизация остатков с 1С ERP. -
Микросервис файлов v2.0
Основной целью сервиса является возможность работы с публичными файлами (загрузка/скачивание), а так же механизм работы с приватными файлами с особыми ограничениями на скачивание (без прямых ссылок). -
Микросервис фоновых задач с расписанием v1.0
Основной целью сервиса является запуск задач в микросервисах по расписанию, а так же ui для настройки / просмотра и запуска.
Так же в свободное время реализовал веб-сайт для корпоративного футбола. Сайт позволяет добавлять игроков, формировать составы, а так же выбирает игрока, отвечающего за стирку манишек (текущая версия учитывает кол-во игр, дату начала карьеры, кол-во стирок и несколько других параметров).
Старший web разработчик
Dec 2014 - Feb 2016 ООО ГК "Корона Авто"
php 5, php 7, symfony 2, symfony 3, mysql 5.6, mongodb 3, redis 2, rabbitmq
Доработка и поддержка крупного оптового интернет-магазина по продаже грузовых автозапчастей.
Мои достижения в данной компании:
- Разбил сильно переписанный монолит на основе cms 1C Bitrix на микросервисы на основе фреймворка symfony.
-
Микросервис обменна данными v1.0 и v2.0
Сервис заменил множество старых обменов на основе фоновых заданий, которые загружали изменения из excel файлов. Цель микросервиса - создать платформу обмена данными на основе протокола http, которая использует событийную модель, а не модель фоновых заданий с расписанием. Микросервис уменьшил время обмена данных с 3-10 минут до 1-2 секунды, позволял искать по данным обменов и имел административную часть для настройки и мониторинга обменов. -
Микросервис ценообразования v1.0
Сервис позволял создавать произвольные модификаторы цены с произвольными условиями применения (на текущий момент используются более 20) и был оптимизирован для расчета цены для большого количества запросов. -
Микросервис файлов v1.0
Цель сервиса - хранение публичных и приватных файлов, которые можно было скачать по приватным токенам без прямых ссылок с различными условиями проверки доступа (например, чеки, документы отгрузки и т.д.)
Также я занимался настройкой веб-сервера на базе debian 8/9:
- Установка и обновление ПО
- Оптимизация настроек
- Настройка репликации данных mysql
Старший 1С Программист
Apr 2012 - Jun 2014 ООО ГК "Корона Авто"
Профессиональная разработка ERP системы компании на базе конфигурации 1С Комплексная автоматизация:
- Разработка модулей интеграции с интернет магазином на базе 1C Bitrix (обмены НСИ, такие как остатки, заказы, номенклатура, контрагенты и т.д.)
- Разработка модулей интеграции со сторонними сервисами: dadata.ru, заггрузка заказов из партнерских систем, рассылка НСИ партнерским сервисам.
- Разработка новых подсистем учета (резервирование, взаиморасчеты, подсистема задач для менеджеров для контроля различных процессов компании). Все подсистемы достаточно серьезно отличались от типовых.
- Оптимизация скорости работы конфигурации, обработки, отчеты.
1С Программист
Dec 2010 - Mar 2012 Волгаcофт
В данной компании я развиваюсь как 1С программист, получаю сертификаты:
Занимаюсь поддержкой и развитием внутренней ERP системы на базе 1С Управление Предприятием 1.2 и являюсь одним из основных разработчиков программного продукта Управление по целям. Поддерживая сайты компании на cms bitrix и joomla.Студент
Sep 2005 - Aug 2010 Политехнический университет
Кафедра электроники и вычислительной техники.
Начиная с первого курса, я активно занимался программированием в среде Delphi 7 и QtCreator (графики, визуализация физических процессов), а так же активно помогал другим студентам в написание программ и освоении учебного материала. Моей дипломной работой было приложение на C++ под Linux Ubuntu 10.04 для распознавания паттернов ЭЭГ сигналов с помощью метода опорных веторов (SVM Machine). Суть проекта была написать алгоритм, который можно обучить находить нужные участки в ЭЭГ пациентов, на основе базы данных ЭЭГ больных пациентов.
Забавный факт, так как меня к программированию всегда тянуло больше, чем к физике, для одной лабороторной работы по физике, вместо 2D графики я реализовал полноценную модель кабинета с лабороторной, работой, возможностью перемещения и управления приборами. Для этих целей я использовал связку Delphi + 3D движок GL Scene, а так же 3D модели из Half Life и др. Преподаватель не оценил, но разочек пробежался :)