Вакансия в архиве
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;
- ДМС после испытательного.