
Наша рубрика «Где работать в IT» — это интервью с интересными IT-компаниями, в которых они делятся подробностями о процессах своей работы. Представители индустрии отвечают на вопросы о найме, условиях, командах и технологиях.
В этом выпуске мы расскажем о компании YADRO, которая c 2014 года создаёт, производит и поддерживает фундаментальные для российского рынка продукты, начиная от серверов и заканчивая собственной базовой станцией. В компании работает более 7 тыс. человек, а её R&D-центры расположены в Москве, Санкт-Петербурге, Нижнем Новгороде, Екатеринбурге и Минске. Есть собственное производство в Московской области и инновационное производство полного цикла в городе Дубна.
А ещё в выпусках мы рассказываем об оценках компаний на «Хабр Карьере», чтобы вы были в курсе, за что их любят (или нет?) сотрудники. Кстати, если вы тоже оцените своего работодателя, это поможет тем, кто ищет работу в IT.
Кто отвечал на вопросы
О работе и корпоративной жизни в YADRO нам подробно рассказали:

Иван
директор департамента разработки средств управления сетевыми элементами

Дмитрий
руководитель группы функциональной верификации

Артем
директор департамента мультивендорных решений и экспертизы

Андрей
старший инженер по разработке сетевого ПО

Михаил
старший инженер по разработке ПО
Об условиях работы
Какой в вашей компании сложился рабочий график и отношение к переработкам?
Андрей: В нашей команде работают коллеги из 25 городов в разных часовых поясах, поэтому плановые встречи обычно проводим не позднее 16:00 по Москве. Переработок стараемся избегать, для этого планируем свои задачи в двухнедельных спринтах.
Михаил: Главное — результат, но при этом переработки не приветствуются. Мы нацелены на долгосрочную работу и хотим, чтобы сотрудник мог эффективно выполнять свои функции с нами вдолгую, а не выгорал от чрезмерной нагрузки.
Какие бытовые условия ждут нового сотрудника на рабочем месте?
Иван: Лично я был только в офисах в Санкт-Петербурге и Нижнем Новгороде, и в обоих городах условия полностью соответствуют потребностям, от рабочих мест и зон отдыха до снеков и парковок. Офисы светлые и уютные, а главное — вокруг работают увлечённые своим делом люди!
Андрей: Я живу в Санкт-Петербурге и всегда приезжаю в офис с удовольствием. Приятно, что есть большая автомобильная парковка для всех сотрудников, а если я на велосипеде, то пользуюсь велопаркингом.
Артем: Помимо базовых условий работы, в рамках нашего департамента мы также предоставляем доступ к собственным лабораториям с набором разнообразного оборудования для проверки технологий, гипотез и работы над инцидентами.

Есть ли возможность удалённой работы?
Михаил: Конечно. У нас практически вся команда работает удалённо, и сотрудники находятся в разных городах: Москва, Санкт-Петербург, Краснодар, Уфа, Омск, Екатеринбург, Новосибирск и Барнаул.
Андрей: В нашей команде гибридный режим работы. Примерно половину рабочих дней в неделю мы работаем в офисе, а вторую половину из дома. Я считаю такой формат наиболее комфортным для себя, хотя многие коллеги предпочитают ежедневно приезжать в офис, там уютно.
Какой социальный пакет получают сотрудники?
Андрей: В YADRO с первого дня работы есть ДМС, программа скидок BestBenefits, доступ к онлайн-библиотеке, поддержка спортивных и творческих инициатив сотрудников. Например, в прошлом году я участвовал от компании в беговом полумарафоне, велогонке и «Лыжне России». Приятно, что компания также готовит фирменный мерч для участников.
Иван: Кроме всего перечисленного, у нас есть обучения, которые строятся в зависимости от роли и опыта сотрудника (как по технической, так и по управленческой веткам) и действительно помогают в личном развитии.
Какие бонусы, премии и компенсации предусмотрены в компании?
Иван: Во-первых, в компании есть система премирования, которая зависит от уровня сотрудника и его результатов. Во-вторых, внутренняя система благодарности, когда сотрудник выражает «спасибо», а получатель может обменять «спасибо» на классный мерч.
Андрей: Помимо премий, у нас есть программа поддержки командных творческих и спортивных активностей. Я посещал тренировки по йоге, волейболу, теннису, сквошу, плаванию. Все занятия проходят с тренерами, поэтому очень интересно в них участвовать и повышать своё спортивное мастерство.
Дмитрий: Еще у нас работает реферальная программа: можно получить бонусы за рекомендацию знакомого, который будет работать в компании. Если выступаешь на конференциях и развиваешь инженерную культуру, то получаешь баллы, которые можно обменять, например, на мерч или купить билеты на концерт.

