О компании, продукте и команде
Компания CodeScoring занимается разработкой решений для автоматизированного анализа исходных кодов в сфере информационной безопасности и оценки качества программных продуктов.
Ключевой продукт компании — CodeScoring, платформа анализа программного обеспечения для безопасной работы с open source, проверки совместимости лицензий и оценки качества кода в разрезе команды.
Офис компании находится в Петербурге на Петроградской стороне, часть сотрудников работает удаленно.
Наши ожидания
Мы ищем инженера уровня middle, который усилит нашу команду, занимающуюся обработкой и интеграцией данных. Основная предметная область – информационная безопасность: уязвимости, программные пакеты, библиотеки и связанные с ними артефакты.
Технологический стек:
- Apache Airflow 2.10+
- Python 3.11/3.12
- Pydantic 2.x
- SQL
- FastAPI
- PostgreSQL
- Clickhouse
- Kafka
- Grafana
- MinIO
- Cassandra
На текущий момент команда Data поддерживает около 10 различных сервисов, 3 хранилища данных, очередь сообщений и порядка 90 дата-пайплайнов.
Важно: у нас не Big Data в классическом понимании. Мы сосредоточены на качестве данных и устойчивости пайплайнов, а не на объёмах в петабайтах.
Основные задачи и обязанности
- Разработка data-пайплайнов (DAG'ов) для интеграции новых источников данных — с обилием сериализаторов и кастомной логики на Python
- Поддержка существующих пайплайнов, включая адаптацию к изменениям на стороне источников, обработку некорректных или повреждённых данных
- Рефакторинг текущего кода и снижение технического долга
- Создание вспомогательных инструментов и служебных DAG'ов для работы с данными
- Написание SQL-миграций и SQL-запросов для трансформации данных (PostgreSQL, Clickhouse), а также оптимизация этих запросов
- Участие в задачах, связанных с качеством данных — валидация, обогащение, очистка, преобразование и прочее
- (Опционально) Работа над задачами административной панели — backend и UI
- Участие в поддержке и развитии мониторинга пайплайнов — настройка алертов, контроль SLA и смежные задачи
Требования
- Опыт работы от 1 года
- Желание работать с данными и развиваться в направлении Data Engineering
- Опыт именно в data-проектах не обязателен — подойдёт опыт в backend-разработке на Python, написании скриптов и т.п. В этом случае важно уверенное владение Python
- Знание Python 3.x на уровне junior/middle
- Знание SQL на уровне простых SELECT-запросов, фильтрации, OFFSET и др. — и готовность развиваться в этой части
- Опыт работы с PostgreSQL или другой аналогичной SQL-базой на уровне пользователя