Hi 👋 I'm Struchkov Mark

Эта страница рассказывает обо мне, как о техническом специалисте. Здесь коротко описан мой карьерный путь и рост, а также мои пет-проекты.

· 7 минуты на чтение

Приветствую тебя на моем блоге 👋
Меня зовут Марк, я Ведущий Java разработчик из Рязани 👀🍄
Мне 23, 24, 25 лет.

Ты находишься на моем блоге о разработке на Java. Подробнее об устройстве блога читай в отдельной статье. А ниже можешь познакомиться со мной и моей экспертизой.

😜
Это неформальное резюме. Официальное тут 👉 career.habr.com/uPagge
Если вы HR, то писать с предложениями о работе туда же ☝️

👨‍💻 Короткое интро

Мой основной язык программирования – Java. Развиваюсь только в направлении backend разработки: могу написать свой SSO сервер с использованием Oauth2, написать библиотеку для реализации ABAC, написать сервис для хранения файлов с использованием MinIO S3. C декабря 2021 года активно осваиваю и использую в работе Quarkus для написания микросервисов в реактивном стиле.

Во фронт не лезу, не мое это, но могу немного в HTML и CSS. Также мне нравятся задачи связанные с DevOps: могу настроить полный CI/CD, упаковать приложение в Docker и написать DockerCompose, оптимизировать работу nginx, или создать собственную домашню экосистему облачных сервисов.

На данный момент работаю ведущим разработчиком в T1 Group. Не смотря на небольшой стаж промышленной сразработки в 4 года, я уже техлид небольшой команды. Сейчас моя команда занимается разработкой и сопровождением 10+ сервисов, которые отвечают за различные коммуникации через WebRTC, SIP, Telegram между пользователям CRM системы и лидами.

Я люблю программировать, решать сложные задачи и расти как специалист. Поэтому в свободное время я занимаюсь либо своими пет-проектами, либо пишу статьи о разработке в этот блог. Также смотрю различные доклады и хожу на конференции и митапы.

Помимо основной работы подрабатываю в Яндекс.Практикум наставником на курсе Java. Не денег ради, а для прокачки софт-скилов и навыков объяснения своего видения другим. В качестве наставника помогаю "студентам" находить ответы, если гугл не помог. И раз в две недели провожу вебинары, где мы разбираемся в каких-то темах в Java.

🏆 Моя зона значков

Подобно бойскауту, коллекционирую тут "нашивки" технологий, с которыми работал продолжительное время. И прочие "регалии" также попадают сюда.

java   spring   spring   quarkus   postgres   elasticsearch aws   docker   nginx html   css   git   swagger   teamcity   hugo   keycloak   raspberry pi   letsencrypt   homeassistant   digitalocean

Раньше я дублировал некоторые свои статьи на Habr и даже входил в 19% лучших авторов по Java, но в итоге удалил там все свои статьи. Habr уже не торт, и только перетягивает на себя поисковый трафик, который мог бы идти сразу на мой блог.

Это конечно говорит больше о качесвте материалов на хабре, а не о том, какой я молодец, но все равно приятно 🙃

💼 Карьерный путь

Мой карьерный путь начался на последнем курсе универа. За год я прошел курсы от Epam и Сбера. После чего успешно прошел трехмесячную стажировку в Тинькофф, где решал задачу для генерации отчетов для руководства с использованием JasperReports. После прохождения стажировки решил не оставаться в Тинькофф и попытать счастье в другой компании — Т1 Иновации. Там я и работаю до сих пор.

В основном на работе приходится иметь дело с CRM системами различной направленности. Участвовал с нуля в разработке 3 проектов. С декабря 2021 года работаю с Quarkus и реактивным подходом.

На работе занимаюсь только backend разработкой на Java и немного DevOps при необходимости, фронт всячески избегаю.

Витрина KomissiON

Это маркетплейс залогового имущества ВТБ. Кто-то берёт креди́т, в залог оставляет лодку, или дом, или завод. Потом креди́т не выплачивает. Залоговое имущество отходит к ВТБ. Для банка это непрофильный актив. Его нужно реализовать и получить деньги. KomissiON это витрина таких активов.

Архитектура: монолитная
--
Технологический стек: Java 8 –> 11, SpringBoot, Hibernate, PostgreSQL, Maven, ElasticSearch, SOAP, Rest API, Git (Bitbucket).
--
Должность: Junior Java Developer
Продолжительность работы: Июнь 2019 — Февраль 2020 (9 месяцев)
--
Сайт проекта: https://komission.vtb.ru

Первый серьёзный проект, на который я пришёл джуном. Команда была небольшая, поэтому раскачиваться было некогда. Моей основной задачей была разработка системы фильтрации на основе ElasticSearch.

Маркетинговая CRM-система

Упоминать название заказчика не могу, они до сих пор не согласовали пресс-релиз 😡 В итоге упоминать их нельзя, но это о-о-о-очень известный театр 😉

Система позволяет сегментировать клиентов на основе различных сложных фильтров. После чего проводить email рассылки через Microsoft Exchange. Дополнительно CRM позволяет реализовать программу лояльности c начислением кешбэка и присвоением различных ачивок.

Архитектура: многомодульный монолит с отдельным сервисом авторизации.
--
Технологический стек проекта: Java 11 –> 17, Spring Boot (Security, Data), Hibernate, Liquibase, Maven, Docker, Docker Compose, Nginx.
--
Должность: Middle Java Developer —> TeamLead
Продолжительность работы: Февраль 2020 — Октябрь 2021 (1 год и 9 месяцев)

На этот проект я попал уже в должности Middle. Проект мы довели до логического завершения. Стабильно работает без вмешательства команды разработки уже более 6 месяцев. На этом проекте я впервые примерил на себе должность тимлида 💪😎

