Java разработчик
Контакты
Более 2 лет занимаюсь программированием на Java.
Изучал – Java, ООП, АСД, Spring, Hibernate, Thymeleaf, Docker, PostgreSQL, Linux, Kafka, Graphana, Prometheus, Тестирование - Junit, Mockito, E2E (Cypress, Playwright), CI/CD, Curl, PostGIS, nginx, Swagger (OpenAPI) Также занимался на курсах Хекслета.
Рассматриваю различные варианты удаленной работы на полный день.
- Java
- Maven/Gradle
- Spring Framework
- Hibernate
- Тестирование: Junit, Mockito, E2E (Cypress, Playwright)
- git
- Linux
- ООП
- HTTP
- SQL (PostgreSQL/MySQL)
- Английский (intermediate B1/B2)
- CI/CD (Github Actions)
- Знание основных структур данных
Пет-Проекты:
(Проект в стадии доработки)
Ссылка на репозиторий проекта
Реализовал пет-проект Автопарк VehiclePark (учет автомобилей + трекинг) где и применял все вышеописанные технологии.
Что реализовано:
• Регистрация менеджера и авторизация (BasicAuth).
• CRUD для автомобилей (создать, просмотреть, изменить, удалить)
Привязка к водителям, предприятию и менеджеру (связи OneToMany, ManyToOne и т. д.).
• Менеджер видит только свои предприятия и машины, чужие ему запрещено смотреть.
• REST эндпоинты для машин, предприятий, треков, GPS-точек и отчетов.
• Пагинация страниц при отображении списка машин.
• UI c бустрапом.
• Отображение трека на карте через Leafleat, геоданные машин через OpenRouteService.
• Применял PostGIS для хранения точек (координат) машин и отображения их на карте, отображение в формате json или GeoJson в зависимости от параметров в запросе.
• Возможность получения треков по машине и отображение его на карте (OpenStreetMap).
• Импорт/Экспорт предприятия, машин и поездок в формате JSON/CSV.
• Загрузка поездки с треком через внешний файл формата GPX.
• Выгрузка отчетов по машинам и предприятиям (пробег).
• С помощью SpringShell реализовал утилиту для генерации (тестовых) данных
• Добавил Геокодирование / Обратное геокодирование точек через OpenRouteService (привязка к физическому адресу для отображения реальных поездок).
• Сбор метрик через Prometheus (метрики) + Grafana (дашборды).
• Телеграмм-бот для менеджеров с возможность авторизации и получения отчета о пробеге автомобиля.
• Добавил логирование (Sl4g) к запросам для отслеживания ошибок.
• Упаковал в докер контейнеры проект и есть возможность запустить его на внешнем сервере.
• Сделал скрипт, который автоматически деплоит проект целиком на внешний хостинг.
• Арендовал облачный сервер (на пару дней для тестов с выделенным IP адресом). Поставил там недостающие программы (docker, npm). Затем создал скрипт в папке с проектом (локальный и для внешнего деплоя). Затем добавил SSH, чтобы можно было обращаться на сервер с моего ноутбука.
• Знаком с Certbot – получения сертификата https.
• Кэшировал основные запросы, что дало прирост в скорости обработки запросов в 10 раз.
• Добавил интеграционные тесты (Mockito).
• Сквозные тесты E2E через Cypress и Playwright.
• Знаком с CI/CD на практике через GitHub Actions (можно увидеть в коммитах репозитория проекта)
• Устранил проблему N+1 запросов в проекте (с помощью EntityGraph для подгрузки связанных сущностей).
• Добавил 2 микросервиса (NotificationService, TelegramService) для отправки уведомлений через Kafka телеграмм-боту, менеджер в реальном времени получает уведомления, если кто-то запросил отчет об автомобиле.
• Тестировал нагрузку с помощью wrk, основные запросы выдерживают до 10k+ RPS.
• Знаком с реактивным фреймворком WebFlux, но для данного проекта не было необходимости его использовать.
• Задокументировал основные API через Swagger (OpenAPI)
Игра "Три в ряд".
Разработана с использованием методики Бертрана Мейера оп ООАП
Ссылка на репозиторий проекта
Опыт
Работаю в международной компании по производству бытовой техники (BEKO) более 6 лет.
За время работы в компании:
• Реализовал множество проектов по повешении эффективности производства и оптимизации бизнес-процессов.
• Имеется опыт руководства проектами по повышению эффективности производства (сокращению затрат и потерь в производстве, снижению брака, сокращению запасов).
• Осуществлял обучение персонала методикам Lean production (WCM)
• Бенчмарки с другими заводами компании (по всему миру).
• Проводил подготовку к аудитам по методике Lean production и представление проектов.
• Участвовал в разработке Технических заданий.
• Внедрил несколько проектов, связанных с новым оборудованием.
Образование
Могу проходить интервью на английском языке
Проживаю в городе