Вакансия: фронтендер в Т—Ж (закрыта)
Привет! Меня зовут Вова, я руковожу разработкой Т—Ж.
Ищу фронтенд-разработчика, который сделает так, чтобы журнал выбивал сотку в Лайтхаусе.
Что такое Т—Ж
Тинькофф-журнал — это главное русскоязычное издание про деньги. В апреле нас читали 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.
Если хочется более глубокого погружения — моя статья, как технически устроен журнал.
Что не так
Всю боль можно ощутить, если попробовать открыть главную или статью журнала, подключившись к вайфаю «Сапсана», когда проезжаешь Вышний Волочек. Или довериться метрикам, которые снимают открытые инструменты Гугла и остальных:
Если посмотреть тенденции, которые прослеживаются в последних обновлениях Гугла и Яндекса, нам стоит поднажать.
Чем предлагаем заняться
На первое время предложим такие задачи:
- Запилить lazy-load аватарок и картинок в комментах.
- Добавить в статьи ховер с историей изменения дат: когда опубликовали и после этого редактировали.
- Выпилить кучу неиспользуемого JS’a.
- Исправить ошибки мобильной версии, которые показывают веб-мастеры Гугла и Яндекса.
- Продолжать улучшать показатели LCP, CLS и FID, потому что их роль сильно поменялась при ранжировании выдачи.
Как организована работа
Разработчики журнала работают в продуктовых командах: с менеджерами, дизайнерами и аналитиками. В направлении поисковой оптимизации работают сео-специалисты, один из которых выполняет роль продакт овнера, и два бэкендера. Им не хватает фронта.
Итерации длиной в неделю. Раз в неделю созваниваемся, обсуждаем, что получилось или не получилось сделать, планируем следующую неделю. Раз в день пишем текстовые стендапы, чтобы ребята из других подкоманд могли подсказать решения или помочь с проблемами.
Всего в технической команде журнала десять фронтов, которые ревьюят реквесты друг друга до двух лайков. Раз в две недели фронты созваниваются, чтобы обсудить технические новости, успехи, решения и процессы.
Как видим кандидата
Наш идеальный кандидат:
- Знает JavaScript: функции, асинхронность, как код работает в браузере.
- Знает React: виртуальный DOM, хуки, компоненты.
- Знает, как взаимодействуют фронт и бэк: CORS, сокеты, REST.
- Знаком с паттернами проектирования: синглтоном, адаптером и другими.
- Умеет писать unit-тесты.
- Писал приложения с SSR.
- Будет плюсом, если работали с TypeScript: весь код у нас покрыт типами и билдится в стрикт-моде.
Вакансия для опытных специалистов
Если вы только что окончили «Эльбрус-буткэмп», «Яндекс-практикум» или другую образовательную программу, предлагаю подать заявку на стажировку в Тинькофф.
Офис
Условия
Мы предлагаем:
- Фултайм c белой зарплатой. Во время пандемии — по домам. Дальше можно будет чередовать с офисом на м. «Динамо».
- Трудоустройство по договору, оплата раз в месяц. В перспективе переведем в штат с ДМС и служебной техникой.
- Гибкий график, главное — побольше времени пересекаться с остальной командой.
- Бесплатные обеды, собственная кухня.
- Спортзал в главном офисе — в трех станциях метро от нашего.
- Модную лимитированную худи с логотипом Т—Ж.
Чтобы обсудить вакансию, пишите на v.k.lazarev@tinkoff.ru или в Телеграме.