Какие есть перспективы для образования и личного развития у сотрудников?
Дмитрий: В YADRO сотрудники вместе с руководителями формируют индивидуальные цели развития и могут согласовать дополнительное обучение как внутри компании, так и вне.
Иван: В последнее время всё чаще наши соискатели на интервью в качестве причины, почему хотят к нам, упоминают выступления наших коллег на топовых технических конференциях и мероприятиях, например, Golang Conf. Это отличный показатель развития навыков у сотрудников.
Михаил: Команды растут, перспектив много. За год вырасти в лида вполне реально. Возможности есть у всех, а остальное зависит от желания сотрудника брать на себя больше ответственности.
О найме
Во сколько этапов проходит найм и что на них ожидает соискателя?
Андрей: В нашей команде 4 этапа: интервью с рекрутером, технический скрининг, техническое интервью и интервью с руководителем команды. Лайвкодинга у нас нет. Мы стараемся задавать вопросы на понимание нашего стека технологий и определить уровень скиллов и опыта соискателя — младший инженер, инженер, старший инженер, ведущий инженер и т. д.
Иван: Зависит от роли, но базово это встреча с рекрутером, техническое интервью и общение с нанимающим руководителем, чтобы понять, насколько мы друг другу подходим. Мы не затягиваем процесс. А ещё у нас регулярно проходит SPRINT OFFER — когда за 1–2 недели мы проходим путь от знакомства до подписания документов.
Даёте ли вы тестовое задание кандидатам? Как оно устроено?
Дмитрий: В направлении, которое я курирую, тестовые задания не даём. Как правило, 2-3 интервью достаточно для того, чтобы оценить, подходит кандидату позиция или нет.
Андрей: Мы даём тестовое задание только при отборе людей на стажировку: таких кандидатов очень много, и нет возможности провести собеседование с каждым из них.
Иван: В моём направлении мы не даём тестовые задания, у нас фокус на живом общении.
Как отличается подход к найму в зависимости от позиции и стека?
Артем: Чем выше уровень кандидата, тем глубже изучаем его опыт, спрашиваем о конкретных задачах и решениях на прошлых проектах. Если кандидат настраивал системы, просим описать процесс шаг за шагом. Если проектировал архитектуру — разбираем, как анализировал требования и почему выбрал определённое решение.
Иван: Сильно зависит от направления. Иногда там, где критично нужны люди со специфическими опытом и навыками, мы подходим очень гибко, и обычные интервью переформатируются в формат «беседа опытных коллег о подвигах» — главное, чтобы команда почувствовала, что это именно тот человек.
Какая фраза от кандидата на собеседовании точно заставит вас выкинуть его резюме?
Иван: За время работы в компании таких фраз не слышал (спасибо команде рекрутмента!). Но если бы услышал, то для меня это была бы фраза «мне вообще не важно, чем заниматься у вас на работе» — с таким настроем сложно работать в команде увлеченных идеей людей.
Дмитрий: Мы сохраняем все резюме кандидатов, даже если им не хватает навыков. Они могут вернуться и попробовать свои силы позже.
Как происходит онбординг нового сотрудника?
Артем: В YADRO есть программа онбординга, которая помогает новому сотруднику комфортно адаптироваться в компании. Руководители отделов знакомят новичка со спецификой работы, процессами и текущими задачами. При работе с новым функционалом сотрудника сопровождает более опытный коллега, который помогает разобраться во всех нюансах.
Иван: Зависит от роли, но наш главный принцип — рядом всегда есть Buddy и непосредственный руководитель, которые в формате регулярных встреч помогают решить любой вопрос и выстроить коммуникацию с командой и коллегами. Базовые тренинги и понятные инструкции помогают адаптироваться в комфортном темпе.

