СоискателюРаботодателю
Вакансия в архиве

Backend middle разработчик

По договоренности

Мы выпускаем статьи, учебные курсы и интерактивы. Обычно интерактивы — небольшие отдельные проекты. При этом они начинают обрастать функциональностью, которую нормально не сделать без бэкенда: сохранять расчеты в профиле, показывать графики котировок в статьях, генерировать кастомные шеры в соцсети, перегонять гугл-таблицы в логику калькуляторов. Мы уже запустили несколько сервисов, хотим и дальше делать сложные и полезные механики. Поэтому ищем мидл-бэкендера в команду интерактивов. На фронте интерактивы — отдельные js-приложения, которые движок встраивает в страницы журнала. Они грузятся бандлами в рантайме. Пишем их на TypeScript, React и Redux. С клиентской части интерактивы ходят по REST API в собственные сервисы. Сервисы интерактивов написаны на Python и FastAPI. На этом же стеке мы планируем заводить новые бэкенды. Чтобы закрыть часть задач, придется коммитить и в другие сервисы журнала. Они тоже написаны на Python: новые — на FastAPI, старые — на Django. Для тестов используем Pytest. В интерактивах есть еще три сервиса на TypeScript и NestJS. По планам их поддержат и разовьют фулстек-разработчики, из-за этого пока можно не переживать. У нас настроен CI/CD на Gitlab и ArgoCD — приложения пакуем в Docker и разворачиваем в Google Kubernetes Engine. В качестве базы используем облачный Postgres. Для кэширования обычно разворачиваем в контейнерах Redis.

Требования:

  • Владение Python и современным фреймворком веб-разработки на его основе;
  • Опыт разработки REST API, использования спецификации OpenAPI;
  • Опыт работы с Postgres и Redis;
  • Опыт написания unit-тестов;
  • Знание основ веб-архитектуры: клиент-серверного взаимодействия, особенностей синхронной и асинхронной работы, вот этого всего;
  • Умение спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса и спланировать его масштабирование в случае наплыва пользователей;
  • Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие.

Обязанности:

  • Доработать уже готовые бэкенды: масштабировать сохранение расчетов пользователей и обработку эксель-расчетов на новые механики, вывести кастомную генерацию шер-страниц в продакшн;
  • Запустить «финансовые цели» — функциональность, где пользователь может завести цель, а интерактив будет ему помогать ее достичь: вовремя внести нужную сумму на счет или перевести куда-то. А еще чтобы можно было закрывать цели вместе с друзьями, как в кругах Эпл-вотч!
  • Запустить «виртуальные портфели» — когда инвестидеи из статей можно прицепить к своему профилю и посмотреть, что будет с таким портфелем. Ну и добавлять туда свои идеи и делиться этим с друзьями;
  • Улучшить наши тесты: начать сохранять их прохождения у авторизованных пользователей, сделать серверную валидацию ответов;
  • Когда будем заканчивать эти задачи, определимся со следующей партией. Уже продумываем концепции финансовых дэшбордов и трекера трат с отчетностью.

Условия:

  • Белая зарплата;
  • Помощь в переезде в Москву или в город, где у нас есть офис разработки;
  • Гибкий график. Главное — побольше времени пересекаться с остальной командой;
  • Рабочий MacBook Pro;
  • ДМС после испытательного.