Тинькофф-журнал — главное русскоязычное издание про деньги.
Нас читают 10 миллионов человек в месяц. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег. Для этого мы выпускаем статьи, учебные курсы и интерактивы.
Обычно интерактивы — небольшие отдельные проекты. При этом они начинают обрастать функциональностью, которую нормально не сделать без бэкенда: сохранять расчеты в профиле, показывать графики котировок в статьях, генерировать кастомные шеры в соцсети, перегонять гугл-таблицы в логику калькуляторов. Мы уже запустили несколько сервисов, хотим и дальше делать сложные и полезные механики. Поэтому ищем мидл-бэкендера в команду интерактивов.
На фронте интерактивы — отдельные js-приложения, которые движок встраивает в страницы журнала. Они грузятся бандлами в рантайме. Пишем их на TypeScript, React и Redux. С клиентской части интерактивы ходят по REST API в собственные сервисы.
Сервисы интерактивов написаны на Python и FastAPI. На этом же стеке мы планируем заводить новые бэкенды. Чтобы закрыть часть задач, придется коммитить и в другие сервисы журнала. Они тоже написаны на Python: новые — на FastAPI, старые — на Django. Для тестов используем Pytest.
В интерактивах есть еще три сервиса на TypeScript и NestJS. По планам их поддержат и разовьют фулстек-разработчики, из-за этого пока можно не переживать.
У нас настроен CI/CD на Gitlab и ArgoCD — приложения пакуем в Docker и разворачиваем в Google Kubernetes Engine. В качестве базы используем облачный Postgres. Для кэширования обычно разворачиваем в контейнерах Redis.
Журнал разделен на несколько направлений, интерактивы — одно из них. Направлениям соответствуют продуктовые команды. В продуктовых командах вместе работают фронтендеры, бэкендеры, дизайнеры и редакторы. По необходимости подключаем тестировщиков, аналитиков и других специалистов. В команде интерактивов сейчас один JS-фулстек, четыре фронтендера, два дизайнера на полной занятости и два редактора, одна из которых руководит направлением.
В технической команде журнала 36 человек, из них 11 — бэкендеры. У нас принято код-ревью до двух лайков. Сами реквесты равномерно разбрасываем между всеми бэкендерами независимо от продуктовой команды. А еще мы покрываем код тестами, прикрутили в пайплайны линтеры и форматирование блэком.
Ближайшие задачи на бэкенд интерактивов:
Когда будем заканчивать эти задачи, определимся со следующей партией. Уже продумываем концепции финансовых дэшбордов и трекера трат с отчетностью.
Помогут справиться с нашими задачами:
Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие.
Чему при желании у нас можно научиться:
Кроме белой зарплаты рассчитывайте:
Чтобы обсудить вакансию, пишите на v.k.lazarev@tinkoff.ru или в Телеграм.