О команде
Какая методология разработки у вас используется и почему?
Андрей: Мы работаем по Agile. Используем классический набор инструментов: бэклог, планирование, двухнедельные спринты и ретроспективы. Такой подход позволяет быстро достигать результатов. Важно, что каждый сотрудник видит свой вклад в общий результат команды за каждый спринт.
Дмитрий: В нашей разработке применяется V-модель — она позволяет разбить верхние уровни продуктовых требований до уровня отдельных компонентов и модулей.
Иван: На уровне дивизиона используем подход, похожий на SAFe (по сути, а не по формальным ритуалам). В конкретных командах применяем гибкие методологии — Scrum или Kanban, адаптируя их под наши задачи.
Каковы размеры и структуры команд?
Иван: Стараемся придерживаться оптимального размера команды — 5-8 человек. У каждой команды есть техлид и тимлид, а также поддерживается баланс между опытными и новыми инженерами.
Андрей: Команда разработки ПО сетевого коммутатора насчитывает чуть более 100 человек. Мы организованы в отделы по 10-15 человек, каждый из которых находится под руководством тимлида.
Дмитрий: Наши команды обычно включают от 5 до 12 человек. При большем количестве возникают значительные сложности с эффективной коммуникацией и организацией продуктивной работы.
Артем: На текущий момент в департаменте 5 отделов, которые разделены по функциональным задачам и продуктам, над которыми работают эксперты. В рамках проектов сотрудники отделов объединяются в виртуальные команды под руководством технического и проектного лидеров, что позволяет обеспечить проект всеми необходимыми компетенциями.
По каким критериям вы разбиваете разработчиков на джунов, мидлов и синьоров?
Дмитрий: Для каждой роли в команде разработаны четкие требования и матрицы компетенций. Это позволяет объективно оценивать кандидатов на собеседованиях и создавать условия для профессионального роста сотрудников.
Кто чаще возглавляет команды — продуктовый специалист или технический?
Андрей: Наши команды возглавляют технические специалисты. Продуктовые менеджеры выступают в роли заказчиков новых функций и требований, а за реализацию отвечают разработчики.
Иван: Командам в разных ситуациях требуются разные лидеры, поэтому у нас есть специалисты, готовые ответить на любые вопросы. По техническим вопросам консультирует техлид, по процессу работы команды — Agile Team Lead, а по вопросам мотивации и развития — руководитель. Благодаря этому у нас не возникает нерешенных вопросов на уровне команд.
Как часто люди меняют команды?
Андрей: Такие случаи бывают. Например, если человек долгое время работает в своей узкоспециализированной области и хочет сменить направление, тогда он переходит в другой отдел.
Артем: Как я уже говорил, наши эксперты могут объединяться в виртуальные группы, которые формируются под конкретные проекты и покрывают необходимые компетенции, поэтому не возникает желания переходить в другую команду, ведь мы и так регулярно работаем с разными коллегами и над разными задачами.
Что важнее, софт-скиллы или хард-скиллы?
Иван: Это зависит от роли и позиции. Для junior-специалиста важнее hard skills, а для технического лидера уже одинаково важны как hard, так и soft skills. Основная задача руководителей — помочь сотрудникам понять это и развивать навыки в соответствии с их ролью.
Андрей: Я убежден, что главное для разработчика — это hard skills. Всё остальное приходит с опытом командной работы.
Артем: Мы часто работаем напрямую с заказчиками, это неотъемлемая часть наших профессиональных задач, поэтому важно соблюдать баланс между hard skills и soft skills.
Как много собраний у вас проводится? Есть ли особые подходы к ним?
Андрей: У разработчиков не более 1-2 созвонов в день. Мы стараемся больше времени уделять написанию кода и тестированию, а не участию в совещаниях.
Артем: Внутри департамента мы минимизируем количество собраний, чтобы не отвлекать экспертов от их основной работы. Еженедельные собрания в каждом отделе длятся не более часа. И мы всегда заканчиваем встречи на 5 минут раньше запланированного времени, чтобы сотрудники могли спокойно добраться до следующей встречи или сделать перерыв, например, налить себе кофе.

