FastAPI

Открытые вакансии с вознаграждением

Тинькофф-журнал — главное русскоязычное издание про деньги. В июле наш сайт читали 16 миллионов человек. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег. Для этого мы:

  • наращиваем базы рассылок, чтобы пользователи не пропускали интересующие их материалы;
  • подталкиваем делиться материалами, чтобы окружение читателя тоже становилось финансово грамотнее;
  • разрабатываем мобильное приложение под iOS и Android;
  • выпускаем платные и бесплатные образовательные курсы;
  • ищем новые пути монетизации, чтобы были ресурсы на новые направления.
    Сейчас этим занимаются только маркетологи, а продуктовые подкоманды берут задачи в работу по остаточному принципу. Чтобы работать над направлением системно, мы организуем новую продуктовую подкоманду с собственной разработкой. Туда и ищу бэка, а еще — фронта и продакта.

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

Потенциально вам предстоит дорабатывать любой сервис журнала и разрабатывать с нуля новые. Два главных сервиса — движок журнала и соцплатформа — написаны на Django. Движок перезапускаем на FastAPI. Этот же фреймворк используем в остальных сервисах, на нем же пишем новые.
У нас настроены пайплайны на Gitlab CI, в которых запускаются MyPy, Flake, Black и тесты на PyTest. Сервисы на FastAPI в тех же пайплайнах собираются в Docker и деплоятся с помощью ArgoCD в Google Kubernetes Engine. Django-сервисы деплоим руками.
Базы — Redis и Postgres. Для сервисов на Django Postgres разворачиваем и поддерживаем сами. Под FastAPI развернут Google CloudSQL. Redis хостим сами, но ради эксперимента в паре мест тоже подключили облачный.
Клиенты общаются с сервисами по REST, используем спецификацию OpenAPI, в шаблоне типового проекта подрублен Swagger. Сервисы между собой местами общаются так же, но мы переводим это на асинхронную архитектуру. В качестве брокера используем Google Pub/Sub.

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

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

С чего начнем

Ближайшие задачи, которые предложу:

  1. Провести аудит реализованных маркетинговых механик. В движке есть уже реализованные механики — стоит посмотреть, сломаны они или работают, что имеет смысл вытащить в отдельный сервис персонализации и развивать, а что можно удалить из кодовой базы и не пытаться поддерживать дальше.
  2. Оживить сценарии показов баннеров. Оживить, потому что, это скорее всего в каком-то виде уже реализовано в старом движке. Но сейчас этим не пользуются: баннеры ставят в материалы вручную, в подвале с рекомендациями в конце статьи он тоже всегда один и тот же. Это бесит пользователей, а мы недосчитываемся целевых действий.
  3. Улучшить почтовые коммуникации: сделать управление подписками на странице всех рассылок, улучшить синхронизацию пользователей журнала со служебными пользователями майндбокса, попробовать реализовать amp-механики вроде «сохранять статью в закладки не выходя из письма».
    Важно, чтобы эти и последующие задачи не сказались драматично на производительности и быстродействии готовых сервисов.

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

Из хардов будет тяжеловато без:

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

Бэкендер в маркетинговое направление

Награда:

Emerging Travel Group — travel-tech компания, в состав которой входят четыре бренда: российские Ostrovok.ru и B2B.Ostrovok и международные ZenHotels и RateHawk.
Мы ищем DevOps инженера для решения нетривиальных задач в сплоченной команде единомышленников.
О нашем департаменте разработки:
Самый технологичный тревел-сервис на планете сам себя не создаст, так что этим занимаемся мы — команда Engineering. Наша власть практически безгранична: мы взаимодействуем со всеми департаментами, развиваем все направления — отели, авиабилеты и трансферы; B2B и В2С; российские и международные; разрабатываем внутренние продукты — CRM, Intranet, Blog, Infrastructure.
При этом находиться в офисе совершенно необязательно — мы нацелены на результат, а не на высиживание определённого количества часов. Ты можешь работать дома, из офиса или выбрать гибридный формат.
Мы увлечены своей работой — проводим хакатоны и открытые демо-встречи, вместе смотрим в офисе важные конференции.
Мы используем:

  • базы данных InfluxDB / Aerospike / ClickHouse;
  • фреймфорки Django / FastAPI;
  • системы мониторинга и логирования ELK / Filebeat / Syslog-ng.
    Ключевые задачи:
  • развитие инфраструктуры состoящей преимущественно из bare metal серверов;
  • создание плейбуков для настройки новых и имеющихся серверов;
  • автоматизация процессов ротации серверов - решение задаx;
  • отказоустойчивости и производительности железа;
  • разработка систем сборки и деплоя приложений;
  • развитие CI/CD решений;
  • работа над инструментами деплоя и мониторинга;
  • настройка процесса прохождения кода через окружения: local / development / staging / production.
    Для этого понадобится:
  • богатый опыт администрирования Linux: Ubuntu от 3х лет;
  • навыки автоматизации процессов: Ansible (Chef | Puppet | SaltStack);
  • владение языками программирования: Bash (Python | Golang | Ruby);
  • опыт администрирования баз данных: PostgreSQL, Redis;
  • работа с CI/CD решениями: Gitlab CI (TeamCity | Jenkins);
  • хорошее знание систем контейнеризации: Docker, LXC;
  • опыт работы с системами мониторинга: Zabbix, Grafana.
    Будет плюсом:
  • опыт работы с оркестраторами K8s / OpenStack.
    Взамен мы предлагаем:
  • 100% белая заработная плата;
  • комфортный офис в центре Москвы с бесплатным фитнес-залом, зонами отдыха, безлимитным чаем/кофе и питанием;
  • гибридный формат работы: удалённо, из офиса или оба варианта;
  • гибкий график — мы не требуем в 9:00 быть в сети или в офисе. Можешь начинать работать в комфортное для тебя время;
  • интересные амбициозные задачи, которые выведут тебя на новый профессиональный уровень;
  • обучение: семинары, тренинги, конференции. Если ты сам хочешь выступать на конференциях — поможем всё организовать;
  • ДМС;
  • корпоративный английский, а также скидки на SkyEng;
  • крутые активности с коллегами: киновечера, викторины, тематические вечеринки, ежегодные выезды на природу, игры в футбол/волейбол;
  • корпоративные скидки на отели и другие услуги;
  • молодая активная команда классных специалистов.
Emerging Travel Group
🇷🇺
Emerging Travel Group
🇷🇺
Ремоут

DevOps Engineer

Награда:

Нет вашей компании? Добавьте вакансии с вознаграждением, и получайте рекомендованных специалистов.