Senior Python Developer
Компания: CVAT
Тип занятости: Полная занятость
Местоположение: Удаленно по всему миру или Кипр
CVAT (Computer Vision Annotation Tool) — ведущая платформа с открытым исходным кодом для аннотации данных, которой доверяют более 250 тыс. команд и исследователей по всему миру. Мы ищем старшего Python-разработчика, который будет отвечать за проектирование, разработку и документирование нашего Python SDK и API. Эта роль находится на стыке backend-разработки, проектирования SDK/библиотек и опыта разработчика. Помимо формирования высокоуровневого SDK и написания учебных пособий, которые упрощают расширение и интеграцию CVAT, вы будете обеспечивать согласованность, версионирование, простоту использования и качественную документацию наших API.
Что вы будете делать
- Поддерживать и развивать серверный HTTP API, обеспечивая стабильность, обратную совместимость и версионирование.
- Поддерживать и расширять существующий Python SDK, включая пакет Python и инструмент командной строки.
- Поддерживать автоматически сгенерированные низкоуровневые SDK.
- Проектировать и разрабатывать высокоуровневые абстракции SDK для охвата распространенных рабочих процессов (например, создание задач, автоматизированный контроль качества, отслеживание прогресса).
- Писать понятную документацию для разработчиков на всех трех уровнях: HTTP API, Python SDK, CLI.
- Создавать исполняемые учебные пособия, примеры интеграции и скрипты автоматизации.
- Улучшать API сервера и SDK для повышения удобства использования и обеспечения более эффективных рабочих процессов.
- Поддерживать и улучшать CI/CD-пайплайны для релизов SDK (тестирование, упаковка, публикация в PyPI).
- Обеспечивать корректную работу SDK на всех поддерживаемых платформах, включая Linux, MacOS и Windows.
- Взаимодействовать с сообществом open-source, обрабатывая запросы (issues), рецензируя PR и собирая отзывы.
Что мы ожидаем от вас
- Подтвержденный опыт разработки Python SDK/библиотек (с публичными репозиториями или пакетами PyPI).
- Глубокое понимание HTTP API, OpenAPI/Swagger, потоков аутентификации и стратегий версионирования.
- Опыт работы с системами упаковки и инструментами Python (PyPI, setuptools, pip, poetry, pip-tools, virtual environments).
- Способность проектировать библиотеки (в идеале с публичным использованием/принятием).
- Опыт написания документации для разработчиков и учебных пособий (docs-as-code, Sphinx/Markdown).
- Опыт работы с Git/GitHub (ревью PR, CI/CD).
- Опыт работы с основными платформами (Windows, Linux, MacOS).
- Владение английским языком (письменным и устным, минимум B2).
Приветствуется
- Опыт работы с JavaScript SDK.
- Вклад в open-source SDK.
- Знакомство с инструментами разработки для компьютерного зрения / машинного обучения (например, DVC, FiftyOne, Datumaro).
- Опыт работы с модульным тестированием (unittest, pytest).
- Опыт работы с инструментами отладки.
- Страсть к использованию AI для ускорения вашей работы.
Почему стоит присоединиться
- Станьте частью команды, увлеченной компьютерным зрением и open-source.
- Возможности для карьерного роста.
- Гибкий график работы с возможностью удаленной работы из любой точки мира.
- Здоровый баланс между работой и личной жизнью, поддерживаемый щедрой политикой отпусков и больничных.
- Медицинская страховка и льготы.
- Участвуйте в глобальном сообществе разработчиков над значимыми проектами.