3K

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

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

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

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

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

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

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

Внимание!

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

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

Пишем на Python и FastAPI. Изначально журнал представлял собой два сервиса, которые написаны на Django. Один мы переписали на семь сервисов и половину из них запустили в продакшен. Распил второго — на стадии проектирования. Базы — Postgres и Redis.

Клиенты общаются с сервисами по REST, используем спецификацию OpenAPI v3. Сервисы между собой местами общаются так же, но мы переводим это на асинхронную архитектуру. В качестве брокера используем Google Pub/Sub (в процессе переезда на kafka).

Деплоимся с помощью Argo CD в Yandex Cloud. Пайплайны на Gitlab CI, туда прикручены flake, black и mypy. Там же запускаются тесты на pytest. К написанию тестов относимся ответственно и используем allure-разметку для их описания. Django-сервисы деплоим используя fabric.

Кто в команде

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

Как работаем

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

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

С выбранной периодичностью проводим встречи 1-1 с руководителем. Сначала раз в неделю, далее снижаем частоту (не реже раза в месяц).

Чем предстоит заниматься

Журналу недавно исполнилось восемь лет. Многие годы статейная часть крутилась на Django. Сейчас этот функционал переписан на несколько сервисов (фронтовых и бэкендных), которые мы по очереди вводим в эксплуатацию.

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

Далее бэкендный движок предстоит сделать платформенным: предполагается, что на нем можно будет быстро развернуть новое медиа под ключ. Тут начнется интересная часть работы.

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

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

  1. Владение Python и FastAPI.
  2. Опыт разработки REST API, использования спецификации OpenAPI.
  3. Опыт работы с Postgres и Redis.
  4. Опыт написания unit-тестов.
  5. Хотя бы теоретическое знакомство с принципами событийной архитектуры (очереди, подписки и т. д.).
  6. Умение спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса и спланировать его масштабирование в случае наплыва пользователей.

Большим плюсом будет знакомство с Kubernetes.

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

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

Условия

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

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

Фронтовая часть команды и дизайнеры часто собирается в офисе в Москве. Бэкендеры распределены по разным городам РФ и, как правило, работают удаленно, но с частью команды в Москве получится познакомиться лично.

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

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

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

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

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

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

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

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

Сообщество