Вакансии
14K

Вакансия: старший бэкендер в Тинькофф-помощь (закрыта)

Привет! Меня зовут Вова, я руковожу разработкой Т⁠—⁠Ж и Тинькофф-помощи. Ищу старшего бэкенд-разработчика.

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

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

Как сейчас

Основная функциональность Помощи — управление контентом. Когда в Тинькофф появляется новый сервис, продакт или поддержка заказывает нам раздел с информацией для клиентов. Мы его наполняем и дальше поддерживаем в актуальном состоянии: продуктов много, поэтому каждую неделю происходят какие-то изменения.

Контент Тинкофф Помощи размещен в двух местах — на help.tinkoff.ru и основном сайте tinkoff.ru.

Первое — наша собственная разработка, стэк:

  • отдельный фронт на TypeScript, React, Redux;
  • на бэкенде Python+Django, Postgres, Redis;
  • админка со своими фронтом и бэком на тех же технологиях.

Код храним в gitlab. Там же настроен пайплайн: прогоняются тесты и линтеры, проект пакуется в docker-контейнер. Дальше с помощью ArgoCD контейнер разворачивается в Google Kubernetes Engine. Инфраструктурные конфиги тянутся из gitlab.

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

Что предстоит сделать

В следующем году мы планируем все перевезти на tinkoff.ru. Редакции важно, чтобы обновление информации осталось удобным — особенно в сложных случаях: когда мы ставим редирект, перемещаем карточку из одного топика в другой, копируем сущность из продукта А и на ее основе создаем сущность в продукте B.

Вижу две главные задачи так:

  1. Обеспечить стабильность help.tinkoff.ru, пока переезд не завершился.
  2. Подготовить сервис для управления контентом Помощи и его раздачи на основном сайте.

Первая задача не самая трудоемкая — мы как-то год продержались и без штатного бэкендера. Самое интересное начинается со второй задачей:

  1. Для начала провести аудит текущего состояния бэкенда: выделить удачные решения и обозначить слабые места, сравнить текущие возможности и потенциал к расширению с бизнес-требованиями, подбить баги и с продактом оценить их критичность.
  2. Спроектировать новое состояние бэкенда и админки, которое будет удовлетворять бизнес-требованиям. Какая будет архитектура, технологии и процент переиспользования старого кода там — решать вам. Проект обсудим со мной и бэкендерами журнала: в формате скорее не защиты, а консультации.
  3. Представить команде Помощи пошаговый план перехода из текущего состояния в желаемое.
  4. Запустить проект, предварительно пройдя проверку командой тестирования сайта tinkoff.ru и отделом безопасности веб-приложений.

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

Как мы работаем

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

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

Почему это круто

Считаю, что работа — огонь. Смотрите сами:

  1. Вы запустите продукт внутри tinkoff.ru — по пути сами примете интересные и сложные технические решения.
  2. Получите опыт работы с высокой нагрузкой и отказоустойчивостью.
  3. Узнаете и примените хорошие практики работы с метриками, логами, таймаутами и ретраями.
  4. Поработаете в небольшой автономной команде — без пожаров и бюрократии, но с планом, итерациями и выстроенным процессом.
  5. Будете делать продукт, который полезен вам, вашим близким и сотням тысяч других клиентов Тинькофф. Благодаря вам клиенты-интроверты смогут просто погуглить, а не общаться с живым человеком.

Кого ищем

Ожидаю, что кандидат:

  1. Уверенно владеет Python и современным фреймворком веб-разработки на его основе.
  2. Разрабатывал API, использовал спецификацию OpenAPI, может поддержать беседу о синхронном и асинхронном коде.
  3. Работал с базами, может поддержать беседу о реляционных и нереляционных БД.
  4. Знаком с паттернами проектирования: синглтоном, адаптером и другими.
  5. ­Знает основы веб-архитектуры.
  6. Умеет писать unit-тесты.

Опыт настройки CI/CD будет плюсом.

Офис

Работаем на четвёртом этаже SOK. Идти семь минут от метро Динамо
Посередине этажа небольшая кухня и холл со столами. Тут мы обедаем и работаем, если хотим немного сменить обстановку
Пространство организовано как опенспейс, но мы не мешаем друг другу
Переговорки на 8 человек, с плазмой, камерой и колонкой. Ремонт закончили в начале февраля, поэтому ещё пахнет деревом и кожей

Условия

Мы предлагаем:

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

Чтобы обсудить вакансию, пишите на v.k.lazarev@tinkoff.ru или в Телеграм.

Сообщество