Team Lead Java (Big Data, Hadoop)
Описание
Вам предстоит руководить командой 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.