Описание вакансии
Коротко о ролиBuild and support execution-engine components: Implement, test, debug, and maintain well-defined changes to query operators, expression evaluation, execution scheduling, and resource management.
Задачи:
— Реализовывать, тестировать, отлаживать и поддерживать компоненты движка выполнения запросов, включая операторы запросов, вычисление выражений, планирование выполнения и управление ресурсами.
— Писать чистый, поддерживаемый код на Java, добавлять модульные и интеграционные тесты, следовать установленным инженерным практикам по ревью кода, тестированию и документации.
— Диагностировать проблемы с корректностью, надежностью и производительностью запросов, используя профили запросов, логи, телеметрию, бенчмарки и данные из продакшена.
— Изучать основы работы рантайма и производительности, включая векторную обработку, параллелизм, управление памятью, обмен данными и использование диска.
— Сотрудничать с командой, включая старших инженеров и партнерские команды, для понимания требований, разбиения задач и постепенного улучшения системы.
— Использовать инструменты разработки с поддержкой ИИ для понимания кода, отладки, генерации тестов и документации, проверяя результаты через тестирование и ревью.
— Активно участвовать в обсуждениях дизайна и ревью кода, получать обратную связь и брать на себя расширенную техническую ответственность.
Требования:
— До двух лет профессионального опыта разработки ПО или эквивалент через стажировки, учебные проекты или личные проекты.
— Владение Java или другим объектно-ориентированным языком программирования, готовность работать с большим кодовой базой на Java.
— Знание основ компьютерных наук: структуры данных, алгоритмы, базовые концепции параллелизма.
— Умение решать технические задачи, задавать вопросы и применять обратную связь.
— Стремление писать тестируемый, поддерживаемый код и следовать практикам разработки, тестирования и ревью.
— Навыки коммуникации и сотрудничества, умение сообщать о прогрессе и проблемах.
— Высшее образование в области компьютерных наук или эквивалентный практический опыт.
Преимущества:
— Опыт с внутренним устройством баз данных, обработкой запросов, распределенными системами или крупномасштабной обработкой данных.
— Знакомство с концепциями производительности, такими как профилирование, управление памятью, параллелизм, векторная обработка.
— Опыт с C++, Apache Arrow, Parquet, Apache Iceberg, Spark, Hadoop, облачными хранилищами.
— Вклад в проекты с открытым исходным кодом.
Условия:
— Удаленная работа.
Компания Dremio — платформа lakehouse для аналитики и ИИ, использующая открытые технологии Apache Iceberg и Apache Arrow, обслуживает крупные мировые компании.
Контакты работодателя доступны по кнопке «Откликнуться» после входа.