О команде
Команда архитектуры и разработки Arenadata. Развивает собственные продукты для хранения и обработки больших данных, ведёт технический блог, занимается исследовательской работой и публикует статьи с результатами исследований, контрибьютит в open source, делится опытом на внешних конференциях, проводит внутренние технические конференции.
Этапы собеседования
•Беседа с рекрутером
•Техническое интервью с экспертами
•Интервью с руководителями
•Оффер
О роли
Вам предстоит руководить командой Java-разработки и принимать непосредственное участие в развитии продуктов Arenadata для распределённого хранения, пакетной и потоковой обработки больших объёмов данных, включая Arenadata Hyperwave и Arenadata Streaming.
Стек технологий
•Java, Apache Hadoop, Apache Spark, Apache Kafka, Linux, Maven
•В экосистеме продуктов также используются HBase, Hive, Ozone, Kyuubi, NiFi, Flink, Trino, Impala, Iceberg, ZooKeeper, Docker и другие технологии распределённой обработки и хранения данных
Что нужно делать
•управлять командой разработчиков: декомпозировать и распределять задачи, определять приоритеты, контролировать сроки и качество выполнения
•оценивать трудоёмкость задач, анализировать техническую реализуемость решений и участвовать в формировании планов разработки
•нести ответственность за технический результат команды, качество решений и выполнение согласованных планов
•участвовать в проектировании, разработке и развитии компонентов распределённых систем
•проводить R&D-исследования и готовить PoC-решения
•взаимодействовать с TPM, архитекторами и другими командами для определения технических решений, стратегии и планов развития продуктов
•заниматься разработкой программного обеспечения (ПО) в соответствии с функциональными спецификациями (техническим заданием)
•выявлять и устранять сбои, узкие места и проблемы производительности в распределённых и высоконагруженных системах
•работать с кодом крупных open-source проектов: исследовать внутреннее устройство компонентов, диагностировать проблемы и вносить необходимые изменения
•проводить и организовывать code review
•обеспечивать необходимый уровень тестирования: писать unit-тесты и, при необходимости, интеграционные тесты
•участвовать в построении и совершенствовании процессов разработки внутри команды
•обеспечивать прозрачность работы команды, своевременно информировать заинтересованные стороны о статусе задач, рисках и изменениях планов
•развивать разработчиков внутри команды: проводить техническое наставничество, помогать с профессиональным ростом и распространением экспертизы
•участвовать в подборе команды
•организовывать накопление экспертизы, вести и поддерживать в актуальном состоянии документацию разработки и базу знаний
Мы ждём, что вы
•имеете опыт управления командой разработки в роли Team Lead от 2 лет и от 4 лет в роли Senior Java Developer
•продолжаете самостоятельно работать с кодом и готовы глубоко погружаться в технические задачи команды
•хорошо знаете Java, ООП, SOLID, алгоритмы и структуры данных, понимаете многопоточность и concurrency
•имеете глубокий практический опыт разработки и эксплуатации распределённых и высоконагруженных систем
•имеете практический опыт работы с экосистемой Apache Hadoop, принципы распределённого хранения, управления ресурсами и отказоустойчивости
•хорошо понимаете Apache Spark: архитектуру, модель выполнения приложений, управление ресурсами и основные механизмы оптимизации
•хорошо понимаете Apache Kafka: архитектуру, масштабирование, производительность и отказоустойчивость
•умеете диагностировать сложные проблемы распределённых систем: анализировать логи и метрики, находить первопричины сбоев и узкие места производительности, аргументировать и реализовывать необходимые улучшения
•понимаете основные механизмы безопасности, High Availability и восстановления распределённых систем после сбоев
•имеете опыт JVM profiling и диагностики проблем CPU, memory, GC, I/O, heap dump
•умеете читать и модифицировать код крупных open-source проектов и быстро разбираться в незнакомой кодовой базе
•имеете опыт написания unit- и интеграционных тестов, работы с Maven, Linux и CI/CD
•умеете проводить качественный code review, декомпозировать сложные задачи, принимать технические решения и нести ответственность за результат команды
Будет плюсом
•опыт эксплуатации Hadoop, Spark и Kafka в production-среде
•глубокое понимание внутреннего устройства HDFS, YARN и Kafka
•опыт работы с HBase, Hive, Ozone, NiFi, Flink, Trino, Impala или Iceberg
•опыт работы с Kafka Connect, Kafka Streams, Schema Registry, ZooKeeper
•опыт работы с Kerberos, SASL/SSL, ACL и другими механизмами безопасности распределённых систем
•опыт разработки или существенной доработки крупных open-source проектов
•опыт работы с Docker и Kubernetes
Мы предлагаем
•Возможность вносить вклад в open source
•Выдаём мощное железо: ноутбук, до 2х мониторов
•Выстроенные процессы: адаптация, вертикальный (по грейдам) карьерный рост, возможность горизонтальных карьерых переходов, матрицы компетенций, планы развития
•Поддержка в профессиональном развитии: внутреннее обучение по нашим продуктам, внутренние технические конференции, оплата внешнего обучения и конференций
•Забота о вашем здоровье: ДМС со стоматологией с первого месяца работы, страхование жизни, оплата больничного 100% от зарплаты, частичная компенсация онкострахования, льготные условия ДМС для ваших близких
•Формат работы на выбор: полностью удалённый, из офиса в Москве, гибридный
•No meeting day по четвергам (минимум встреч, максимум продуктивности)
•Трудоустройство по ТК РФ