📞 Приходите на HR-созвон 16 апреля

Поговорим о том, как связаны HR-бренд и внутриком и почему ваши сотрудники становятся главным каналом коммуникации — хотите вы этого или нет

→ регистрируйтесь здесь

Python разработчик

Требования

Бэкенд разработчик
Senior
Python
PostgreSQL
Linux
SQLalchemy
FastAPI
SQL

Условия

Можно удалённо
Москва

Компания

Ведущий технологический партнёр государственных организаций в области автоматизации сложных бизнес-процессов

Описание вакансии

О компании и команде

it-компания gnivc- партнер государственных компаний и лидеров российского бизнеса, разработчик и системный интегратор крупнейших государственных информационных систем, а также коммерческих решений для налогового мониторинга.

  • Компания входит в ТОП-100 лучших работодателей и 7 место в категории "IT и Интернет" 2023 года по рейтингу работодателей hh.ru среди крупных компаний;
  • Мы в 25% лучших по уровню счастья среди компаний отрасли IT и России 2024 по версии Happy Job;
  • Являемся аккредитованной ИТ-компанией.

Мы кросс-функциональная команда, которая разрабатывает облачную платформу (PaaS\IaaS) и систему управления виртуализацией гипервизора KVM. У нас есть большая экспертиза в области разработки систем управления виртуализацией и другого системного ПО.
Продукты разрабатываются с самого начала и на текущем этапе нет legacy. Можно использовать самые последние версии языков программирования, фреймворков и библиотек.

Задачи:

  • Разработка REST API на FastAPI:
  1. Создание высокопроизводительных RESTful API с использованием FastAPI;
  2. Документирование API с использованием Swagger/OpenAPI;
  3. Реализация аутентификации и авторизации (OAuth2, JWT).
  •  Создание серверных приложений, взаимодействующих с другими сетевыми приложениями:
  1. Разработка серверных приложений, взаимодействующих через ZeroMQ, gRPC, HTTP/HTTPS, TCP/UDP.
  • Реализация асинхронных и многопоточных задач (обработка больших объемов данных).
  • Оптимизация работы с БД:
  1. Оптимизация SQL-запросов и индексов для повышения производительности;
  2. Работа с асинхронными драйверами баз данных (asyncpg, aiosqlite).
  • Интеграция с внешними API и сервисами:
  1. Интеграция с внешними API через асинхронные HTTP-запросы (aiohttp, httpx);
  2. Работа с LDAP-протоколом для аутентификации и управления пользователями.
  •  Написание тестов для разрабатываемых приложений:
  1. Создание unit и интеграционных тестов для асинхронного кода (pytest, pytest-asyncio).

Мы от вас ожидаем:

  • Разработка REST API:
  1. Опыт разработки RESTful API с использованием фреймворка FastAPI;
  2. Понимание принципов REST (ресурсы, методы HTTP, статус-коды);
  3. Умение проектировать и документировать API (Swagger/OpenAPI).
  • Asyncio:
  1. Глубокое понимание библиотеки asyncio и её компонентов (корутины, задачи, цикл событий);
  2. Опыт разработки серверных сетевых приложений с использованием asyncio (например, TCP/UDP серверы, взаимодействие с ZeroMQ);
  3. Умение работать с асинхронными библиотеками (aiohttp, httpx, aioredis).
  • Многопоточность и многозадачность:
  1. Опыт работы с многопоточностью (модуль threading) и многозадачностью (модуль multiprocessing);
  2. Понимание GIL и его влияния на производительность;
  3. Умение использовать пулы потоков и процессов (ThreadPoolExecutor, ProcessPoolExecutor).
  • Работа с базами данных:
  1. Опыт работы с SQLAlchemy (Core и ORM) для взаимодействия с реляционными базами данных;
  2. Знание асинхронных драйверов для баз данных (asyncpg, aiosqlite);
  3. Умение оптимизировать запросы и работать с индексами.
  • Сетевые протоколы и технологии:
  1. Опыт работы с сетевыми протоколами (HTTP/HTTPS, TCP/UDP);
  2. Знание принципов работы сокетов и сетевых библиотек (socket, asyncio);
  3. Опыт работы с ZeroMQ (zmq) или gRPC для создания распределенных систем;
  4. Опыт разработки высоконагруженных сетевых приложений.
  • Тестирование и отладка:
  1. Опыт написания unit- и интеграционных тестов для асинхронного кода (pytest, pytest-asyncio);
  2. Умение отлаживать асинхронные приложения (asyncio debug mode, logging).

Будет плюсом:

  • Опыт работы с очередями задач (Celery, RabbitMQ, Kafka);
  • Знание систем кэширования (Redis, Memcached);
  • Опыт работы с системами управления виртуализацией (VMware, OpenStack, QEMU/KVM).

Условия работы

  • Работу в офисе, гибридный график, либо дистанционный формат работы ;
  • Пятидневную рабочую неделю (Пн. – Чт. с 09.00 до 18.00, Пт. с 09.00 до 16.45);
  • Конкурентную заработную плату по результатам собеседования, премии за эффективную работу и результат;
  • Оформление в соответствии с требованиями ТК РФ: оплачиваемые отпуска + доплата к отпуску 50% от оклада через 11 месяцев работы в Компании, выплата заработной платы дважды в месяц и др.;
  • Компенсация Больничный листа продолжительностью до 7 дней с сохранением полной оплаты, какая была бы в случае нахождения на работе.
  • возможность взять 5 дополнительных оплачиваемых выходных (ресурсных) дней в течение календарного года (с 1 января до 31 декабря) сотрудникам, проработавшим в компании больше 11 месяцев;
  • Профессиональное обучение и сертификация за счёт компании;
  • А еще мы организуем митапы, хакатоны, конференции, семинары и тренинги: как внутренние, так и внешние;
  • ДМС по окончании испытательного срока, с огромным перечнем лучших медучреждений и включая классную стоматологию;
  • Партнерские программы по обучению иностранному языку и прокачки скиллов от Skyeng и Skillbox;
  • Доступ к корпоративной библиотеке на платформе Alpina Digital;
  • Возмещение до 50 % затрат на занятия спортом;
  • А также, множество других приятных и интересных бонусов и преференций.