readme - cv

-help

-aboutme
  • ... Сергей Симонов.
  • ... Senior Backend Developer фешемебельных highload applications.
  • ... Только аккредитованные IT-компании / Только full-time.
  • ... 5+ лет коммерческого опыта в роли Backend Developer.
  • ... 1 год коммерческого опыта в роли Team lead.
  • ... Готов перейти на Go.
  • ... Адепт SOA.
  • ... Защитник SOLID.
  • ... Свидетель рефакторинга.
  • ... Заклинатель Spring'a.
  • ... Укротитель Legacy.
  • ... Участник крестового похода из mongo в postgres.

-contacts

-location

... Saint-Petersburg, Russia

-experience
  • ... Team Lead / Senior Java Backend Developer
  • ... МТС · Full-time
  • ... · (Aug 2022 - Present)
  • ... Saint-Petersburg, Russia · Remote
... Product:
"МТС Умный дом". Агрегатор умных устройств различных производителей, а также клиент для управления внутренними устройствами МТС. (Aqara, Tuya, Daichi, EKF, Redmond, Polaris, МТС etc). Cloud-to-cloud, ZigBee & IR connections.
... Development methodology:
Kanban / Feature Driven Development.
... Git strategy:
Trunk Based Development.
... Architecture:
Microservices (15 services)
... Load:
~5K RPS. 100K+ devices.
... Stack:
Java 11/17/21, Spring (Boot, Kafka, AQMP, WebFlux, Data Mongo, Data JPA), MongoDB, Redis, Postgres, ClickHouse, Kafka, RabbitMQ, Docker, Kubernetes, GitLab CI/CD, ELK, Prometheus, OpenTelemetry, WebSocket, REST, jsonRPC, gRPC, MQTT.
... Main achievements:
  • 1. Исправил множество критических багов.
  • 2. Спроектировал, разработал и довел до продакшена универсальную систему интегрирования новых типов устройств. В результате значительно сократил T2M для новых устройств.
  • 3. Разработал сервис интеграции с облаками производителей (Управление устройствами от имени пользователя) и получения телеметрии от устройств. Реализовал интеграцию с Daichi (увлажнители, кондиционеры) и EKF (розетки, лампочки, сетевые фильтры).
  • 4. Разработал сервис сертификации устройств МТС.
  • 5. Разработал сервис взаимодействия с устройствами МТС через MQTT брокер (EMQX).
  • 6. Разработал сервис отправки событий об изменении состояний умных устройств по WebSocket. В следствии чего мобильное приложение стало более отзывчивым и улучшило пользовательский опыт.
  • 7. Разработал сервис авторизации через МТС WebSSO (OAuth2).
  • 8. Разработал сервис создания виртуальных ZigBee устройств, управления ими и имитации срабатывания датчиков. Тем самым значительно упростил тестирование приложения.
  • 9. Разработал сервис управления прошивками видеокамер МТС.
  • 10. Разработал сервис API Gateway, вынес на него логику по авторизации и обогащению тела ответа текстовками об ошибках бизнес-логики. Тем самым минимизировал затраты на рефакторинг авторизации и обработку новых ошибок бизнес-логики.
  • 11. Реализовал функционал подключения и управления ИК-устройствами для интеграции с Tuya.
  • 12. Руководил разработкой интеграций API Умного Дома Яндекса, включая объединение аккаунтов пользователей с другими платформами (OAuth2). Значительно сократили T2M новых интеграций.
  • 13. Руководил командой из 5 человек. Проводил onboarding, code review, daily, декомпозиции, планирование, 1:1.
  • 14. Участвовал в проектировании новой архитектуры бекенда Умного Дома. В итоге была реализована масштабируемая архитектура C2C интеграций.
  • 15. Добавил в проект поддержку трассировки запросов по стандарту OpenTelemetry. Тем самым значительно повысил наблюдаемость системы.
  • 16. Занимался поддержкой production'а. Разбирал инциденты на проде.
  • ... Middle Java Backend Developer
  • ... СБЕР · Full-time
  • ... 1 yr 2 mos · (Apr 2021 - May 2022)
  • ... Saint-Petersburg, Russia · Hybrid
