Java Developer
Контакты
Стремлюсь начать карьеру Java-разработчика в команде, где смогу применять свои знания на практике, решать реальные задачи и профессионально развиваться.
Увлечен разработкой, архитектурой веб-приложений и построением масштабируемых решений. Постоянно прокачиваю навыки через обучение на курсах Хекслета, в университете и в ходе самостоятельной разработки проектов.
Мой стек и опыт включают:
• Java (17+), ООП, принципы SOLID
• CLI-приложения с использованием Picocli
• Работа с форматами JSON и YAML через Jackson
• Тестирование с использованием JUnit 5, MockWebServer (OkHttp) для эмуляции внешних API
• Разработка REST API, включая реализацию CRUD-операций, фильтрации, DTO и мапперов
• Реализация аутентификации и авторизации с использованием JWT и Spring Security
• Опыт проектирования реляционных баз данных (PostgreSQL, MySQL), взаимодействие через JDBC и Hibernate (ORM), понимание нормализации и связей (OneToMany, ManyToMany)
• Уверенное владение Gradle (Kotlin DSL) и Git
• Создание веб-приложений на Javalin и Spring Boot с архитектурой MVC
• Работа с шаблонизатором JTE, Bootstrap, а также реализация клиентской части вручную на HTML, CSS и JavaScript
• Понимание HTTP, клиент-серверной архитектуры, организация маршрутизации и обработка HTTP-запросов
• Развертывание приложений на PaaS (Render), настройка CI/CD через GitHub Actions
Разрабатывал проекты, включающие регистрацию, аутентификацию, работу с пользовательскими профилями, управление задачами и мероприятиями, фильтрацию по категориям и статусам, реализацию прав доступа на уровне ресурсов. Освоил проектирование API и структурирование кода с фокусом на читаемость и расширяемость.
Готов к новым профессиональным вызовам, открыт для командной работы и постоянно стремлюсь к улучшению своих навыков в области backend-разработки и архитектуры веб-приложений.
Технические навыки:
Языки программирования :
• Java
• SQL (PostgreSQL, MySQL)
• JavaScript (основы: взаимодействие с DOM, отправка HTTP-запросов)
Фреймворки и библиотеки:
• Spring Boot (включая Spring Web, Spring Security)
• Hibernate (JPA, ORM)
• Javalin (легковесный веб-фреймворк)
• JTE (шаблонизатор для Java)
• Bootstrap (CSS-фреймворк)
• Jackson (парсинг JSON и YAML)
• Picocli (разработка CLI-приложений)
Архитектурные подходы:
• MVC (Model-View-Controller)
• REST API (GET, POST, PUT, DELETE)
• DTO и маппинг
• JWT (аутентификация и авторизация)
• ООП, SOLID
• Fluent API, DSL
Тестирование:
• JUnit 5
• Интеграционные тесты (HTTP, база данных)
• MockWebServer (OkHttp) — эмуляция внешних API
Инструменты разработки:
• IntelliJ IDEA (основная IDE)
• VS Code (для верстки и JS)
• Git, GitHub (система контроля версий)
• GitHub Actions (CI/CD-пайплайны)
Базы данных и взаимодействие:
• JDBC (ручное взаимодействие с БД)
• ORM (Hibernate: работа с сущностями, связями OneToMany, ManyToMany)
• SQL-запросы, проектирование структуры БД, нормализация
Веб-технологии:
• HTML, CSS
• JavaScript (клиентская часть)
• HTTP (методы, заголовки, коды ответа)
• JWT-токены, куки, безопасность
DevOps и развертывание:
• PaaS (Render — деплой приложений)
• Linux (Ubuntu, Bash/Zsh)
Контроль версий :
• Git
• GitHub
Инструменты командной строки :
• CLI: Picocli
• Bash/Zsh (работа с терминалом в Linux)
Логирование:
• SLF4J, Logback (конфигурация и вывод логов)
Мягкие навыки:
• Быстрая адаптация к новым технологиям
• Умение договариваться и работать в команде
• Грамотная коммуникация
• Высокий уровень самоорганизации
• Ответственность и дисциплинированность
• Стремление к постоянному обучению и росту
Первый проект: Игры разума
Описание: консольное приложение, состоящее из пяти логических и арифметических игр, которые помогают улучшить знания в математике и развить логическое мышление.
Результат: углубил навыки работы с Java Core, научился строить структурированный и поддерживаемый код. Применил принципы чистого кода и улучшил навыки работы с инструментами разработки.
Технологический стек:
• Java
• Gradle
• Git, GitHub
• Ubuntu
• IntelliJ IDEA
Второй проект. Вычислитель отличий
Описание: вычислитель отличий – программа, определяющая разницу между двумя структурами данных. Подобный механизм используется при выводе тестов или при автоматическом отслеживании изменении в конфигурационных файлах.
Возможности утилиты:
Поддержка разных входных форматов: yaml и json
Генерация отчета в виде plain text, stylish и json
Результат: освоил проектирование модульной архитектуры, эффективно работал со структурами данных и оптимизировал алгоритмы обработки. Улучшил навыки тестирования, работы с CLI и парсинга JSON/YAML.
Технологический стек:
• Java
• Gradle
• Git, GitHub, GitHub Actions
• Ubuntu
• IntelliJ IDEA
• Jackson
• Picocli
• JUnit
Третий проект.Валидатор данных
Описание: валидатор данных – библиотека, с помощью которой можно проверять корректность любых данных. Подобных библиотек множество в каждом языке, так как практически все программы работают с внешними данными, которые нужно проверять на корректность. В первую очередь речь идет про данные форм заполняемых пользователями. За основу для проекта взята библиотека yup.
Результат: разработал библиотеку для валидации данных с гибкой архитектурой, поддерживающей fluent-интерфейс и принципы SOLID. Улучшил навыки проектирования классов, работы с DSL, тестирования (TDD) и построения расширяемых решений.
Технологический стек:
• Java
• Gradle
• Git, GitHub, GitHub Actions
• Ubuntu
• IntelliJ IDEA
• JUnit
• OOP, SOLID, Fluent API
Четвертый проект.Анализатор страниц
Описание: Page Analyzer – сайт, который анализирует указанные страницы на SEO пригодность.
Результат: я освоил создание веб-сайтов на Javalin с использованием MVC-архитектуры, научился работать с роутингом, обработкой HTTP-запросов и шаблонизатором. Приобрел навыки проектирования баз данных, взаимодействия через JDBC и применения нормальных форм. Опыт включает верстку с Bootstrap, написание интеграционных тестов для проверки запросов и ответов, разворачивание локальной инфраструктуры (веб-сервер, БД) и деплой сайта на Render (PaaS). Теперь я понимаю, как устроена клиент-серверная архитектура, и могу объяснить процесс обработки HTTP-запросов от пользователя до получения ответа.
Технологический стек:
• Java
• Gradle
• Git, GitHub, GitHub Actions
• Ubuntu
• IntelliJ IDEA
• JUnit
• Javalin, JTE
• JDBC, SQL
• PaaS
• HTTP
• Логирование
• Bootstrap
Пятый проект. Менеджер задач
Описание: Task Manager – система управления задачами, аналогичная Redmine. Сервис позволяет создавать задачи, назначать исполнителей, устанавливать статусы и управлять ими. Для взаимодействия с системой пользователю необходимо пройти регистрацию и аутентификацию.
Результат: в этом проекте я освоил разработку полноценных веб-приложений с использованием Spring Framework и принципов MVC. Получил опыт проектирования реляционных баз данных с учетом связей между сущностями (OneToMany, ManyToMany), реализации бизнес-логики через ORM (Hibernate), а также настройки авторизации и аутентификации.
Я научился использовать ресурсный роутинг для унификации CRUD-операций, документировать API через Swagger и отслеживать ошибки в продакшене с помощью Sentry. Также приобрел практику написания интеграционных тестов, деплоя на PaaS-платформу и эксплуатации готового приложения.
Этот проект помог мне лучше понять клиент-серверную архитектуру, повысить уровень абстракции при работе с данными и научиться применять современные подходы к проектированию REST API.
Технологический стек:
• Java
• Gradle
• Spring Boot
• Spring Security
• Hibernate (ORM)
• PostgreSQL
• JDBC
• Git, GitHub, GitHub Actions
• Swagger
• Sentry
• PaaS
• JUnit
• IntelliJ IDEA
• Ubuntu
• Логирование
• HTML, CSS (Bootstrap)
• HTTP
Шестой проект. Прототип web-приложения "Поиск мероприятий для студентов КФУ"
Описание: «Поиск мероприятий для студентов КФУ» — web-приложение, предназначенное для централизованного поиска, просмотра и создания студенческих мероприятий в Казанском (Приволжском) федеральном университете. Сервис помогает студентам находить события по интересам: от научных конференций до волонтерских акций, а также создавать собственные мероприятия и управлять ими. Проект реализован как полноценная клиент-серверная система, в которой особое внимание уделено безопасности, разграничению прав доступа и удобству взаимодействия с системой.
Результаты: в рамках проекта я разработал как серверную, так и клиентскую часть приложения. На стороне сервера использовался фреймворк Spring Boot с реализацией REST API, системой аутентификации на основе JWT и распределением прав пользователей. Я спроектировал и реализовал взаимодействие между сущностями с использованием ORM (Hibernate) и DTO, настроил валидацию входящих данных и защиту API-эндпоинтов.
На клиентской стороне самостоятельно создал интерфейс с помощью HTML, CSS и JavaScript, обеспечив удобную навигацию, формы для ввода данных и отображение информации. Также реализовал фильтрацию мероприятий, регистрацию, авторизацию и защиту действий через токен.
В процессе я получил ценный опыт проектирования web-систем, построения архитектуры REST API, реализации защиты пользовательских данных и разработки полнофункциональных клиентских интерфейсов. Проект стал итогом изучения современных технологий разработки и может быть основой для внедрения в инфраструктуру КФУ.
Технологический стек:
• Java
• Gradle
• Spring Boot
• Spring Security
• Hibernate (ORM)
• PostgreSQL
• JDBC
• JUnit
• Git, GitHub, GitHub Actions
• PaaS
• IntelliJ IDEA
• Ubuntu
• HTML, CSS, JavaScript (ручная реализация клиентской части)
• HTTP
• Логирование
Опыт
Вожатый и организатор мероприятий в детских лагерях. Лучший вожатый летней смены 2023 года.
Образование
Проживаю в городе Казань
Живу в Казани. Занимаюсь творчеством в университете.
Изучаю новую информацию, технологии по Java и отрабатываю полученные знания на практике Codewars. Прошел курсы на Хэкслете "Профессия: Java - разработчик".