Интересные задачи, которые решал:

  • Активно участвовал в проработке архитектуры системы.
  • Единолично разрабатывал OAuth 2.0 SSO сервис на основе Spring. В качестве хранилища пользователей интегрировался с внешним LDAP.
  • Внедрял собственную opensource библиотеку, реализующую контроль доступа по типу ABAC.
  • Разрабатывал сервис уведомлений пользователей на разные события в системе. Внешние уведомления по email и/или Telegram.
  • Создавал системы фильтрации при помощи Elastic Search, Criteria API, JOOQ.
  • Для SSO между CRM и существующей системой на Lifray дорабатывал open source плагин для liferay.
  • Разрабатывал сервис хранения файлов на основе MinIO S3.
  • DevOps:
    • Переносил многокомпонентный проект в Docker Compose.
    • Настраивал Bitbucket Server, TeamCity и их интеграцию с нуля.
    • Настраивал Nexus Sonatype для корпоративных нужд.
    • Настраивал непрерывную интеграцию для всех контуров при помощи Gitlab CI.

Bug Tracking System

Система для заведения ошибок в других проектах компании. Функционал похож на Jira.

Архитектура проекта: Микросервисная
--
Технологический стек: Java 11, Reactive Native Quarkus, Kafka, Hibernate Panache, Gradle
--
Должность: Senior Java Developer
Продолжительность: Октябрь 2021 — Март 2022 (6 месяцев)

На этом проекте я был недолго, помогал начать разработку. Моей задачей было создать сервис, который позволит: заводить задачи, назначать ответственных и так далее.

T1 CRM

Это CRM-система в классическом её виде: лиды, воронки, сделки. Я со своей командой занимаюсь сервисами коммуникации.

Архитектура проекта: Микросервисная
--
Технологический стек: Java 17, Reactive Quarkus, Kafka, Redis, GraphQL, WebRTC, PostgreSQL, Protobuf, WesSocket, Hibernate, Docker, Gradle
--
Должность: Архитектор / TeamLead Java
Продолжительность: Янаварь 2022 — настоящее время
--
Сайт проекта: https://crm.t1-consulting.ru

На этом проекте я тимлид и техлид небольшой команды. Мы разработали и поддерживаем 10+ микросервисов, которые отвечают за коммуникации между пользователями и лидами.

Также моя команда разрабатывала Telegram бота для работы с CRM системой: просматривайте сделки системы, договора, заметки и прочую информацию прямо в Telegram. Также быстро заводите сделки через этого бота. И получать уведомления от системы в мессенджер.

💩 Мои пет-проекты

А тут можно ознакомиться c кучкой полезными проектами, которые я пилю по настроению в свободное время.

Подробнее о проектах в этом разделе: struchkov.dev/blog/project

🖊 uBlogger

Пока это самый популярный пет-проект. Он набрал 🌟240🌟 на GitHub. Это предыдущий шаблон моего блога для генератора статических сайтов Hugo.


🤖 GodFather Bots

Это набор библиотек, которые позволяют реализовывать фреймворки, которые в свою очередь реализовывают ботов для конкретных социальных сетей.

Этот проект был темой моего дипломного проекта в университете, и я до сих пор продолжаю работу над ним. Более того, мы успешно используем этот проект в работе.

Статьи про проект:

🔔 Gitlab Notify Bot

А это самый полезный мой проект, который пока набрал только 🌟30🌟 на GitHub. Он позволяет гибко настроить персональные уведомления из GitLab в телеграм. Основан на предыдущем проекте — GodFather Bots.

Продробнее о проекте можно почитать в статьях:


🌴 Haiti Framework

Никто из нас не любит писать типичный-тривиальный код. Это мой личный фреймворк, в который я собираю интересные и полезные решения, которые потом могу переиспользовать в других своих проектах.

🤙 Социальные сети

Обычно на любом ресурсе меня можно найти по нику: uPagge

⌨️ Coding:
  GitHub – github.com/uPagge
  Docker Hub – hub.docker.com/u/uPagge
  Habr – habr.com/ru/users/uPagge
  Maven Central: mvnrepository.com/artifact/dev.struchkov

💬 Social:
  Telegram: t.me/uPagge
  Habr Career – career.habr.com/uPagge

✏️ О блоге

В какой-то момент у меня появилось непреодолимое желание писать, а так как я умею программировать, то решил что самое время завести блог по программированию. Это мой основной блог, на него уходит большая часть творческих ресурсов.

Но так как желание никуда не ушло, а на написание технических материалов уходит много времени, то появился второй блог — Struchkov Daily. Туда я пишу всякие заметки и мысли, не только на тему IT.

А потом меня было уже не остановить, так появился третий блог — Pingver, в который я пишу такиже основательные статьи, как и в этот блог, но которые не относятся к программированию.

Например, всем рекомндую вот эти статьи:

♥️
Все статьи пишу с любовью

Донаты

Поделиться понравившейся статьей с друзьям – это лучший способ поддержки. Но если у вас уже есть вторая бэха, то можете поддержать меня рублем 😄

Куда кинуть монетку?

  • Тинькофф: tinkoff.ru/sl/NSGSK7FgEI
  • BTC (Taproot): bc1pk8h30f2m63znr8fu0c0tf6ddwpmwu8mwj7vypt0wp33g5nvvqc7qfatk62
  • ETH: 0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921
  • USDT: 0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921
  • USDC: 0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921
  • DAI: 0x7668C802Bd71Be965671D4Bbb1AD90C7f7f32921

Сколько кинуть?

Это решать вам, но вот на что можно ориентироваться:

👍 Месяц работы сервера: 650 р.
🤘 Домен на год: 3600 р.
🥃 Мой любимый вискарь: 1600 р.
😎 Затраты на год работы блога: 12000 р.