Вакансия: бэкендер в Т-Помощь (закрыта)
Привет! Меня зовут Андрей, я разрабатываю серверную часть Т-Помощи. Ищу себе в помощь мидл-бэкендера, который пишет на Python.
Т-Помощь — это справочник, который помогает клиентам пользоваться продуктами нашей группы компаний: картами, кредитами, брокерскими счетами, страховками и другими. Каждый месяц нас читают больше двух миллионов клиентов, а потенциально наша аудитория — все 13 миллионов клиентов Т-Банка и миллионы тех, кто пока к нам присматривается.
Ценность нашей работы — в двух вещах:
- Снижаем нагрузку на поддержку, потому что на популярные вопросы клиент может найти ответ самостоятельно.
- Помогаем продавать карты, счета и другие финансовые продукты Т-Банка в интернете.
До недавнего времени нашим основным сайтом был help.tinkoff.ru. Потом мы начали мигрировать на основной tbank.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-инженер.
Какие задачи
Вот как будем развивать продукт в ближайшее время:
- Перевезем оставшийся контент с help.tinkoff.ru на tbank.ru/help — мигрируем данные в новую структуру. Там поджидает много разных кейсов.
- Интегрируемся с сервисом персонализации, чтобы проводить A/B-тестирования страниц.
- Запустим новые фичи: формы обратной связи, классификацию информации, чтобы отдавать ее разным заказчикам. Попробуем улучшить UX клиентов и пользователей админки.
- Интегрируемся с мобильным приложением, чтобы отображать там свои страницы и индексировать их в местном поиске.
- Будем собирать больше данных для анализа и улучшения продукта.
Чего ожидаю от кандидата
Будет тяжеловато без таких скиллов:
- Владения Python и современным фреймворком веб-разработки на его основе.
- Опыта разработки REST API, использования спецификации OpenAPI.
- Опыта работы с Postgres и Redis.
- Опыта написания unit-тестов.
- Знания основ веб-архитектуры: клиент-серверного взаимодействия, особенностей синхронной и асинхронной работы и далее по списку.
- Умения спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса и спланировать его масштабирование в случае наплыва пользователей.
- Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие. Будет большим плюсом, если ковыряли Kubernetes.
- Из софтов главное — самостоятельность. Чтобы получил от бизнеса задачу, уточнил непонятное, декомпозировал и расписал, обсудил с коллегами, если нужно, написал код, сдал в тестирование, выкатил на прод, пришел к бизнесу за следующей. Высший пилотаж, если по дороге ни с кем не поссорился, а в итоге еще что-то отрефлексировал.
Вакансия для опытных специалистов
Если вы только что окончили «Эльбрус-буткемп», «Яндекс-практикум» или другую образовательную программу, предлагаю подать заявку на стажировку в Т-Банке.
Что предлагаю взамен
Можно рассчитывать:
- На белую зарплату раз в месяц по договору. По возможности переведем в штат с соцпакетом.
- Гибкий график. Главное — побольше времени пересекаться с остальной командой.
- Удаленную работу. По желанию можно приезжать в наш офис в семи минутах от метро «Динамо» или в другие офисы Т-Банка.
Как помогаем расти
Чему при желании у нас можно научиться:
- Выращивать стажеров и делегировать им задачи. Несколько раз в год набираем студентов Физтеха, Вышки, Бауманки, МГУ и других вузов с неплохими техническими программами.
- Смежным с работой софт- и хард-скиллам. В Т-Банке развитая система внутренних тренингов, от безопасности веб-приложений до поиска баланса между работой и личной жизнью.
- Писать статьи на «Хабр» и «Медиум», выступать с докладами на митапах и конференциях. Наши редакторы, HR и DevRel помогут подобрать тему, собрать материал, подготовиться и опубликоваться или выступить.
- Другим навыкам, которых вам будет недоставать для работы. Есть возможность поучиться на курсах или послушать конференции за счет компании.
Как откликнуться
Чтобы обсудить вакансию, пишите на почту или в «Телеграм». Лучше начать с короткого рассказа о себе и ссылок на примеры кода.