Программист/ Java-разработчик
Контакты
О себе
Я заинтересован в вакансии Java-разработчика. Рассматриваю различные форматы работы: офис, гибридный или дистанционный. Готов к работе как в стартапах, так и в корпоративных проектах.
В свободное время прохожу курсы для повышения квалификации. Недавно закончил годовую программу по профессии Java-разработчик с сертификацией и пятью пет-проектами в портфолио, на обучающей платформе Hexlet. В будущем планирую изучить FullStack направление, включая HTML, CSS, JS.
Опыт работы:
Московский Кредитный Банк
Москва, www.mkb.ru
Март 2021 — январь 2023
1 год 11 месяцев
Java-разработчик
- Программирование на шине WSO2 Integration
- Создание сервисов на корпоративной платформе для интеграции интерфейсов прикладного программирования (API), приложений и веб-сервисов
- Кастомизация сервисов платформы WSO2(Java)
- Интеграция сервисов платформы WSO2 с RabbitMQ
- Разработка веб-приложений на Spring Boot
- Разрабатывал учебные материалы для junior-разработчиков
ООО "АР СОФТ"
Самара, www.vr-arsoft.com
Декабрь 2019 — март 2021
1 год 4 месяца
Java-разработчик
- Реализовал технический сайт для очков дополненной реальности с использованием Spring Boot, PostgreSQL, Hibernate
- Участвовал в написании десктопных приложений на JavaFX.
- Участвовал в написании инженерных калькуляторов под различные задачи
- Работал над оптимизацией SQL запросов БД через ORM
- Занимался тестированием ручным и автоматизированным(JUnit) десктопных приложений
- Создавал скрипты для инсталятора InnerSetup
ООО "Системная-интеграция Атанор"
Москва, www.atanorgroup.ru
Май 2013 — март 2018
4 года 11 месяцев
Инженер
Отдел проектирования и пуско-наладочных работ мультимедийных комплексов и программного обеспечения
- Программирование центральных контроллеров Crestron
- Занимался тестированием ручным и автоматизированным
- Интеграция решений мультимедиа систем в бизнес-процесс
- Обучение пользователей и внедрение программного обеспечения
- Ведение переговоров на этапе проектирования и сдачи объектов
- Администрирование и верстка web-сайтов
- Разработка технических решений для бизнес-процессов
- Разработка пользовательских интерфейсов
- Организация и ведение пуско-наладочных работ
ООО "Инвестгазавтоматика"
Ведущий специалист
Специалист по контрольно-измерительным приборам и систем автоматизации.
Май 2009 — март 2012
2 года 11 месяцев
Проекты:
В процессе обучения были реализованы следующие проекты:
Менеджер задач
Это веб-приложение, являющееся системой управления задачами, которое позволяет создавать задачи, изменять их статусы и назначать для них исполнителей, а также устанавливать теги для удобной группировки задач по ним.
Полученные навыки:
* Применены принципы построения веб-приложения с использованием архитектурного стиля REST и MVC-архитектуры;
* Получен опыт работы с фреймворком Spring(Spring Boot, Spring Web, Spring Data JPA, Spring Security);
* Знакомство с открытым стандартом для создания токенов доступа - JSON Web Token;
* Опыт использования библиотеки для управления изменениями схемы базы данных - Liquibase;
* Понимание принципов работы платформы контейнеризации Docker;
* Работа с сервисами для деплоя приложений, работающими по модели PaaS.
* Навыки создания интерактивной документации по API с использованием Swagger.
Стек:
* Java 20, Spring Boot, Spring Web, Spring Data JPA, Spring Security, JWT, Liquibase, QueryDSL, Lombok, Swagger, SQL DB H2, PosgreSQL, Deploy: Render, Git, GitHub, Gradle, Checkstyle, Code Climate, JUnit5, MockMvc, Jacoco, GitHub Actions, make.
Анализатор страниц
Приложение представляет собой полноценный веб-сайт, позволяющий анализировать веб-страницы на предмет их пригодности для поисковой оптимизации (SEO).
Полученные навыки:
* Отработаны базовые принципы построения современных сайтов на MVC-архитектуре: работа с роутингом, обработчиками запросов и шаблонизатором, взаимодействие с базой данных через ORM;
* Углубление знаний о протоколе HTTP и клиент-серверной архитектуре;
* Знакомство с языком SQL для запросов к базе данных: вставка, модификация и удаление данных;
* Опыт использования шаблонов HTML и инструментов для создания сайтов и веб-приложений;
* Понимание основ работы протокола TCP и знакомство с понятием ip-адреса и порта;
* Работа с сервисами для деплоя приложений, работающими по модели PaaS.
Стек:
* Java 20, Javalin Framework, Thymeleaf, Bootstrap, ORM Ebean, SQL DB H2, PosgreSQL, Deploy: Render, Git, GitHub, Gradle, Checkstyle, Code Climate, JUnit5, MockWebServer, Unirest, Jacoco, GitHub Actions, make.
Валидатор данных
Библиотека для проверки корректности (валидации) данных.
Эта библиотека имеет широкое применение, так как практически все программы работают с внешними данными, которые нужно проверять на корректность. В первую очередь речь идет про данные форм заполняемых пользователями.
Полученные навыки:
* Опыт проектирования архитектуры приложения в объектно-ориентированном стиле с учетом возможности его расширения без переписывания кода;
* Применение и соблюдение принципов SOLID;
* Знакомство с Предметно-ориентированными языками (DSL);
* Опыт реализации приложения на основе fluent-интерфейса;
* Работа с лямбда-выражениями и углубление знаний о функциональных интерфейсах.
Стек:
* Java 17, Git, GitHub, Gradle, Checkstyle, Code Climate, JUnit5, Jackson, GitHub Actions, make.
Вычислитель отличий
Утилита, определяющая разницу между двумя структурами данных(входными файлами).
Возможности утилиты:
- Поддержка разных входных форматов: yaml и json;
- Генерация отчета об отличиях в виде plain text, stylish и json.
Полученные навыки:
* Развитие ООП мышления;
* Применение принципов модульности и абстракции;
* Работа с параметрами командной строки;
* Углубление понимания работы операционных систем в целом и командных интерпретаторов в частности;
* Применение практики непрерывной интеграции(CI/CD);
* Разработка на основании подхода Test-Driven Development (TDD) с использованием JUnit5 и JaCoCo;
* Использование библиотеки picocli для создания утилиты командной строки;
* Парсинг данных из файлов с использованием библиотеки Jackson;
* Работа с Java Collections Framework (основная логика проекта реализована на его возможностях).
Стек:
* Java 17, Git, GitHub, Gradle, Checkstyle, Code Climate, JUnit5, picocli, Jackson, GitHub Actions, make.
Игры разума
Приложение представляет собой пять игр, тренирующих арифметические и математические навыки. Взаимодействие с играми осуществляется через консоль.
Полученные навыки:
* Работа с терминалом, консолью и командным интерпретатором bash Linux(Ubuntu);
* Работа с Git;
* Работа с GitHub;
* Использование Gradle для сборки проекта и управления зависимостями;
* Использование инструкций в Makefile для автоматизации сборки проекта;
* Использование статического анализатора кода (Checkstyle);
* Автоматическое отслеживание качества кода (Code Climate);
* Работы по настройке окружения;
* Опыт построения архитектуры полноценного приложения и написания чистого кода.
Стек:
* Java 17, Git, GitHub, Gradle, Checkstyle, Code Climate, make.
Мои навыки:
Java Core
Принципы ООП и алгоритмы
Java Collections Framework
Spring Framework
PosgreSQL/H2
Hibernate ORM
Deploy
Docker
Liquibase
Lombok
Swagger
Intellij IDEA
Gradle/Maven
Git/Github
Работа с терминалом, консолью и командным интерпретатором Linux
Разработка через тестирование (TDD), JUnit5
Основы HTML / CSS
Автоматизация тестирования и доставки CI/CD
Опыт интеграции WSO2 с RabbitMQ и Kafka
Разработка небольших приложений на Apps script, Google API
Навыки написания скриптов для инсталлятора InnerSetup
Образование
Читаю профессиональную литературу на английском языке
Проживаю в городе Москва