343

Вакансия: фронтендер в Т⁠—⁠Ж (закрыта)

Аватар автора

Вова Лазарев

руководитель разработки

Страница автора

Привет! Меня зовут Вова, я руковожу разработкой Т⁠—⁠Ж.

Ищу фронтенд-разработчика, который сделает так, чтобы журнал выбивал сотку в Лайтхаусе.

Что такое Т⁠—⁠Ж

Тинькофф-журнал — это главное русскоязычное издание про деньги. В апреле нас читали 14 миллионов человек. Мы выпускаем статьи, интерактивы и учебные курсы. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег.

Поисковые системы каждый месяц уже приносят 30—40% трафика. У нас на сайте авторский контент, который в основном неплохо размечен. С учетом того, что у редакции много тематических направлений, это позволяет нам быть в топе по многим запросам: от «апартаменты» до «как получить справку из психоневрологического диспансера бесплатно».

Что под капотом

Сайт рендерится по довольно хитрой схеме: запрос с балансера улетает в движок на Python, который пытается нарисовать страницу по Django-шаблонам. За современными компонентами движок идет в SSR-прослойку на Node.js. За этой прослойкой — монофронтовое приложение на React, Redux, Rx.js и TypeScript. Дальше движок склеивает верстку и стили от этого приложения с тем, что у него получилось, и уже этим отвечает на запрос. Конструкция мозговыносная, и это не единственная ее проблема:

  • движок и SSR-приложение в разных дата-центрах;
  • у SSR-приложения нет собственного кэша;
  • сама склейка долгая, дорогая и не идеальная.

Сейчас мы редизайним сайт и параллельно переезжаем на другую схему: трафик улетает в фасад, который ходит в микрофронтовые приложения без Rx за схемой, а после этого собирает страницу по компонентам из UI-кита. Старая схема становится фоллбэком, который мы будем по частям распиливать и дропать.

В бэкенды фронт ходит по REST, кроме двух сервисов, везде подняты swagger’ы.

У нас настроены пайплайны на Gitlab CI. Туда же прикрутили eslint и запуск тестов на jest. Собранный docker-образ деплоится с помощью Argo CD в Google Kubernetes Engine.

Если хочется более глубокого погружения — моя статья, как технически устроен журнал.

Что не так

Всю боль можно ощутить, если попробовать открыть главную или статью журнала, подключившись к вайфаю «Сапсана», когда проезжаешь Вышний Волочек. Или довериться метрикам, которые снимают открытые инструменты Гугла и остальных:

Что думает о нашей мобильной версии Google Page Insights…
…Web page test,…
…и как это выглядит в динамике speedcurve.com

Если посмотреть тенденции, которые прослеживаются в последних обновлениях Гугла и Яндекса, нам стоит поднажать.

Чем предлагаем заняться

На первое время предложим такие задачи:

  1. Запилить lazy-load аватарок и картинок в комментах.
  2. Добавить в статьи ховер с историей изменения дат: когда опубликовали и после этого редактировали.
  3. Выпилить кучу неиспользуемого JS’a.
  4. Исправить ошибки мобильной версии, которые показывают веб-мастеры Гугла и Яндекса.
  5. Продолжать улучшать показатели LCP, CLS и FID, потому что их роль сильно поменялась при ранжировании выдачи.

Как организована работа

Разработчики журнала работают в продуктовых командах: с менеджерами, дизайнерами и аналитиками. В направлении поисковой оптимизации работают сео-специалисты, один из которых выполняет роль продакт овнера, и два бэкендера. Им не хватает фронта.

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

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

Как видим кандидата

Наш идеальный кандидат:

  1. Знает JavaScript: функции, асинхронность, как код работает в браузере.
  2. Знает React: виртуальный DOM, хуки, компоненты.
  3. Знает, как взаимодействуют фронт и бэк: CORS, сокеты, REST.
  4. Знаком с паттернами проектирования: синглтоном, адаптером и другими.
  5. Умеет писать unit-тесты.
  6. Писал приложения с SSR.
  7. Будет плюсом, если работали с TypeScript: весь код у нас покрыт типами и билдится в стрикт-моде.

Вакансия для опытных специалистов

Если вы только что окончили «Эльбрус-буткэмп», «Яндекс-практикум» или другую образовательную программу, предлагаю подать заявку на стажировку в Тинькофф.

Офис

В основном — удаленно. Свободно чередуем с офисом — про него дальше
Офис на втором этаже SOK Arena Park. Идти семь минут от м. «Динамо»
На кухне — неплохая кофемашина, микроволновки, холодильники и очиститель воды
На этаже две переговорки с плазмами и оборудованием для видеосвязи
Рабочее пространство — опенспейс, но мы не мешаем друг другу

Условия

Мы предлагаем:

  1. Фултайм c белой зарплатой. Во время пандемии — по домам. Дальше можно будет чередовать с офисом на м. «Динамо».
  2. Трудоустройство по договору, оплата раз в месяц. В перспективе переведем в штат с ДМС и служебной техникой.
  3. Гибкий график, главное — побольше времени пересекаться с остальной командой.
  4. Бесплатные обеды, собственная кухня.
  5. Спортзал в главном офисе — в трех станциях метро от нашего.
  6. Модную лимитированную худи с логотипом Т⁠—⁠Ж.

Чтобы обсудить вакансию, пишите на v.k.lazarev@tinkoff.ru или в Телеграме.

Сообщество