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