... Product:
Сервис страхования кредитных карт в "Сбербанк Онлайн". Сервис работает по подписке.
... Development methodology:
Scrum.
... Git strategy:
GitFlow.
... Architecture:
SOA.
... Stack:
Java 11, Spring (Boot, MVC, Data JPA), Postgres, Kafka, Hibernate, JUnit, Mockito, Maven, Docker, OpenShift, Jenkins, Grafana, Confluence, Jira.
... Main achievements:
  • 1. Исправил множество критических багов.
  • 2. Спроектировал и разработал функционал выбора версии страховки и ее дальнейшего оформления (ранее в сервисе была только одна версия страховки). Вследствие чего увеличилась доходность продукта.
  • 3. Провел глубокий рефакторинг бизнес-логики бекенда (переписал ~40% кода, заметно увеличил гибкость в интеграции новых бизнес-фич).
  • 4. Провел глубокий рефакторинг системы бизнес-мониторинга (провел аудит всех бизнес-метрик, функционал мониторинга был переработан, став более гибким и удобочитаемым). Это позволило продуктовым аналитикам точнее определять воронку продаж.
  • 5. Интегрировал продукт с системой аудита.
  • 6. Спроектировал и реализовал библиотеку версионирования ресурсов. Библиотека является вспомогательной для Backend-Driven UI движка Сбера. Библиотека используется многими командами внутри компании. Благодарая данной разработке был задан стандарт версионирования UI ресурсов для Middle-Backend систем в Сбере.
  • 7. Проводил code review PR'ов коллег по команде, а также PR'ов коллег из других команд.
  • 8. Проводил груминг-сессии, декомпозиции, дейли.
  • 9. Был наставником двух Junior Java Backend разработчиков во время их стажировок.
  • ... Java Backend Developer
  • ... StroyDocABC · Contract
  • ... 1 yr 6 mos · (Sep 2019 - Feb 2021)
  • ... Saint-Petersburg, Russia · Remote
... Product:
CRM - система. Управление информацией о заказах, клиентах и сотрудниках юридической фирмы. Напоминание (по email) об отпусках сотрудников. Уведомление (по email) менеджеров об изменении статуса задачи.
... Development methodology:
Waterfall.
... Git strategy:
GitHub Flow.
... Architecture:
Monolith.
... Stack:
Java 11, Spring (Boot, MVC, Data JPA, Cache), Postgres, Hibernate, JUnit, Mockito, Maven, Docker, Jenkins CI/CD.
... Main achievements:
  • 1. Взаимодействовал с заказчиком, сформировал ТЗ на основе его потребностей.
  • 2. Спроектировал схему БД, бизнес-модель данных и API-контракты.
  • 3. Разработал всю backend-часть с нуля до релиза в production.
  • 4. Настроил CI/CD с помощью Jenkins.
  • 5. Консультировал фронтенд-разработчика по интеграции с бекендом.
  • 6. Сопровождал production, разбирал инциденты.
  • 7. В итоге передал заказчику готовое приложение, которое повысило эффективность работы его бизнеса.

-education
  • ... Saint Petersburg State University of Aerospace and Instrumentation
  • ... Specialty: Computer Science and Engineering, Bachelor
  • ... Graduation year: 2020
  • ... Grade: 4.67

-publications
  • ... 'The Socket and ServerSocket classes, or “Hello, server? Can you hear me?"'
  • ... JavaRush · May 8, 2018
  • ... link
  • ... Руководство о том, как написать консольный многопользовательский чат на Java.
  • ... 200K+ views

-languages
  • ... English - Limited working proficiency
  • ... Русский - Native

-certifications

-petprojects
  • ... Wiizengamot (Android Application, client for unsplash.com)
  • ... github
  • ... Android приложение для просмотра фотографий с сервиса unsplash.com. Можно просматривать последние загруженные фото, искать фото по ключевым словам. Также можно просматривать фото в детальных карточках или в webview. Используя toggle на главном экране можно подписаться на уведомления о новых загруженных фото.
  • ... Pie (Pseudo code compiler)
  • ... github
  • ... Полноценный компилятор простого псевдо языка, состоящего из нескольких правил.
  • ... Talk (Multithreading console chat)
  • ... github
  • ... Многопользовательский консольный чат. По данному проекту я написал статью на javarush (200K+ views).
horoshoznaet@lasthost ~ $
horoshoznaet@lasthost ~ $
horoshoznaet@lasthost ~ $ _