Java-разработчик
Контакты
Специалист с 15-летним опытом работы на различных должностях в сфере IT.
Начинал с позиции менеджера продукта вырос до руководителя отдела.
2 года назад сменил профессию на программиста.
На данный момент заканчиваю курс "Java разработчик" в Хекслете (остался последний модуль).
Ранее, работая менеджером продукта и управляя проектами, мне не хватало технической знаний в области разработки, сейчас этот гэп закрыт.Благодаря разносторонним навыкам и обширному опыту работы в IT, отлично понимаю задачи, которые ставит перед разработчиком бизнес. Знаю как выстраивать бизнес процесс, применяя эффективные методологии такие как Scrum.
Рассматриваю два варианта продолжения карьеры:
1. Разработчик программного обеспечения.
2. Менеджерская работа в сфере разработки ПО в качестве владельца продукта или менеджера.
Комфортный формат работы (удаленный/гибрид) в Санкт-Петербурге.
За время учебы реализовал следующие проекты
Анализатор страниц
Приложение анализирует указанные веб-сайты на SEO пригодность.
Проект выполнен в виде полноценный веб-сайт на базе фреймворка Javalin.
При разработке использованы базовые принципы построения современных сайтов на MVC-архитектуре: работа с роутингом, обработчиками запросов и шаблонизатором, взаимодействие с базой данных через ORM.
Полученные навыки:
* Фреймворк Javalin (Маршрутизация, Представление).
* База данных, (ORM Ebean, PostgreSQL, Миграции, query builders).
* Фронтенд (Bootstrap, использование шаблонизатора Thymeleaf).
* HTTP (в том числе выполнение запросов).
* Деплой (PaaS) на Railway.
* Интеграционное тестирование (библиотеки Unirest, MockWebServer ). Логгирование.
Валидатор данных
Проект представляет собой библиотеку, с помощью которой можно проверять корректность данных. Библиотека может быть использована во всех программах, которые работают с внешними данными, которые нужно проверять на корректность. Простой пример использования - проверка данных форм, заполняемых пользователями.
В проекте реализовано несколько схем валидации (текста, чисел, объектов типа Map)
Полученные навыки:
* Опыт проектирования архитектуры программы в объектно-ориентированном стиле.
* Проработка логики работы валидаторов.
* Тестирование (JUnit) и применение практики TDD - разработка через тестирование TDD.
* Настройка автотестов и CI (Github Action, Code Climate).
Вычислитель отличий
Программа позволяет определять разницу (диф) между двумя структурами данных.
Функционал программы используется при выводе тестов или при автоматическом отслеживании изменении в конфигурационных файлах.
Возможности утилиты:
* Поддержка разных входных форматов: yaml и json
* Генерация отчета в виде plain text, stylish и json
Полученные навыки:
* Работа с коллекциями и структурами данных.
* Опыт построения дерева различий, формирование необходимого вывода.
* Работа с файлам (JSON, YAML).
* Организация чтения файлов, парсинга входящих данных (библиотека Jackson).
* Тестирование (JUnit) и анализ покрытие кода тестами (плагина Jacoco).
* Создание интерфейса взаимодействия с программой через консоль (утилита Picocli).
Java Core, Java Spring (в процессе).
Фреймворки: ORM Ebean, Javalin.
Опыт работы с SQL и реляционным типом БД: Postgres, H2.
Небольшой опыт деплоя, работа с Docker.
Могу проходить интервью на английском языке
Проживаю в городе Санкт-Петербург