🎯 Здесь находят менторов в IT Хабр Эксперты
Дмитрий Малоштан (rickgibs), 35 лет, Россия, ЯрославльДмитрий Малоштан (rickgibs), 35 лет, Россия, Ярославль

Дмитрий Малоштан

Бэкенд разработчикСредний (Middle)
Не ищу работу

Контакты

Войти
Возраст: 35 лет
Опыт работы: 11 лет и 10 месяцев
Регистрация: 01.11.2021
Последний визит: 1 месяц назад
Гражданство: Россия
Местоположение: Россия, Ярославль
Дополнительно: готов к удаленной работе
Знание языков:

Обо мне

Профессиональный Java-разработчик с опытом коммерческой разработки на Java и Spring Framework. Опыт работы с крупными компаниями в IT.

Ключевые навыки:
- Языки программирования: Java
- Фреймворки: Spring Framework (Spring Boot, Spring MVC, Spring Data, Spring Cloud)
- Работа с БД: PostgreSQL, Hibernate ORM, Liquibase, Flyway
- Инструменты: Git, Docker, Gitlab CI, OpenShift
- Методологии: Scrum
- Тестирование: JUnit, Mockito, Testcontainers
- Прочее: Apache Kafka, REST, Swagger, Maven

Навыки

Java
Java Spring Framework
Spring Boot
PostgreSQL
Hibernate
Git
Junit
REST
Apache Maven
Apache Kafka

Опыт работы

  • Аналитика, разработка, тестирование, сопровождение
    От 10 до 100 сотрудников
    Бэкенд разработчик (Средний)Java developer
    Июль 2022 — Июль 2024 (2 года и 1 месяц)

    Разрабатывал backend часть веб-приложения на базе Java 17 и Spring Boot 3, для оценки KPI сотрудников внутри организации с размером штата более 50 тыс. человек.

    В ходе работы выполнялись конкретные задачи по реализации бизнес-логики в проекте с микросервисной архитектурой, состоящем из 11 микросервисов. В том числе общение между сервисами как синхронное, с помощью OpenFeign или WebClient, так и асинхронное с помощью Apache Kafka. Документирование API для frontend-разработчиков, используя OpenAPI/Swagger. Работа с базой данных PostgreSQL и системой миграции Liquibase, построение запросов через Spring Data и Criteria API, реализация динамической фильтрации с помощью Specifications, а так же использование Dynamic EntityGraph.

    Участие в полном цикле разработки:
    - совместное обсуждение с другими разработчиками и аналитиками вариантов решений конкретных кейсов и способов внедрения новых функциональностей в систему;
    - оценка сроков задачи в Jira;
    - консультации с аналитиком по задаче, внесение своих предложений;
    - реализация функционала в коде, покрытие unit-тестами с помощью Junit + Mockito и интеграционными тестами с использованием Testcontainers. Локальное тестирование функционала, разворачивая инфраструктуру в Docker compose
    - взаимодействие с тестировщиками, сливание кода и деплой на стенды в OKD, используя весь CI/CD цикл в gitlab CI;
    - поиск и решение багов, если таковые появляются.

    Достижения:
    - Увеличил покрытие кода тестами, внедрил использование Assertj вместо стандартных ассертов из junit.
    - Разработал Spring Boot Starter для синхронизации справочных значений между микросервисами, тем самым убрав много дублирующейся логики из каждого микросервиса.
    - Полностью написал микросервис уведомлений, который использовался остальными сервисами для отправки уведомлений пользователям.
    - Развивал общие библиотеки внутри компании, для использования во всех микросервисах.
    - Участвовал в реализации библиотеки для динамической фильтрации запроса с помощью criteria api, рефлексии и dynamic entitygraph.

    Стек технологий:

    Java 17, Sping Boot 3, Spring Web, Spring Data, Sring Cloud, Gateway, Openapi / swagger, REST, Jpa, Hibernate, Postgres, Liquibase, Apache kafka, Lombok, Junit, Mockito, Testcontainers, Openshift (okd), Docker, Gitlab CI

  • Аутсорсинговая компания, ориентированная на разработку ПО
    От 1000 до 5000 сотрудников
    Бэкенд разработчик (Младший)Java developer
    Январь 2022 — Июль 2022 (7 месяцев)

    Разрабатывал backend часть мобильного приложения для дистанционного банковского обслуживания:
    - реализация логики ендпоинтов;
    - взаимодействия между микросервисами (Kafka, Spring Cloud);
    - участие в проектировании и создании БД;
    - покрытие кода unit тестами;
    - совместная работа по методологии scrum;
    - взаимодействие с аналитиками, тестировщиками, фронтэндом;
    - проведение cross code review.

    Стэк технологий на проекте:
    Java 11, Spring Framework (Spring Boot, Spring MVC, Spring Security, Spring Data), Maven, PostgreSQL, Flyway, Hibernate ORM, JUnit, Mockito, Microservices (Kafka, Open Feign), REST, Swagger

  • Частная практика, работа без зачисления в штат
    Другое вне IT (Стажёр)Оценщик (По совместительству Java developer)
    Август 2018 — Январь 2022 (3 года и 6 месяцев)

    - самостоятельно изучал сферу Java разработки по учебникам, документации и гайдам;
    - примененял приобретённые знания на практике для автоматизации рутинных задач в оценке, используя Java, Spring, Selenium;
    - расчет и составление отчетов о рыночной стоимости объектов недвижимости;

  • Крупнейшая цифровая платформа. Технобренд, объединяющий лучшие мировые практики и самый современный стек
    ЯрославльБолее 5000 сотрудников
    Специалист залогового отдела
    Август 2017 — Август 2018 (1 год и 1 месяц)

    Оценка рыночной стоимости залогового имущества банка

  • Оценочная компания
    Другое вне IT (Средний)Оценщик
    Октябрь 2012 — Август 2017 (4 года и 11 месяцев)

    Оценка рыночной стоимости недвижимого и движимого имущества

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

  • СГУТиКД

    Сочинский государственный университет туризма и курортного дела
    Инженерно-экологический институт
    Сентябрь 2007 — Июнь 2012 (4 года и 9 месяцев)

    Инженер по специальности "Экспертиза и управление недвижимостью"