Backend

Principal C++ developer / Ведущий инженер-программист (TATLIN.UNIFIED) Full-time

О компании и команде

YADRO — группа российских технологических компаний, объединяющая направления разработки и производства вычислительных платформ, систем обработки и хранения данных, телекоммуникационного и сетевого оборудования.

Мы активно расширяемся и в связи с этим открываем поиск Principal Software engineer (C++) в Департамент обработки данных – часть большой команды разработки нашего флагманского продукта - TATLIN.UNIFIED.
Продукт представляет собой современное хранилище, созданное для решения задач традиционных корпоративных приложений, больших данных и аналитики, которое используют в ЦОД, публичных и частных облаках. 

Команда создаёт самую сложную часть программного продукта СХД – набор высоконагруженных сервисов, реализующих сложные алгоритмы работы с данными, их кэширования, репликации, создания слепков (snapshots) и т.д. 
Наибольшая часть сервисов написана на С++ в соответствии с последними стандартами языка,  часть сервисов написана на языке C в ядре Linux в тесной интеграции с аппаратной частью. Набор сервисов, которые разрабатываются в департаменте, реализуют так называемый Data Path СХД.

Data Path СХД решает следующие задачи:

  • Кэширование данных на запись и чтение с управлением политик наполнения кэша и вытеснения данных из кэша.
  • Обеспечение консистентности данных между основной и резервной новой в режиме active-active для различных режимов работы системы.
  • Синхронная и асинхронная репликация данных на удаленные системы.
  • Создание слепков данных (снапшотов) и работа с ними.
  • Реализация собственного гибкого, конфигурируемого решения для RAID.
  • Автоматическая адаптация системы к профилю нагрузки для достижения максимальной производительности системы при различных сценариях и многое другое.

    Чем предстоит заниматься

    • Разработкой высокопроизводительных data path, control/management path, уровня data protection и кластерных компонентов для системы хранения данных.
    • Разработкой эффективных алгоритмов и структур данных для симметричного active-active кластера.
    • Разработкой высокопроизводительных алгоритмов преобразования данных и алгоритмов уменьшения избыточности данных.
    • Исследованием и решением проблем, связанных с производительностью и стабильностью;
    • Разработкой механизмов репликации данных.
    • Настройкой и доработкой различных подсистем ядра Linux, продвижением наработок в mainline ядра.

      Ожидания от кандидата

      • Понимание устройства современных компьютеров и операционных систем в целом.
      • Уверенное понимание принципов создания дизайна и архитектуры программных продуктов.
      • Опыт построения сложных программных продуктов и разработки архитектуры.
      • Знание С и C++11/14/17.
      • Отличное понимание как устроен Linux и Linux/POSIX API.
      • Опыт анализа производительности отдельных приложений и системы в целом.
      • Умение тестировать собственный код.
      • Опыт написания многопоточных и/или асинхронных программ.
      • Также необходимо быть знакомым с классическими алгоритмами и структурами данных.

      Будет плюсом

      • Наличие опыта разработки модулей ядра или опыт системного программирования.

      Условия работы

      • Возможность выбрать удобный формат работы: гибрид, офис, удаленная работа.
      • Конкурентный уровень заработной платы для нас это не просто слова, а - принцип.
      • Обучение и развитие: учебный портал с курсами и лекциями от внешних и внутренних экспертов, а также дополнительное профессиональное обучение и изучение английского языка.
      • Программу поддержки инноваций: премии за научные достижения, публикацию статей, выступления на конференциях и регистрацию патентов.
      • "Лекторий", в котором мы организовываем встречи с выдающимися экспертами в области технологий.
      • Заботу о здоровье: ДМС с первых дней работы + стоматология, а также льготные условия страхования близких.
      • Поддержку в личных вопросах: консультации юристов, психологов, экспертов по ЗОЖ и управлению финансами.
      • Открытое общение: регулярные онлайн-встречи всей команды YADRO.
      • Программу рекомендаций: рекомендуя друзей или бывших коллег, вы получаете не только возможность работать вместе, но и денежные бонусы.

      Overview

      • Employer: YADRO
      • Job Title: Principal C++ developer / Ведущий инженер-программист (TATLIN.UNIFIED)
      • Published: 8 months ago
      Apply For This Job