Как вы боретесь с выгоранием сотрудников?
Иван: Главная защита от выгорания у нас — это те технические задачи, которые мы как компания ставим перед собой. Инженерам действительно интересно их решать.
Артем: Поскольку наш департамент занимается множеством различных активностей, то в случае выгорания сотрудника (а таких случаев было зафиксировано не более одного) мы переключаем его на другие задачи, с которыми он ранее не сталкивался. Это позволяет применить его экспертизу в новом ключе и повысить продуктивность.
Андрей: Мы стараемся предоставлять интересные и разнообразные задачи. Например, даем возможность стать наставником для стажеров и junior-разработчиков — делиться знаниями и передавать свой опыт.
О технологиях
Какие языки, фреймворки и библиотеки используются на проекте?
Иван: В нашей команде используются Go, C/C++ и Python.
Дмитрий: Мы работаем с C и программированием под BareMetal. Для нас критически важен полный контроль над аппаратным обеспечением на самом низком уровне.
Что вы можете рассказать об архитектуре проектов?
Иван: Постараюсь не раскрыть ничего лишнего, но заинтересовать. Наши основные подходы — это чистая архитектура и её разработка для решения чётко сформулированных задач.
Мы не делаем «микросервисы» просто, чтобы было модно, каждое решение взвешивается, чтобы оно отвечало понятным продуктовым требованиям. При этом каждый техлид или опытный инженер может участвовать в этом процессе.
Какая у вас принята политика код-ревью?
Иван: Наши основные принципы:
несколько ревьюверов, включая техлида;
никакой код не попадёт в CI без ревью;
культура конструктивной критики в комментариях.
Как тестируется код?
Дмитрий: У нас специфическая задача: мы участвуем в верификации систем на кристалле ещё на этапе проектирования, когда микросхема ещё не изготовлена. Для проверки корректности работы мы используем RTL и функциональные симуляторы, такие как QEMU. Качество разрабатываемого кода оценивается с помощью метрик функционального и кодового покрытия RTL кода, что является достаточным условием для оценки качества проектирования.
Иван: Наша система тестирования многоуровневая, как бутерброд. На каждом этапе, от разработки до системного тестирования, используются уникальные наборы тестов с разным фокусом. Это включает в себя всё, от юнит-тестов и тестов уровня компонента до end-to-end тестов всей системы. Все тесты строго соответствуют функциональным и нефункциональным требованиям.
Именно процессы являются нашим главным помощником — они позволяют большому количеству инженеров эффективно выполнять свою работу, не беспокоясь о том, что что-то может остаться непротестированным.
Как устроен процесс документации и ведения базы знаний на проектах?
Иван: Этим мы действительно можем гордиться! Все наши продукты описаны в виде живых требований, доступных каждому человеку независимо от его роли. Благодаря этому мы не только понимаем, как работает система, но и осознаем, почему она работает именно так, а не иначе.
На уровне команд особую ценность представляют различные гайды, how-to инструкции и high level design документы — команды самостоятельно разрабатывают подходы и последовательно им следуют.
Дмитрий: Вся техническая документация хранится в специальной базе данных. Разработчики используют формат AsciiDoc — это позволяет автоматизировать множество рутинных процессов.
Каков процент легаси-кода на проекте и как часто разработчики занимаются его рефакторингом?
Иван: По моему мнению, в нашем направлении легаси-кода как такового не существует, однако рефакторинг должен проводиться регулярно и постоянно. Каждая команда самостоятельно планирует время на рефакторинг в рамках спринта.
Как реагируете на сообщения пользователей о багах и просьбы по улучшению сервисов/продуктов?
Дмитрий: Наши пользователи — это мы сами. Именно поэтому мы очень критично относимся к багам в наших инструментах и стараемся устранять их в первую очередь.
Иван: Благодарим за обратную связь и просим сообщать ещё: любой продукт становится по-настоящему успешным только благодаря его конечным пользователям. Мы прекрасно это понимаем, и для нас отсутствие обратной связи — это повод начать беспокоиться.