1K

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

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

Андрей Лоскутов

старший бэкендер Тинькофф-помощи

Страница автора

Привет! Меня зовут Андрей, я разрабатываю серверную часть Тинькофф-помощи. Ищу себе в помощь мидл-бэкендера, который пишет на Python.

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

Ценность нашей работы — в двух вещах:

  1. Снижаем нагрузку на поддержку, потому что на популярные вопросы клиент может найти ответ самостоятельно.
  2. Помогаем продавать карты, счета и другие финансовые продукты Тинькофф в интернете.

До недавнего времени нашим основным сайтом был help.tinkoff.ru. Потом мы начали мигрировать на основной tinkoff.ru: редакция тестировала материалы на местном конструкторе, а продуктовая команда запускала собственное приложение. В августе мы с этим управились, обсудили планы и поняли, что пора расширять команду.

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

На бэкенде у Тинькофф-помощи два сервиса: старый и новый. Старый написан на Django — мы его поддерживаем с перспективой погасить через годик. Новый, на FastAPI, активно дорабатываем. В новый сервис затащили еще и SQLAlchemy. Базы — Redis и Postgres. Postgres используется из Google CloudSQL. Redis хостим сами, но соседняя команда экспериментирует с облачным. Метрики собираем в Prometheus и настраиваем дашборды в Grafana.

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

Клиенты общаются с сервисами по REST, для удобства подрубили Swagger. С сервисами других команд общаемся так же.

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

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

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

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

Какие задачи

Вот как будем развивать продукт в ближайшее время:

  1. Перевезем оставшийся контент с help.tinkoff.ru на tinkoff.ru/help — мигрируем данные в новую структуру. Там поджидает много разных кейсов.
  2. Интегрируемся с сервисом персонализации, чтобы проводить A/B-тестирования страниц.
  3. Запустим новые фичи: формы обратной связи, классификацию информации, чтобы отдавать ее разным заказчикам. Попробуем улучшить UX клиентов и пользователей админки.
  4. Интегрируемся с мобильным приложением, чтобы отображать там свои страницы и индексировать их в местном поиске.
  5. Будем собирать больше данных для анализа и улучшения продукта.

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

Будет тяжеловато без таких скиллов:

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

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

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

Что предлагаю взамен

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

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

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

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

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

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

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

Сообщество