Тинькофф-журнал

Бэкендер в маркетинговое направление

Рекомендовать

О рекомендателе

О кандидате

Ещё немного

Ещё секундочку, подтвердим получение рекомендации...
Oops! Something went wrong while submitting the form.

Обо мне

Меня порекомендует

Ещё немного

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Рекомендовать

Рекомендовать кандидата

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

Максимум 10 мб.
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Вы уже принимали Пользовательское соглашение когда регистрировались на сайте. Поэтому сейчас соглашаться ни с чем не нужно.
Спасибо! Мы обязательно рассмотрим кандидата и свяжемся с вами в любом случае, даже если кандидата пока некуда рекомендовать.
Oops! Something went wrong while submitting the form.
Вакансии
Компании
Войти

Создайте аккаунт ✨

Вы сможете сохранять компании, отслеживать рекомендации и выплаты, первым узнавать про самые интересные позиции.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Уже есть аккаунт?
Войти
Тинькофф-журнал

Бэкендер в маркетинговое направление

Вознаграждение за рекомендацию:
70000
Специализация:
Разработка
Опыт:
От 3 до 6 лет
Тип контракта:
Фулл-тайм
Локация:
🇷🇺
Москва
ЗП:
Не указано
Скиллсет:
Django
FastAPI
Docker
Kubernetes
REST
Redis
Рекомендовать

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

  • наращиваем базы рассылок, чтобы пользователи не пропускали интересующие их материалы;
  • подталкиваем делиться материалами, чтобы окружение читателя тоже становилось финансово грамотнее;
  • разрабатываем мобильное приложение под iOS и Android;
  • выпускаем платные и бесплатные образовательные курсы;
  • ищем новые пути монетизации, чтобы были ресурсы на новые направления.

Сейчас этим занимаются только маркетологи, а продуктовые подкоманды берут задачи в работу по остаточному принципу. Чтобы работать над направлением системно, мы организуем новую продуктовую подкоманду с собственной разработкой. Туда и ищу бэка, а еще — фронта и продакта.

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

Потенциально вам предстоит дорабатывать любой сервис журнала и разрабатывать с нуля новые. Два главных сервиса — движок журнала и соцплатформа — написаны на Django. Движок перезапускаем на FastAPI. Этот же фреймворк используем в остальных сервисах, на нем же пишем новые.

У нас настроены пайплайны на Gitlab CI, в которых запускаются MyPy, Flake, Black и тесты на PyTest. Сервисы на FastAPI в тех же пайплайнах собираются в Docker и деплоятся с помощью ArgoCD в Google Kubernetes Engine. Django-сервисы деплоим руками.

Базы — Redis и Postgres. Для сервисов на Django Postgres разворачиваем и поддерживаем сами. Под FastAPI развернут Google CloudSQL. Redis хостим сами, но ради эксперимента в паре мест тоже подключили облачный.

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

Как там в команде

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

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

В технической команде — кросс-ревью до двух лайков. Сами реквесты равномерно разбрасываем между всеми бэкендерами независимо от продуктовой команды. Раз в пару недель мы созваниваемся на час, чтобы обсудить чисто бэкендерские штуки: большие изменения в архитектуре, какие у кого новости или открытия, как улучшить процессы или инструменты. Раз в день-два пишем стендапы, чтобы быть в контексте разных направлений и вовремя прийти на помощь. Всего в команде 10 бэкендеров, 15 фронтендеров/JS-фулстеков, 4 мобильщика — RN-фулстеки, 3 тестировщика, пара менеджеров и DevOps/SRE-инженер.

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

С чего начнем

Ближайшие задачи, которые предложу:

  1. Провести аудит реализованных маркетинговых механик. В движке есть уже реализованные механики — стоит посмотреть, сломаны они или работают, что имеет смысл вытащить в отдельный сервис персонализации и развивать, а что можно удалить из кодовой базы и не пытаться поддерживать дальше.
  2. Оживить сценарии показов баннеров. Оживить, потому что, это скорее всего в каком-то виде уже реализовано в старом движке. Но сейчас этим не пользуются: баннеры ставят в материалы вручную, в подвале с рекомендациями в конце статьи он тоже всегда один и тот же. Это бесит пользователей, а мы недосчитываемся целевых действий.
  3. Улучшить почтовые коммуникации: сделать управление подписками на странице всех рассылок, улучшить синхронизацию пользователей журнала со служебными пользователями майндбокса, попробовать реализовать amp-механики вроде «сохранять статью в закладки не выходя из письма».

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

Чего ожидаю от кандидата

Из хардов будет тяжеловато без:

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

Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие. Будет большим плюсом, если ковыряли Kubernetes.

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

Показать полностью

Рекомендовать

Загружаем...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Вознаграждение:
70000
Рекомендация успешно отправлена.
В течение несколько дней мы свяжемся с кандидатом и представим его компании.
Что-то пошло не так. Попробуйте перезагрузить страницу и заново заполнить форму.

К сожалению откликнуться самому на эту вакансию с вознаграждением нельзя.

Загружаем...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Вознаграждение:
70000
Отклик получен. Мы уже передали его компании. Как только будет результат, мы с вами свяжемся :)
Oops! Something went wrong while submitting the form.
Зарегистрируйтесь, чтобы сохранять и отслеживать ваши рекомендации.
Зарегистрироваться
Загружаем...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Вознаграждение:
70000
Рекомендация успешно отправлена.
В течение несколько дней мы свяжемся с кандидатом и представим его компании.
Что-то пошло не так. Попробуйте перезагрузить страницу и заново заполнить форму.

К сожалению откликнуться самому на эту вакансию с вознаграждением нельзя.

Загружаем...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
Вознаграждение:
70000
Отклик получен. Мы уже передали его компании. Как только будет результат, мы с вами свяжемся :)
Oops! Something went wrong while submitting the form.