TGViewer
Tbilisi JS 🤟 Tbilisi JS 🤟 @tbilisi_js · 493 subscribers
Post #603 545
🎙Спрашиваем Алексея:

❓Лёша, ты Lead Software Developer в Salmon, ты больше 10 лет в профессии, и у тебя есть опыт разработки и фронтенда, и бэкенда. Расскажи, пожалуйста, подробнее о своём опыте и о своём пути в IT?

💬
Осознанный путь я начинал как Python-разработчик и на фронтенде в то время использовал только vanilla-технологии. Тогда я работал в чём-то вроде НИИ и пришлось ещё поработать с Qt, C++, OpenCV, настраивать полнотекстовый поиск в чате. В какой-то момент дали задачу переписать приложение с Angular на Vue, и это перевернуло моё понимание фронтенда, показалось очень интересным, и я стал уходить в это направление. Перешёл в Rambler, где переводил приложение с XSLT на React и получил классный опыт о том, как надо следить и катить продукт, которым пользуются миллионы пользователей. Потом поработал в X5 в команде внутреннего финансового продукта как full-stack и много вынес по работе с финансовыми данными, базами данных и огромными объёмами данных. И в итоге сейчас работаю в Salmon, где уже начал работать с Next.js и очень критичными требованиями к надёжности систем и сервисов.

❓Твой доклад о надёжности и отказоустойчивости сервисов. Самые ценные уроки обычно приходят после факапа. Можешь рассказать про инцидент, после которого вы с командой что-то серьёзно поменяли в архитектуре или процессах — без имён и подробностей, только урок?

💬 Самый показательный пример того, как важно быть не «исполнителем задач», а «решателем проблем», у меня такой: пришла задача — надо сделать выгрузку финансового отчёта в Excel. Думаю: ну тут просто делаем запрос в БД, раскидываем в документ, отдаём пользователю. Делаю, проверяю локально — всё ок, деплой, всё хорошо, деплой в прод... К нам приходят финансисты и говорят, что у нас всё плохо, ничего не работает. Начинаем проверять и понимаем: оказывается, на проде намного больше данных, и при выгрузке миллионов строк в Excel мы падаем по памяти. Начали быстро делать что-то вокруг этого и обрабатывать в стримах с батчевой отдачей, но это было медленно и пользователям приходилось долго ждать, оставаясь на странице. В итоге мы полностью поменяли флоу работы с отчётами: сделали обработку через очереди RabbitMQ и отдельный сервис формирования отчётов. Пользователь просто запрашивал отчёт, а мы уведомляли о том, что как только сформируем — пришлём ссылку на скачивание на почту или пуш о готовности, — таким образом не заставляя пользователей ждать. Конечно, сделали ещё логи и мониторинг на критичные части системы.

❓Что посоветуешь почитать / посмотреть / послушать по теме отказоустойчивости, SRE, производительности?

💬 Конечно же, «книгу с кабанчиком» — для понимания построения систем. Очень советую просто погуглить «как устроена архитектура X», где X — это название любого сервиса: Netflix, YouTube и пр. Во-первых, это часто можно встретить в секции System Design на собеседовании, во-вторых, там можно посмотреть, какие подходы используют сервисы для надёжности и отказоустойчивости. Для меня самым ценным ресурсом было общение и работа с DevOps-инженерами и архитекторами.

Ищите Алексея в LinkedIn и приходите 4 июля! Будем общаться и холиварить. 😎
  • 🔥 4
  • ❤ 2
  • 😁 1
  • 🤩 1
  • 🤡 1
More from @tbilisi_js
  1. Sep 10, 2026Записи докладов Tbilisi JS Meetup #8 на YouTube 📱 «Why Design belongs to Engineers too» —…
  2. Sep 10, 2026И финальная запись доклада с Tbilisi JS Meetup #8 🎙 И, надеемся, скоро будут новости и но…
  3. Sep 3, 2026📲 9 сентября в офисе TradingView в Тбилиси будет проходить традиционный просмотр презента…
  4. Sep 3, 2026А ещё наши друзья из TradingView делают новый ивент, заглядывайте пообщаться! 🙌
  5. Sep 3, 2026Записи докладов Tbilisi JS Meetup #8 на YouTube 📱 «How not to lose your mind in a world w…
  6. Aug 25, 2026Записи докладов Tbilisi JS Meetup #8 на YouTube 📱 «Anatomy of a Messy Mockup» — Daria Kam…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →