599

Вакансия: senior фронтендер в Тинькофф Журнал (закрыта)

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

Иван Земляченко

тимлид медиаплатформы

Тинькофф Журнал — главное русскоязычное издание про деньги.

В феврале наc читали 16 млн человек. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег.

Мы ищем сильного фронтенд-разработчика, который займется ключевыми сервисами журнала.

Внимание!

Вакансия уровня senior. Мы предполагаем, что у кандидатов на эту вакансию за спиной несколько лет опыта работы с веб-технологиями.

Что по технологиям

Бэк журнала написан на Python, базы — Postgres и Redis. Фронт состоит из фасада на Node.JS и набора SSR-микросервисов на React, которые работают как удаленные процедуры: на основе данных, которые им приходят по REST, они возвращают зарендеренные части страницы, которые потом гидрируются на клиенте. Все написано на TS, ответы апишек описаны типами из схем бэкенда. Микросервисы поднимаются на самописном SSR-фреймворке (обертка над fastify), который планируем переосмыслить и выложить в open source. CSS и верстка UI-элементов подтягивается из UI-кита.

Все фронтовые сервисы развернуты в k8s. Деплоимся с помощью Argo CD в Yandex Cloud. Пайплайны на Gitlab CI, там гоняются тесты и линтинг.

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

Кто в команде

В продуктовой команде журнала 7 фронтендеров, 8 бэкендеров, 2 продакта и отдельная команда дизайнеров. Разработка журнала поделена на две подкоманды, отвечающие за различные сервисы. В команде, с которой предстоит плотно работать, 5 фронтов.

По необходимости подключаем к работе тестировщиков, аналитиков и других специалистов.

Как работаем

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

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

С нужной частотой проводим встречи 1-1 с руководителем. На старте — раз в неделю, далее — раз в месяц.

Задачи

Из ближайших крупных задач:

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

Первое время предположительно придется работать над новой админкой (там модульное SPA на чистом реакте с минимумом зависимостей). Далее в планах ее внедрение, передача на поддержку и работа над оптимизациями журнала. Также от сеньора ожидается плотное и активное участие в ревью.

Что ожидаем от кандидата

Помогут справиться с нашими задачами:

  1. Навыки проектирования веб-приложений.
  2. Знание TS, опыт работы с React.
  3. Хорошее понимание SSR, знакомство с Fastify и JSON Schema.
  4. Опыт написания unit-тестов. Это важный пункт, потому что в числе прочего кандидату предстоит развивать и поддерживать культуру тестирования во фронтенд-команде.
  5. Опыт конфигурации бандлеров (например, Webpack, Vite или Rollup) для сборки фронтенд-приложений.
  6. Представление о метриках клиентской производительности. Опыт работы с серверными метриками также будет весьма полезен.
  7. Отсутствие предубеждений против работы с CSS и дизайн-системами. Люди, которые принципиально не хотят верстать, нам, скорее всего, не подойдут.

Опыт работы с k8s и понимание происходящего на сетевом уровне крайне приветствуются. Фулстекам со знанием Postgres также найдутся задачи, но до них мы доберемся через некоторое время, базово нужен сильный фронт.

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

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

Условия

Можно рассчитывать на:

  1. Нанимаем по ТК в России, Беларуси, Армении и Казахстане. Белая зарплата, рабочая техника, ДМС, особые условия на продукты Тинькофф и прочие ништяки.
  2. Гибкий график. Главное — побольше времени пересекаться с остальной командой. У нас удачный опыт работы из разных таймзон.
  3. Удаленную работу, если сохраняете резидентство одной из четырех стран из первого пункта. По желанию можно приезжать в наш офис в семи минутах от «Динамо» или в другие офисы Тинькофф.

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

Как проходит трудоустройство

В Тинькофф длинная цепочка, этапы такие:

  1. Спишемся в почте или Телеграме. Познакомимся там, обсудим стартовые вопросы. Если что — созвонимся.
  2. Я передам контакт рекрутеру, чтобы утвердить даты технических собеседований: по алгоритмам (несложное), по языку программирования и по проектированию систем.
  3. Сами секции.
  4. Финальный созвон: познакомиться с кем-то еще из команды: фронтендером, бэкендером, продактом… Пообщаемся на важные темы, обменяемся каверзными вопросами.
  5. Утвердим деньги, пришлем предложение на почту.

Как помогаем расти

При желании у нас можно научиться:

  1. Выращивать стажеров и делегировать им задачи. Несколько раз в год набираем студентов Физтеха, Вышки, Бауманки, МГУ и других вузов с неплохими техническими программами.
  2. Смежным с работой софт- и хард-скиллам. В Тинькофф развитая система внутренних тренингов — от безопасности веб-приложений до поиска баланса между работой и личной жизнью.
  3. Писать статьи на «Хабр» и «Медиум», выступать с докладами на митапах и конференциях. Наши редакторы, HR и DevRel помогут подобрать тему, собрать материал, подготовиться и опубликоваться или выступить.
  4. Другим навыкам, которых вам будет недоставать для работы. Есть возможность поучиться на курсах или послушать конференции за счет компании.

Как откликнуться

Чтобы обсудить вакансию, пишите мне в Телеграм. Очень здорово, если есть ссылки на ваш GitHub или любые другие примеры вашего кода.

Сообщество