Сегодня рассказываем о том, как все устроено в Luxoft — глобальной компании, которая занимается разработкой ПО для клиентов по всему миру. Мы традиционно расспросили ребят об условиях работы, о процессе найма, команде и стэке технологий. И об этом всём нам рассказали:
Владимир Верещагин, управляющий директор Luxoft в России;
Мария Меркулова, директор по рекрутменту;
Елена Орлова, директор по персоналу, директор по глобальным перемещениям и выделенным сервисам;
Юрий Шиллер, директор в линейке бизнеса автомобилестроения по российским локациям;
Александра Власова, старший руководитель проекта в линейке бизнеса автомобилестроения;
Денис Ахмеров, руководитель проекта в линейке бизнеса автомобилестроения;
Артём Рябов, тимлид группы тестирования.
Кстати, этом году сотрудники на Хабр Карьере оценили Люксофт на 4,5 баллов из пяти, и с этой оценкой она занимает первое место в рейтинге среди икс-биг компаний (со штатом от 5000 сотрудников). Посмотрим, как изменится (и изменится ли) её позиция за оставшееся полугодие!
Вы тоже можете оценить своего работодателя и наставить ему четверок и пятерок (или троек с двойками, бывает и такое!). Главное, чтобы ваша оценка была честной.
Быстрая навигация по статье
О компании
Luxoft (a DXC Technology Company) — одна из крупнейших компаний в мире, которая разрабатывает программное обеспечение и инновационные IT-решения. Главный офис компании — в Швейцарии (в Цуге), а клиенты и сотрудники — по всему миру. В Люксофте работает более 20 000 человек, и эта цифра растет каждый месяц. Компания специализируется на сложных областях разработки — банкинге и финтехе, автомобильной отрасли, ритейле и логистике, телекоме и других.
В этом году Luxoft получила очень хорошую оценку на Хабр Карьере — бывшие и нынешние сотрудники оценили компанию на 4,5 балла из пяти. Выше всего в компании ценят использование современных технологий, профессиональный рост и замечательные отношения в команде.
Кстати, Люксофт получает оценку на Хабр Карьере с самого запуска сервиса оценки работодателей в 2018 году. Вы можете проследить за тем, как менялась оценка компании за это время и какие комменты оставляли сотрудники. Смотрите всё это в разделе с оценкой в деталях.
Об условиях работы
Какой в вашей компании рабочий график и какое отношение к переработкам?
Елена Орлова: В Luxoft всё демократично. В компании есть общепринятый график работы с 9:30 до 18:30, но команды часто работают с российскими и иностранными заказчиками, которые находятся в разных часовых поясах, поэтому мы используем такое понятие, как гибкий график. Сотрудники могут планировать своё рабочее время и рабочую активность довольно гибко; зависят они в этом только от команды, руководителя и текущих задач клиента — чаще всего достаточно устной договоренности с руководителем. Поэтому графики получаются очень разные, но многим это нравится. Если в рабочие часы нужно отлучиться по личным делам, то руководитель всегда старается идти навстречу.
Какие условия ждут нового сотрудника на рабочем месте?
Елена: Мы уже больше года работаем удаленно, поэтому сейчас мы отправляем новому сотруднику полный комплект оборудования и небольшой welcome pack домой. Доступы обычно начинают оформлять заранее, чтобы человек с первого дня приступил к работе. К каждому новичку «прикрепляется» buddy — это коллега, который ведёт сотрудника на протяжении испытательного срока, даёт возможность почувствовать себя частью компании и следовать плану развития — такой план составляется каждым новым сотрудником.
Есть ли возможность удалённой работы?
Елена: Да, конечно. Сейчас мы всей компанией по всему миру продолжаем работать удалённо: для нас здоровье и безопасность сотрудников -— приоритет №1. Из 3500 человек, которые работают в России, 3400 работают удаленно, а порядка 100 человек — это бэк-офис (бухгалтерия, отдел кадров и пр.), который выходит в офис посменно. Более того, у нас идет активный найм сотрудников в регионах — сейчас около 500 человек работают в дистанционном формате. Когда ковидные ограничения для компаний снимут, мы прогнозируем, что часть коллег вернётся к обычному режиму, а часть будет работать дистанционно из дома, т. к. этот вариант является для них более привлекательным с точки зрения популярного сейчас понятия «work-life balance».
Какой социальный пакет получают сотрудники? Какие бонусы, премии и компенсации предусмотрены в компании?
Елена: Мы предлагаем комплексный социальный пакет: ДМС для сотрудников, в рамках которого можно компенсировать спортивные услуги (фитнес-центры, тренажерные залы и пр.), оплата больничных, онлайн-мероприятия. Существует программа лояльности для сотрудников — можно участвовать в различных корпоративных инициативах, заработать внутреннюю валюту и обменивать ее на множество сувениров и гаджетов — от термокружек и толстовок до смартфонов, дронов и электросамокатов. Заработать баллы в программе лояльности можно, выступая на конференциях, участвуя в подготовке статей, став тренером, buddy или успешно порекомендовав человека, который вышел к нам на работу. А ещё есть способ поблагодарить коллег, перечислив им несколько «loyalty points».
Мы оплачиваем сотрудникам участие в конференциях и внешних курсах. Также у нас есть собственный тренинг-центр — там можно научиться новому языку программирования или пройти курсы по управлению проектами. В 2020 году у нас появилось более 45 новых курсов и курсов продвинутого уровня по Java, Python, React и Spring; 642 менеджера и тимлида прокачали новые навыки; мы провели 895 тренингов и запустили 213 групп по английскому языку. Учебный центр работает как для сотрудников, так и для внешней аудитории.
Есть программы, направленные на формирование здорового образа жизни. Они предлагают огромное количество инициатив для сотрудников и их семей. Любой сотрудник может посещать занятия по йоге и медитации; дети сотрудников могут заниматься по английским и программированием.
Какие есть перспективы для образования и личного развития у сотрудников?
Елена: У каждого сотрудника есть индивидуальный план развития, в котором формируются цели и задачи на год. Эти моменты обсуждаются вместе с руководителем: с ним сотрудник определяет пути своего развития как горизонтально, так и вертикально. Согласно этому плану, можно выбрать себе набор курсов и материалов для внутреннего и / или внешнего обучения, согласовать его и учиться за счет компании.
О найме
Во сколько этапов проходят собеседования, и что на них ожидает соискателя?
Мария Меркулова: В компании есть стандартные этапы собеседования:
HR-интервью,
интервью с техническим экспертом,
интервью с будущим руководителем,
интервью с будущей командой клиента (как правило, это руководитель со стороны компании-клиента).
К каждой вакансии и каждому кандидату мы стараемся подходить индивидуально, поэтому иногда последовательность и количество этапов могут меняться.
На этапе HR-интервью наша основная задача — выяснить интересы кандидата и постараться в максимально сжатый срок рассказать обо всём многообразии вакансий. Здесь же мы уточняем наиболее важные аспекты мотивации и возможные ограничивающие факторы для кандидата.
На этапе технического интервью наши эксперты проверяют техническую экспертизу, уточняют дополнительную информацию по опыту и реализованным проектам / задачам.
На интервью с менеджером проекта кандидату рассказывают о проекте, команде и задачах, спрашивают об интересах, мотивации и ожиданиях от будущего места работы. На основании ответов и технического фидбэка мы направляем резюме на рассмотрение в компанию-клиента. Этот этап предусмотрен не для всех позиций, но мы считаем его не менее важным, так как это позволяет кандидату лучше понять проект, а клиенту — оценить кандидата.
Даете ли вы тестовое задание кандидатам? Как оно устроено?
Мария: Тестовое задание даётся нечасто: оно обычно либо заменяет или значительно сокращает по времени этап интервью с техническим экспертом, либо помогает нам лучше разобраться в опыте работы кандидата с технической стороны. Стандартного тестового задания у нас нет.
Как отличается подход к найму в зависимости от позиции и стэка?
Мария: Я бы сказала, что отличается, скорее, в зависимости от каждой позиции и проекта. Где-то будет больше этапов интервью, где-то мы, наоборот, можем принять решение в течение 2-3 дней. Иногда у нас не получается дать ответ максимально быстро, так как возникают какие-то дополнительные вопросы или со стороны клиента появляется более подходящий кандидат. На позиции внутри самого Luxoft процесс, конечно, идет быстрее, так как всё зависит уже только от нас и кандидата.
Что в резюме точно заставит вас ответить отказом?
Мария: Сложно сказать абстрактно, но это точно будет не наш кандидат, если в резюме будут ссылки на нетерпимость к различным религиям, национальностям или гендеру — для нас это неприемлемо.
О команде
Какая методология разработки у вас используется и почему?
Денис Ахмеров: Процессы проектов внутри компании очень часто адаптируются под процессы конкретного заказчика. В нашем проекте мы используем подход LeSS Huge, так как команд, вовлеченных в разработку продукта, очень много и нужно это как-то масштабировать. Для петербургской части проекта это означает использование адаптированного скрама с теми или иными доработками. Действительно, классическим скрамом наш процесс не назовешь — в отличие от него, например, мы не формулируем цель спринта, а бэклог спринта может быть сформирован заказчиком, а не самой командой разработки.
Принято считать, что в Automotive преобладает модель Waterfall, но это не всегда так. Гибкие модели вполне хорошо себя показывают и в safety-critical системах, укладываясь в концепцию V-модели и следуя стандартам ISO. Наш заказчик хочет видеть более-менее равномерный результат, начиная с самого старта разработки, включая требования, тесты и сам код, и заканчивая покрытием кода и привязкой к требованиям. Это делается для того, чтобы перед релизом не пришлось писать тонны тестов, выяснять, что что-то не работает, а потом чинить и чистить код, чтобы он прошел аудит по безопасности. Кроме того, гибкая модель позволяет быстро перераспределять ресурсы команд в случае необходимости.
Каковы размеры и структуры команд?
Александра Власова: Команды могут быть самыми разными, от 2-3 человек до 50-60 в одном проекте. Структура команды может определяться заказчиком или проджект-менеджером в зависимости от сложности проекта. Для проекта средней сложности и размера я бы сказала, что должен быть проектный менеджер, архитектор, аналитики, лиды и команды разработки и тестирования.
Юрий Шиллер: Чем крупнее команда, тем сложнее структура. Если команда достигает 7-10 сотрудников, то обычно для руководства назначается выделенный тимлид или проектный менеджер. Группой проектов руководит программный менеджер. Руководством программ занимается директор по производству, определяющий стратегию их развития. Структура команды на уровне разработчиков и лидов обычно приходит от заказчика, но так же как и процессы, зачастую корректируется нами для повышения эффективности. С точки зрения состава команд, они могут быть и только из разработчиков, и только из тестировщиков, и быть смешанными, и иметь в своём составе также девопсов, интеграторов и даже переводчиков.
По каким критериям вы разбиваете разработчиков на джунов, мидлов и сеньоров?
Александра: Общее и неформальное разделение такое:
Джуниор — специалист, которому нужно выдавать задачи с очень четким и детальным описанием, следить за выполнением задачи.
Мидл — специалист, которому всё ещё выдают задачи, но детального описания уже не требуется, так как он сам знает, как их сделать.
Сеньор — специалист, который сам видит задачи, которые нужно сделать, и предлагает способ их решения.
Такая градация применима к любому специалисту.
Кто чаще возглавляет команды — продуктовый специалист или технический?
Юрий: Мы сервисная компания, поэтому техническое руководство нашими проектными командами осуществляют технические специалисты. Продуктовый специалист находится на стороне заказчика, с которым происходит регулярное взаимодействие напрямую или опосредованно.
Владимир: У нас есть команды, которые занимаются развитием наших собственных продуктов в рамках сервисных программ, но это не наш фокус. Как правило, в клиентском проекте, решения принимает технический специалист.
Как часто люди меняют команды?
Юрий: Мы приветствуем перемещение людей между командами, если это помогает сотруднику остаться и продолжить развиваться в компании, а проекту — продолжить успешную работу или расшириться. Скажу так: рассмотрение возможностей перехода на другой проект имеет смысл не ранее чем через полгода с момента трудоустройства в компанию, а в среднем об этом есть смысл задумываться раз в один-два года.
Владимир: В компании есть департамент Internal Mobility, который занимается процессом перемещения сотрудников в рамках различных проектов, департаментов и локаций. Если сотрудник хочет поменять проект или погрузиться в новые технологии, то обращается туда. Есть возможность поменять проект, индустрию, клиента, страну и локацию. У нас большой процент перемещений внутри компании благодаря этой программе. Сама по себе функция организована так: команда Internal Mobility часто проводит вебинары, представляет новые проекты и возможности. На такие вебинары приглашают абсолютно всех желающих, нет никаких ограничений. Если что-то заинтересовало, можно подойти к своему руководителю и обсудить переход или сразу прийти к команде Internal Mobility.
Что важнее, софт-скиллы или хард-скиллы?
Александра: Зависит от уровня разработчика и его роли в проекте. Как только возникает необходимость много общаться внутри команды и / или с заказчиком и принимать решения, то софт-скиллы становятся практически так же важны, как и хард-скиллы.
Как много собраний у вас проводится? Есть ли особые подходы к ним?
Юрий: Внутрикомандные собрания могут проводиться ежедневно, например, утренние стендапы. В дополнение к ним могут происходить еженедельные собрания для подведения итогов недели, например, по пятницам в послеобеденное время. Частоту определяет руководитель проекта. Могут случаться внеплановые собрания в случае срочных запросов от заказчика или по каким-то другим непредвиденным причинам. Имеются также регулярные собрания на уровне локации, так называемые all-hands meetings, проводимые региональным менеджментом, обычно раз в квартал. Примерно с такой же периодичностью происходят и собрания на уровне корпоративного топ-менеджмента.
Как вы боретесь с выгоранием сотрудников?
Юрий: Задача по отслеживанию настроения сотрудников, прежде всего, возложена на их непосредственных руководителей. Для этого существует практика регулярных встреч с сотрудниками один на один. Руководители общаются с сотрудниками, мониторят их настрой, помогают по возможности его улучшить. В этом им активно помогает отдел персонала как личным участием в общении и мониторинге, так и консультативно, подсказывая менеджерам, чем помочь сотруднику.
У нас регулярно проводятся онлайн-мероприятия для поднятия духа сотрудников — обучающие тренинги, развлекательные встречи, познавательные вебинары. Когда будут сняты ковидные ограничения, мы снова вернёмся к тимбилдингам.
Александра: Методы борьбы стандартные: отдых и переключение. Руководитель и HR-отдел всегда готовы прийти на помощь сотруднику, поэтому про это не стоит молчать. Главное, чтобы менеджер тоже вовремя понял, что сотрудник стал медленнее работать не потому, что он плохой, а просто потому, что выгорел.
О технологиях
Какие языки, фреймворки и библиотеки используются на проекте?
Денис: Зависит от специфики проекта. Именно у нас на проекте используются: C++ 11/14 для AUTOSAR Adaptive компонентов, C для AUTOSAR Classic компонентов, Python для прототипов / PoC и тестовых фреймворков / тулинга. Также для написания скриптов KPI фреймворков используется Bazel — адаптивная система сборки. Если про библиотеки, то для безопасного использования памяти используются amp::pmr, adlib, eigen, pandas, pyarrow; для тестирования — Google Tests. Также используем ROS и RVIZ.
Что вы можете рассказать об архитектуре проектов?
Денис: Конкретно у нас выбор архитектуры проекта продиктован требованиями Automotive-стандартов и среды AUTOSAR, в которой существуют и взаимодействуют все компоненты автомобиля. По этой причине большинство проектов построены на базе SOA — Service-Oriented Architecture. Она позволяет разделить всё разрабатываемое ПО на модули, запрашивающие и выполняющие определенные «сервисы». Работа над каждым из таких модулей ведется отдельными командами.
Какая у вас принята политика код-ревью?
Александра: Каждый проект определяет процесс самостоятельно, в компании есть рекомендации по применению лучших практик.
Денис: В нашем проекте довольно ровный состав участников (regulars, seniors, leads), что позволяет добавлять на ревью всех участников команды. Среднее время отклика на ревью составляет порядка 4-5 часов. В зависимости от фичи, на ревью могут добавляться и участники команд заказчика (в случае если они являются владельцами функционала, в который вносятся изменения). Для финального вердикта о мёрже достаточно прохождения всех gate checks, апрув от одного из участников команды и апрув от код оунера, если он требуется.
Как тестируется код?
Артём Рябов: В моей практике у каждого клиента имеется своя культура тестирования, которая меняется под действием лучших практик, прихода новых менеджеров и инженеров. Бывает и так, что нового человека ищут и берут как раз с целью изменить существующее положение. Проекты слишком разные — по масштабам, языку, интегрированности в другие среды, цене ошибки. Так что создаются скорее «лучшие практики» с примерами использования и специализированной командой, которая сможет помочь тем проектам, которые захотят их перенять и ускорить процесс адаптации.
Финтех относится к одной из наиболее консервативных отраслей, однако и здесь курс идёт на максимальную автоматизацию, на интеграцию разработки, тестирования, развертывания и поддержки, на использование облачных решений (докеры пока нельзя), и на следование принципам agile, если есть такое желание у менеджера или команды.
Когда я пять лет назад начал работать со своим нынешним клиентом, каждый проект отказывался от устаревшего общего средства тестирования и придумывал собственный. Через три года количество фреймворков тестирования приближалось к количеству проектов, использовалось несколько языков программирования. Последние два года шел обратный процесс централизации: большинство проектов используют JAVA, единый фреймворк написания автотестов с богатым набором переиспользуемой функциональности, совмещаемый с одним из общераспространенных тестовых фреймворков (jUnit5 или TestNG).
Также вырабатывается некий общий подход к тестированию кода — например, в некоторых проектах требуется стопроцентное покрытие кода юнит-тестами, усиленное соответствующими проверками на уровне CI/CD, так что невозможно внести изменение, нарушающее это требование. А ещё возможна автоматическая проверка кода интеграционным и / или тестами.
Каков процент легаси-кода на проекте и как часто разработчики занимаются его рефакторингом?
Александра: Такой показатель трудно вывести с учётом разнообразия проектов. Есть проекты, которые в принципе пишутся с нуля, а есть проекты, которые сами по себе представляют миграцию легаси на новые платформы. Хотя это совершенно не значит, что в них не будет разработки новых фич.
Денис: Во многих репозиториях, как правило, приходится сталкиваться с легаси-кодом. Его не очень много, процент невелик, но он всё же присутствует. Зачастую, после обсуждения с код-оунерами со стороны заказчика, представители наших команд могут его отрефакторить, если у них есть представление по улучшению такого кода.
Оценивайте своих работодателей на Хабр Карьере, а если понравилась компания Luxoft и хочется узнать о ней побольше — задавайте вопросы в комментариях, мы пригласим кого-нибудь из ребят отвечать.