Моё знакомство с миром технологий началось в раннем возрасте. С 13 лет я увлекся разработкой сайтов на платформе uCoz, что привело к самостоятельному изучению HTML и CSS. Это хобби со временем переросло в страсть к технологиям и программированию.
В университете я продолжил своё развитие в этом направлении, начав помогать однокурсникам с лабораторными работами по программированию. Уже к концу первого курса я нашел единомышленников и запустил сайт для помощи студентам из различных вузов, который включал интернет магазин с возможностью онлайн оплаты. Но к концу третьего курса я решил завершить этот проект, чтобы сосредоточиться на своём профессиональном и карьерном росте.
Мой основной язык программирования – Java. ==Развиваюсь в основном в направлении backend разработки и DevOps==: могу написать свой [SSO сервер с использованием Oauth2](https://struchkov.dev/blog/ru/how-oauth2-works/), написать библиотеку для реализации ABAC, написать сервис для хранения файлов с использованием MinIO S3. C декабря 2021 года активно осваиваю и [использую в работе Quarkus](https://struchkov.dev/blog/ru/tag/quarkus/) для написания микросервисов в реактивном стиле 🚀
Во фронт не лезу, не мое это, но могу немного в HTML и CSS. Также мне нравятся задачи связанные с DevOps: могу [настроить полный CI/CD](https://struchkov.dev/blog/ru/java-gitlab-cicd/), упаковать приложение в Docker и написать DockerCompose, [оптимизировать работу nginx](https://struchkov.dev/blog/ru/nginx-optimization/), или [создать собственную домашню экосистему облачных сервисов](https://struchkov.dev/blog/ru/raspberry-home-cloud-services-ecosystem/).
На данный момент работаю ведущим разработчиком в [T1 Group](http://t1.ru/). Не смотря на небольшой ==стаж промышленной разработки в 5 лет, я уже техлид команды из 8 человек.== Сейчас моя команда занимается разработкой и сопровождением 20+ сервисов, которые отвечают за различные коммуникации: групповые чаты, внешние чаты (Telegram, Viber и т.д.), интеграция сАТС для звонков, видео звонки и так далее.
Помимо основной работы ==был наставником в [Яндекс.Практикум на курсе Java](https://practicum.yandex.ru/java-developer/).== Не денег ради, а для прокачки софт-скилов и навыков объяснения своего видения разработки другим. В качестве наставника помогаю "студентам" находить ответы, если гугл не помог. И раз в две недели проводил вебинары, где мы разбирались в различных темах в Java.
Я из тех, для кого разработка это не только работа, но и любимое хобби. Поэтому в свободное время я занимаюсь либо [своими пет-проектами](https://struchkov.dev/blog/ru/about/#%F0%9F%92%A9-%D0%BC%D0%BE%D0%B8-%D0%BF%D0%B5%D1%82-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B), либо пишу [статьи о разработке](https://struchkov.dev/blog/ru/archive/) в этот блог. Также смотрю различные доклады и хожу на конференции и митапы.
В какой-то момент у меня появилось непреодолимое желание писать, а так как я умею программировать, то решил что самое время завести блог по программированию. Это мой основной блог, на него уходит большая часть творческих ресурсов.
- [Struchkov.Dev](https://t.me/dev_java_blog) — своего рода change log обновлений блога. Публикую там анонсы новых статей, и о крупных обновлений старых.
Но так как желание никуда не ушло, а на написание технических материалов уходит много времени, то появился второй блог — ["Заметки Разработчиков"](https://note.struchkov.dev/). Туда я пишу всякие заметки и мысли, не только на тему IT.
Есть желание создавать видео ролики к своим статьям, поэтому появился соответсвующий канал: [youtube.com/@struchkovdev](https://www.youtube.com/@struchkovdev)
Мессенджеры в целом все похожи: у всех есть сообщения, у сообщения есть отправитель, текст, клавиатура, какие-то вложения. Данный проект абстрагирует общие сущности и поведение разных мессенджеров, игнорируя частные особенности.
Таким образом разработка новой библиотеки под конкретный мессенджер занимает меньше времени. А проекты написанные на таких библиотеках имеют общий программный стиль, общую архитектуру. Это позволяет намного легче создавать и поддерживать ботов под разные мессенджеры с похожим функционалом.
> Этот проект был темой моего дипломного проекта в университете. С 2018 года и я до сих пор продолжаю работу над ним. Более того, мы успешно используем этот проект в работе.
Статьи про проект:
- [Библиотека для создания автоматизированных систем обработок сообщений](https://struchkov.dev/blog/ru/project-autoresponder/)
> [!EXAMPLE] GitHub 😺
> github.com/Godfather-Bots
#### GodFather Telegram
Библиотека для создания Telegram ботов на Java. Основана на GodFather, но дополнительно реализует особенности, которые есть только у Telegram. Например, инлайн клавиатура под сообщением.
На основе библиотеки GodFather Telegram я создаю различные полезные боты для Telegram.
#### 🔔 Gitlab Notify Bot
А это самый полезный мой проект, который пока набрал только 🌟78🌟 на GitHub. Он позволяет гибко настроить персональные уведомления из GitLab в телеграм.
Никто из нас не любит писать типичный-тривиальный код. Это мой личный фреймворк, в который я собираю интересные и полезные решения, которые потом могу использовать в других проектах.