Наша рубрика «Где работать в IT» — это интервью с интересными IT-компаниями, в которых они делятся подробностями о процессах своей работы. Представители индустрии отвечают на вопросы о найме, условиях, командах и технологиях.
В этом выпуске мы расскажем вам о команде ISPsystem (АO «Экзософт», входящее в «Группу Астра»).
А ещё в выпусках мы рассказываем об оценках компаний на Хабр Карьере, чтобы вы были в курсе, за что их любят (или нет?) сотрудники. Кстати, если вы тоже оцените своего работодателя, то это поможет тем, кто ищет работу в IT.
Кто отвечал на вопросы
Обо всех процессах в компании нам подробно рассказали:
Иван
Project Manager BILLmanager, ISPsystem
Алина
HR-директор компании, ISPsystem
Александр
руководитель разработки, ISPsystem
О компании
ISPsystem — российский разработчик платформ для комплексного управления ИТ-инфраструктурой и автоматизации услуг предоставления хостинга. Компания создаёт экосистему программных продуктов для обслуживания физического оборудования, серверной виртуализации, учёта и выдачи ресурсов, автоматизации услуг предоставления хостинга.
Экосистемой продуктов ISPsystem пользуются заказчики в России, США, Европе и Азии. Инсталляционная база состоит из более 200 тысяч серверов, расположенных в ИТ-инфраструктуре более чем тысячи компаний. Платформы ISPsystem включены в Единый реестр российских программ для электронных вычислительных машин и баз данных.
Публичная оценка компании «Группа Астра» на Хабр Карьере в 2023 году — 4,72 из 5. Сотрудники особенно ценят компанию за интересные задачи, профессиональный рост и отношения с коллегами. Подробнее изучить оценки и почитать отзывы сотрудников можно в профиле «Группа Астра» на Хабр Карьере.
Об условиях работы
Какой в вашей компании сложился рабочий график и какое отношение к переработкам?
Алина: В зависимости от поставленных задач и сложившейся практики внутри отдельных команд сотрудники в одной команде могут начинать работу в 8:00, в других — в 10:00 или 11:00. Мы ориентированы не на строгий график, а на результат и осознанный подход к работе.
Иван: Переработки у нас не поощряются, даже по инициативе сотрудника. Мы ценим здоровье команды и стараемся выдерживать баланс между работой и личной жизнью. Если кто-то начинает перерабатывать, наши коллеги обязательно обратят на это внимание и попросят избегать подобных ситуаций.
Полноценный отдых играет важную роль в продуктивности. В ISPsystem это понимают: компания создаёт такие условия, чтобы каждый сотрудник мог отдохнуть и восстановиться перед новыми рабочими вызовами.
Какие бытовые условия ждут нового сотрудника на рабочем месте?
Алина: Сейчас у нас действуют два офиса: иркутский и московский. В Иркутске обустроено комфортное пространство, где предусмотрено всё для продуктивной работы: отдельные кабинеты для команд, переговорные комнаты различного размера, собственный конференц-зал для митапов и конференций, кухня и лаундж-зона. Вместе мы не только работаем, но и собираемся после рабочего дня, чтобы поиграть в приставку, настольные игры, квизы или устроить вечер с песнями под гитару.
В Москве мы некоторое время работали в офисе на Краснопресненской набережной вместе с коллегами из «Группы Астра». Но совсем недавно стало понятно, что пора расширяться, и мы переехали в отдельный просторный офис, который сейчас обустраиваем и обживаем :) Кабинеты в офисах у нас обычно рассчитаны для 4-8 человек: так мы поддерживаем уют и при этом можем быстро обсудить рабочие вопросы.
Философия эффективного диалога, бережного отношения друг к другу, внимательного расходования ресурсов и значимости баланса работы и отдыха отражена в нашем МасКОДе. Кстати, про него есть легенда: этот озорной четвероногий супергерой ИТ-мультивселенной ISPsystem, как настоящий дипломат, находится на страже чистого кода.
С присоединением к команде всем сотрудникам, конечно же, предоставляются корпоративные ноутбуки для мобильности и работы из любого удобного места. Некоторые коллеги дополнительно устанавливают на рабочий стол один-два или даже три монитора, используя ноутбуки как рабочие станции. Каждый обустраивается так, как ему необходимо для продуктивной работы. Мы стараемся предоставить для сотрудников всё необходимое, чтобы они чувствовали себя частью команды ISPsystem, и между ними не возникала дистанция.
Для этого дополнительно каждому новичку независимо от его местоположения мы отправляем welcome-box с мерчем и разными полезностями. В нём есть футболка с символом ISPsystem (лапкой нашего котика МасКода), крутая кружка, шоппер, в котором удобно носить рабочий ноутбук и милые мелочи, такие как блокнот, ручки и прочее.
Есть ли возможность удалённой работы?
Алина: У нас примерно 30% сотрудников компании находятся на удалёнке. Но даже те, кто работает из офисов в Иркутске или в Москве, могут несколько недель трудиться из любого другого города России. Главное — оставаться на связи с коллегами и успевать решать задачи. Лично для меня возможность перемещаться и жить в разных городах очень важна. Я ценю гибкость удалённой работы и люблю, когда можно совмещать работу с мини-путешествиями. Есть, конечно, позиции, где удалённый формат ограничен из-за специфики задач. Но у нас таких мало. Тем более, даже в таких ситуациях удается находить компромиссы.
Кстати, несмотря на то, что у нас распределённая команда, и многие находятся на удалёнке, дважды в год мы слетаемся со всей страны в Иркутск. Там мы наконец-то развиртуализируемся и веселимся все вместе. А если позволяют условия, обязательно стараемся выезжать на «место силы», Байкал :)
Какой социальный пакет получают сотрудники?
Алина: В ISPsystem сотрудникам предоставляется ДМС с покрытием, включающим множество исследований, стоматологию и госпитализацию. Даже некоторые врачи выражают восторг по поводу нашего покрытия страховки, отмечая, что ранее не видели ничего подобного.
Клиенты нашей компании находятся не только в России, но и за рубежом, поэтому у нас есть штатный преподаватель английского. С ним можно улучшать или поддерживать свой уровень языка.
В честь Дня рождения сотрудники получают приятный денежный подарок, а на «годовщины» работы в компании вручаются различные памятные приятности, начиная от креативных футболок и толстовок, заканчивая MacBook'ами для личного использования.
Осенью все, кто работает в ISPsystem более трёх месяцев, получили уникальную привилегированную возможность поучаствовать в IPO «Группы Астра», частью которой мы являемся, и получить акции. Это здорово повысило мотивацию и позволило ещё чётче ощутить причастность к успехам, к развитию компании, видеть, как твои усилия отражаются в цифрах.
Какие бонусы, премии и компенсации предусмотрены в компании?
Алина: В нашей компании предусмотрены бонусы и премии, которые различаются в зависимости от направления деятельности команды, персонального вклада сотрудника и/или его участия в значимых дополнительных проектах, обучении коллег и другом.
Мы верим, что «звёзды» притягивают других «звёзд». Поэтому у нас действует реферальная программа, благодаря которой можно получить денежное вознаграждение за помощь в закрытии вакансии.
Также у нас есть контентное направление «Пишу для ISP». Участвуя в нем, сотрудник может получить дополнительный денежный бонус за написание статьи на одном из профессиональных ресурсов: в нашем блоге на Хабре или на Дзене.
Какие есть перспективы для образования и личного развития у сотрудников?
Алина: Мы в ISPsystem активно поощряем личностный и профессиональный рост сотрудников, ценим и создаём условия для самообразования. В командах разработки и других подразделениях устоялась практика обмена знаниями и опытом. Мы проводим внутренние митапы, где сотрудники делятся друг с другом знаниями и опытом.
Александр: Сама идея митапов родилась не на пустом месте. Целей было много, но одна из них — помочь людям перестать бояться публичных выступлений. Так мы начали расширять пул спикеров внутри компании и готовить людей к выступлениям на конференциях. Еще митапы мы использовали с целью проверить какую-то рабочую гипотезу.
Есть, кстати, интересный момент по поводу митапов. За то время, пока практика живет, стало понятно: люди действительно узнают что-то новое. Но коллеги, которые приходят на митапы как спикеры, стесняются выступать. В их голове есть страх: «все об этом уже давным-давно знают, зачем я буду рассказывать, это же очевидно». Но, оказывается, нет.
Когда я делал митап по корутинам на С++, мы собирались вообще в выходной. Люди замотивированы и готовы встречаться, они хотят дополнительно обучаться, при этом не за счёт рабочего времени. Я заказал пиццу, и мы просидели за обсуждениями примерно 6 часов.
К организации митапов мы в ISPsystem подходим творчески. Однажды делали митап «Тестирование для разработчиков». Там проталкивали в массы идею про автотесты, делали доклады про тестирование на фронтенде на Python, на бэкенде на C++, разбирали процесс организации тестирования, делились правилами, как отличить плохое тестирование от хорошего. Для этого митапа нам был нужен живой код от людей, чтобы на этих тестах показать «здесь лучше делай так, а так не делай». Решили самых активных и бесстрашных, кто предоставил на всенародное обозрение свой код, наградить фигурой Ведьмака, и заранее это анонсировали. Так за неё была отчаянная битва умов :)
Алина: Чтобы выйти за рамки внутренней экспертизы, мы оплачиваем ребятам участие в образовательных программах у внешних провайдеров, спонсируем участие в профессиональных конференциях.
Помимо прочего, в 2023 году мы возродили сотрудничество с ВУЗами и запустили программу для стажёров. Сначала мы проводим для интернов дополнительное обучение языкам программирования, базам данных, подходам в разработке. А уже после даём возможность получить практические навыки на небольших реальных задачах под руководством опытных наставников-разработчиков. Самых талантливых по итогам стажировки мы приглашаем к нам в штат, чтобы продолжить развиваться в ИТ.
О найме
Во сколько этапов проходит найм и что на них ожидает соискателя?
Алина: Этапы разнятся в зависимости от позиции, но в основном это 2-3 шага. Обычно первое интервью проходит в формате собеседования с HR-специалистом и будущим руководителем потенциального кандидата. Это помогает сократить время на наём. Уже на первой встрече можно оценить профессиональные аспекты и понять, «на одной ли мы волне».
Мы всё ещё ламповые ребята, не превратившиеся в бездушный корпоративный конвейер. Поэтому, помимо хард-скиллов нам очень важно совпасть с будущим коллегой в подходах к работе, ценностях и смотреть в одну сторону как в моменте, так и в перспективе ближайших лет.
Даете ли вы тестовое задание кандидатам? Как оно устроено?
Алина: Да, помимо теоретических вопросов, на интервью мы обычно обсуждаем решение задач из рабочей практики. Так мы можем лучше понять уровень хардовых навыков, а кандидат более детально понять для себя, интересна ли ему специфика компании.
Обычно такие задачки хотят пощупать те, у кого недостаточно практического опыта для вакансии, но есть желание примерить на себя, продемонстрировать свой уровень.
Как отличается подход к найму в зависимости от позиции и стека?
Алина: Я бы сказала, что подход отличается в зависимости от условного деления на «технические» позиции и «бизнесовые». В первом случае больший вес имеют хард-скиллс, а во втором — софты.
Какая фраза от кандидата на собеседовании точно заставит вас выкинуть его резюме?
Алина: Несмотря на важность профессиональных навыков кандидата, мы всегда придаем большое значение общечеловеческим качествам. У нас вряд ли получится сработаться, если кандидат неуважительно относится к коллегам или к работе, провоцирует негативный настрой. Даже если он супер-профи.
Кого последнего вы уволили и почему?
Алина: Мы всегда стараемся подойти к вопросу увольнения сотрудника максимально ответственно и профессионально. Наша цель - не просто уволить человека, а разобраться в причинах возникшей ситуации. Мы анализируем, справляется ли сотрудник с поставленными задачами, возможно ли помочь ему в решении проблемы, связанной с работой. Мы также обращаем внимание на возможные проблемы в коммуникации, усталость или выгорание сотрудника, и ищем способы предложить ему другие задачи или формы работы, которые могли бы быть более подходящими.
Если сотрудник допустил серьёзное нарушение или перестал совпадать с ценностями компании, конечно, мы готовы попрощаться. Однако мы всегда стремимся к тому, чтобы процесс увольнения проходил максимально комфортно для обеих сторон, сохраняя уважительное отношение к человеку и его труду.
Как происходит онбординг нового сотрудника?
Иван: На начальном этапе работы в компании каждому новому сотруднику назначается бадди, который оказывает поддержку и направляет его по пути адаптации. Для каждого разрабатывается индивидуальный план развития на период испытательного срока. Для более комфортного вхождения в рабочий процесс мы предоставляем специальные вводные лекции и материалы. Кроме того, в нашей компании мы придерживаемся принципа максимальной открытости, поэтому новичок всегда может обратиться за помощью к любому сотруднику.
О команде
Какая методология разработки у вас используется и почему?
Иван: Мы берём лучшее из методик Agile и SCRUM. Наша сфера деятельности характеризуется высокой динамичностью и быстрыми изменениями, поэтому для нас важно использовать подход, который позволяет выпускать новые функциональные возможности короткими итерациями, оценивать результаты быстро и гибко адаптироваться к изменяющимся трендам. Такой подход помогает нам быть более реактивными, эффективными и успешными в условиях быстрого развития рынка.
Каковы размеры и структуры команд?
Иван: Мы в ISPsystem создали продуктовые команды по современным стандартам разработки комплексных решений. В каждой есть Backend-разработчики, Frontend-разработчики, QA-специалисты, UX/UI-дизайнеры и системные аналитики. Несмотря на то, что количество участников в каждом блоке может различаться, общая структура команды остается единой. В каждой есть Product- и Project-manager, которые отвечают за продукт и управление проектом, соответственно.
Общее количество участников колеблется от 15 до 25 человек — в таком составе эффективно работать над разработкой и сопровождением продуктов.
По каким критериям вы разбиваете разработчиков на джунов, мидлов и синьоров?
Иван: Для каждого уровня разработчика у нас предусмотрен определенный набор навыков и умений, которым должен соответствовать грейд специалиста. Это опыт работы в целом, опыт работы в ISPsystem, а также работа с конкретным стеком технологий и языками программирования. Важно также наличие навыков в прикладных аспектах и понимание принципов работы области, в которой мы разрабатываем наши продукты.
Мы также учитываем софт-скиллы разработчика и его вклад в развитие команды. В нашей компании мы различаем технические и управленческие навыки, что позволяет разработчику развиваться в двух направлениях: как технический специалист или как разработчик-менеджер. Если сотрудник решает пойти по вертикали менеджера, то он не только пишет код, но и управляет командой, следит за архитектурными решениями.
Мы придаем большое значение росту коллег, и у нас есть множество примеров, когда начинающие разработчики через 4-5 лет уже успешно управляют командами в своих направлениях.
Кто чаще возглавляет команды — продуктовый специалист или технический?
Иван: Несмотря на то, что в каждом продукте есть продакт-менеджер, который отвечает за развитие и направление продукта, роль технических специалистов огромна, так как каждый член команды отвечает за результат.
Технические специалисты обеспечивают реализацию идеи продукта, разрабатывают технические решения, улучшают производительность и функциональность продукта. Их экспертиза и профессионализм играют ключевую роль в достижении успеха и конкурентоспособности продукта на рынке. Отлаженное взаимодействие между продакт-менеджером и технической командой критически важно для эффективной работы и достижения общих целей.
Как часто люди меняют команды?
Иван: Честно говоря, у нас ценят и уважают каждого участника коллектива, поэтому не хотят отпускать его из своих рядов. Мы стараемся создать условия, чтобы каждый член команды чувствовал себя комфортно и оставался с нами. Однако иногда возникают ситуации, когда сотруднику хочется попробовать что-то новое или он сталкивается с потолком в своем развитии в текущей команде. В таких случаях мы всегда готовы помочь человеку найти подходящий вариант и способствуем горизонтальной «миграции» внутри компании.
Что важнее, софт-скиллы или хард-скиллы?
Иван: В целом, нужно развивать как хард-, так и софт-скиллы. Конечно, для технической специализации больший акцент делается на профессиональных навыках. Однако способности выстраивать коммуникацию, управлять временем, работать в команде, безусловно, важны. Они помогают специалисту эффективно взаимодействовать с коллегами, клиентами и решать проблемы более эффективно.
Как много собраний у вас проводится? Есть ли особые подходы к ним?
Иван: Мы взяли лучшее от методологии Scrum: у каждой команды есть свои планерки, а в условиях удаленной работы они становятся особенно важными, помогая объединить команду. У нас есть ежеквартальные собрания, а также отдельные встречи у продуктовых команд: еженедельные стендапы, встречи с планами на спринт и проведение ретро по итогам.
Как вы боретесь с выгоранием сотрудников?
Иван: Выгорание сотрудников может возникнуть из-за однообразия задач, ограниченности развития, нездоровой атмосферы в коллективе. Все это мы стараемся заранее предупредить. Несмотря на то, что мы фокусируемся на одном продукте, масштаб задач огромен, и поэтому критически важно правильно распределять их между членами команды. Мы также уделяем особое внимание развитию сотрудников, поэтому с их профессиональным ростом меняются и типы задач, над которыми они работают. Для этого проводятся индивидуальные встречи: там мы определяем потребности и проблемы сотрудников.
Очень важным аспектом предотвращения выгорания является здоровая атмосфера в команде и компании в целом. Мы активно работаем над этим, организуя встречи, совместные мероприятия и просто общение по любым темам. Такие мероприятия способствуют укреплению взаимоотношений, повышению мотивации и общему благополучию коллектива. А иногда лучше всего взять паузу и сходить в заслуженный отпуск :)
О технологиях
Какие языки, фреймворки и библиотеки используются на проекте?
Иван: В нашей компании основным языком для разработки бэкенда является C++, однако мы не ограничиваемся только им. Мы также активно используем Python, иногда Golang и даже Rust. Это позволяет нам выбирать наиболее подходящий инструмент для каждой конкретной задачи.
Благодаря микросервисной архитектуре часть наших продуктов построена с использованием различных языков программирования. Однако мы следим за тем, чтобы не создавать излишний "зоопарк" технологий, поэтому выбор языка всегда обоснован и обдуман.
Для фронтенда мы используем Angular, что позволяет нам создавать современные и удобные пользовательские интерфейсы для наших продуктов.
Что вы можете рассказать об архитектуре проектов?
Иван: Архитектура наших продуктов основана на микросервисной парадигме. Это позволяет нам эффективно создавать и внедрять новые сервисы для различных функциональных возможностей. Каждый сервис имеет четко определенную зону ответственности, что упрощает понимание его функционала и ускоряет процесс разработки, тестирования и внесения изменений.
Мы активно применяем практику общего владения кодом: любой разработчик в нашей команде может вносить изменения в любой компонент продукта. При этом, мы строго соблюдаем архитектурные принципы, обеспечивая целостность и качество кода как внутри отдельных сервисов, так и в целом.
Благодаря такому подходу мы можем быстро реагировать на изменения и требования рынка, быстро доставлять новую функциональность пользователям. Наша архитектура продукта способствует гибкости, масштабируемости и надежности системы, что позволяет нам успешно развиваться и удовлетворять потребности наших клиентов.
Какая у вас принята политика код-ревью?
Александр: Код-ревью — это в принципе индустриальный стандарт и ISPsystem не исключение. Появилась эта практика у нас не сразу. С момента, когда только зашла речь о внедрении код-ревью, до того, когда это все нормально заработало, прошло несколько лет.
Мы довольно долго формировали понимание для себя, на что обращать внимание, а на что нет. Зато точно знали одно: нам не близка история, когда после код-ревью все сделанное «до» уже не похоже на изначальный вариант. Это всегда демотивирует человека, который писал первичный код.
Мы в компании больше смотрим на общую логику и не пытаемся поправить каждую переменную, если это не вносит каких-то критичных изменений. В работе используем инструменты статического анализа, динамического — Address Sanitizer, — форматтеры кода.
Если говорить про вовлеченность, в код-ревью участвуют практически все наши разработчики. Ведь это не только про поиск ошибок, но еще и про обучение. У нас даже стажеры ревьюят опытных сотрудников не с целью найти какую-то ошибку, а чтобы понять, как в компании вообще принято писать. Когда нужно проверить продукт на безопасность, мы отдаем его коллегам из департамента анализа безопасности «Группы Астра».
Как тестируется код?
Иван: На самом деле, мы не живем в парадигме тестирования кода. Мы стараемся соблюдать качество всего продукта, а не просто кода. Об этом надо задумываться не после того, как программист написал код, а с самого начала проработки требований к новой фиче или улучшению. Наши продукты имеют очень большую кодовую базу и широкую функциональность. Плюс мы постоянно стараемся улучшать текущие возможности, что бросает нам вызов по сохранению качества при постоянных трансформациях.
Для этого мы проводим тестирование UX/UI-прототипов. Наши QA-инженеры проверяют написанные требования от аналитиков и прорабатывают сценарии тестирования еще до написания кода, чтобы покрыть все возможные взаимодействия фич/улучшений. Помимо этого, мы стараемся покрывать продукты автотестами. Но это не отменяет того, что у нас есть и ручное тестирование. Кроме того, мы проводим не только приемочное тестирование, но и делаем предрелизные проверки наших релизов.
Как устроен процесс документации и ведения базы знаний на проектах?
Иван: Наш подход единый: каждая новая функция и исправление должны быть отражены и описаны в документации к их релизу. Мы выражаем огромную благодарность нашим техническим писателям за то, что они делают это на понятном языке.
Мы ведем не только общедоступную документацию, но и внутреннюю. В ней каждый член команды и каждое направление фиксируют внутренние особенности разработки, тестирования, а также наличие улучшений и процессов в команде. Это помогает каждому участнику быть в курсе любых изменений и также облегчает онбординг новых членов команды.
Каков процент легаси-кода на проекте и как часто разработчики занимаются его рефакторингом?
Иван: Несколько лет назад мы пересмотрели стратегический подход к развитию продуктов. Теперь структура кода позволяет нам быстро внедрять новые разработки и выпускать стабильные релизы отдельных компонентов и микросервисов. Так мы уделяем особое внимание модернизации легаси-кода и развитию тестового покрытия, чтобы обеспечить стабильность и эффективность работы в современных условиях.
Александр: Только в стартапе нет легаси-кода. Мы уже давно не стартап, поэтому, конечно же, он у нас присутствует. Но менять продукт и адаптировать его под запросы клиентов, новые технологии, это не мешает.
Что касается рефакторинга, целенаправленно переписывать что-то старое на что-то новое я смысла не вижу. Если возникает желание какой-то кусок кода серьезно поменять, можно попробовать его сначала поступательно улучшить. Рефакторинг ради рефакторинга — довольно бессмысленно с точки зрения бизнеса. Когда возникает желание существенно доработать функционал, конечно, нужно делать рефакторинг. Если что-то работает и не требует улучшений, то в данном случае это незачем.
Как реагируете на сообщения пользователей о багах и просьбы по улучшению сервисов/продуктов?
Иван: Мы не живем в иллюзиях, что когда-нибудь станет возможным удовлетворить пожелание абсолютно каждого клиента. Тем не менее, мы смотрим и анализируем весь входящий фидбэк, ведь мы делаем наши продукты для клиентов и нам очень это важно. Все важные баги и массовые запросы по багам мы стараемся сразу обрабатывать и выпускать обновления, чтобы клиенты не жили с этим очень долго.
Сейчас мы начали активнее подключать наших клиентов к опросам, какая функциональность нужна, проводить как массовые, так и точечные UX-тестирования прототипов. Нам важно сделать клиентам именно то, что они ожидают увидеть.
Кроме того, у нас есть программа Bug Bounty, которая позволяет нашим пользователям активно участвовать в обнаружении уязвимостей и проблем в безопасности наших продуктов.