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