Вакансия: бэкендер в интерактивы Т—Ж (закрыта)
Т—Ж — главное русскоязычное издание про деньги.
Нас читают 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 — бэкендеры. У нас принято код-ревью до двух лайков. Сами реквесты равномерно разбрасываем между всеми бэкендерами независимо от продуктовой команды. А еще мы покрываем код тестами, прикрутили в пайплайны линтеры и форматирование блэком.
Какие планы
Ближайшие задачи на бэкенд интерактивов:
- Доработать уже готовые бэкенды: масштабировать сохранение расчетов пользователей и обработку эксель-расчетов на новые механики, вывести кастомную генерацию шер-страниц в продакшн.
- Запустить «финансовые цели» — функциональность, где пользователь может завести цель, а интерактив будет ему помогать ее достичь: вовремя внести нужную сумму на счет или перевести куда-то. А еще чтобы можно было закрывать цели вместе с друзьями, как в кругах Эпл-вотч!
- Запустить «виртуальные портфели» — когда инвестидеи из статей можно прицепить к своему профилю и посмотреть, что будет с таким портфелем. Ну и добавлять туда свои идеи и делиться этим с друзьями.
- Улучшить наши тесты: начать сохранять их прохождения у авторизованных пользователей, сделать серверную валидацию ответов.
Когда будем заканчивать эти задачи, определимся со следующей партией. Уже продумываем концепции финансовых дэшбордов и трекера трат с отчетностью.
Что ожидаем от кандидата
Помогут справиться с нашими задачами:
- Владение Python и современным фреймворком веб-разработки на его основе.
- Опыт разработки REST API, использования спецификации OpenAPI.
- Опыт работы с Postgres и Redis.
- Опыт написания unit-тестов.
- Знание основ веб-архитектуры: клиент-серверного взаимодействия, особенностей синхронной и асинхронной работы, вот этого всего.
- Умение спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса и спланировать его масштабирование в случае наплыва пользователей.
Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие.
Как помогаем расти
Чему при желании у нас можно научиться:
- Выращивать стажеров и делегировать им задачи. Несколько раз в год набираем студентов Физтеха, Вышки, Бауманки, МГУ и других вузов с неплохими техническими программами.
- Смежным с работой софт- и хард-скиллам. В Т-Банке развитая система внутренних тренингов: от безопасности веб-приложений до поиска баланса между работой и личной жизнью.
- Писать статьи на «Хабр» и «Медиум», выступать с докладами на митапах и конференциях. В этом помогут наши редакторы, HR и DevRel: подобрать тему, собрать материал, подготовиться и опубликоваться или выступить.
- Другим навыкам, которых вам будет недоставать для работы. Есть возможность поучиться на курсах или послушать конференции за счет компании.
Офис в Москве
Условия
Кроме белой зарплаты рассчитывайте:
- На фултайм-удаленку на время пандемии. Дальше можно будет чередовать с офисом в вашем городе или остаться на удаленке.
- Помощь в переезде в Москву или в город, где у нас есть офис разработки.
- Гибкий график. Главное — побольше времени пересекаться с остальной командой.
- Рабочий MacBook Pro.
- ДМС после испытательного.
- Модную лимитированную худи с логотипом Т—Ж после испытательного.
- Добровольное участие в материалах о сотрудниках журнала.
Чтобы обсудить вакансию, пишите на v.k.lazarev@tinkoff.ru или в Телеграм.