Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Герой нашего тридцатого (ура, юбилей!) выпуска «Где работать в ИТ» — компания EPAM, которая разрабатывает ПО для международных финансовых, торговых, медицинских и медиа-компаний. Причем проекты есть самые разные: от онлайн-магазинов до VR-игр.
В подготовке участвовала целая команда! Об условиях работы в компании нам рассказали Анна Левина (Head of People Management Team) и Анна Васильева (People Partner Manager). Про найм — менеджеры Talent Acquisition Василий Комолов и Виктория Семенова. Про команду EPAM и технологии дали комментарии Алексей Харюков (менеджер проектов и руководитель тренинг-центра в Санкт-Петербурге), Антон Зеленский, (лид разработки) и Николай Буланов (директор Самарского филиала EPAM).
В этом году сотрудники оценили компанию на Хабр Карьере на 4,17 баллов из пяти! Дальше мы покажем и расскажем, какие качества EPAM как работодателя оценили выше всего.
Вы тоже можете оценить своего работодателя и наставить ему четверок и пятерок (или троек с двойками, бывает и такое). Главное, чтобы оценка была честной!
→ оценить работодателя
Быстрая навигация по статье
О компании
Об условиях работы
О найме в EPAM
О команде
О технологиях
О компании
ЕРАМ — международная IT-компания, которая разрабатывает ПО от начала и до конца. В штате компании 41 тысяча сотрудников — разработчиков, тестировщиков, бизнес-аналитиков, проджектов, архитекторов и многих других специализаций. Все они работают примерно над тремя тысячами проектов на широчайшем стеке технологий (о которых речь пойдет дальше).
Судя по оценке, которую компания получила на Хабр Карьере от своих текущих и бывших сотрудников в этом году, EPAM ценят за комфортные условия труда, профессиональный рост и отличные отношения с коллегами. Кстати, у ребят история оценок ведется с самого открытия сервиса оценки в 2018 году, можете проследить за её изменением и за комментариями сотрудников в профиле EPAM.
Об условиях работы
Какой в вашей компании сложился рабочий график и какое отношение к переработкам?
Анна Левина: EPAM — это большая международная компания с офисами по всему миру (35+ стран) и штатом свыше 38 тысяч сотрудников, с огромным разнообразием проектов и направлений деятельности. Поэтому условия работы могут отличаться от проекта к проекту. Неизменным остается восьмичасовой рабочий день, но его начало и окончание, а также место работы может зависеть от желания сотрудника, требований заказчика проекта или разницы во времени между городами, в которых работают участники проекта. Каждый подстраивается сам.
Бывает так, что переработок не избежать, но мы контролируем их и оплачиваем в соответствии с законодательством. Мы отслеживаем настроение сотрудников и их удовлетворённость проектом с помощью коротких пульс-опросов, следим за загрузкой на проектах. С сотрудником проводят регулярные беседы ресурсный менеджер и HR-координатор. Наши внутренние системы подсказывают, когда пора что-то предпринять, помочь сотруднику, поговорить, если что-то идет не так. Некоторым сотрудникам найти баланс между жизнью и работой помогают наши тренинги. Мы обучаем тайм-менеджменту, проводим митапы, где коллеги делятся своими лайфхаками, вебинары о том, как организовать рабочий день в условиях удалёнки, готовим дайджесты с полезными статьями по теме.
Какие бытовые условия ждут нового сотрудника на рабочем месте?
Анна Васильева: Сейчас большинство сотрудников работает из дома, но есть возможность работать из офиса EPAM или из офиса заказчика. Мы активно работаем над формированием «офиса будущего», проводим опросы, узнаем, где бы наши сотрудники хотели работать. И большинство людей высказываются за гибкость ― они хотят иметь возможность приезжать в офис, когда это необходимо. Поэтому мы создали приложение для бронирования рабочего места в офисном пространстве. Сегодня офис становится местом для совместной работы, проведения встреч, и просто для смены обстановки. В офисах сотрудников по-прежнему ждут комфортные зоны отдыха, спортивные и игровые комнаты, оборудованные кухни, переговорные и конференц-комнаты.
Есть ли возможность удаленной работы?
Анна Л.: Eщё до начала изоляции и перехода всех сотрудников на удаленную работу компания запустила проект EPAM Anywhere. Эта площадка предлагает быстрый подбор проектов в глобальных корпорациях для профессионалов разных уровней и направлений из любой точки мира. Там, где нет офисов EPAM, специалисты работают как фрилансеры, но получают все корпоративные преимущества компании, доступ к 7500+ курсов и тренингов, план профессионального развития, скидки и другие бенефиты.
Какой социальный пакет получают сотрудники? Какие бонусы, премии и компенсации предусмотрены в компании?
Анна Л.: В качестве бенефитов, помимо ДМС со стоматологией, мы предлагаем воспользоваться бенефит-кафе — у сотрудника есть определенная сумма на год, которой он может частично погасить траты на спорт (сейчас только на занятия онлайн) и на различные внешние курсы, конференции. Кроме этого есть корпоративные скидки у провайдеров разных услуг, дополнительные дни отпуска в случае важных жизненных событий и реферальная программа — сотрудники получают бонусы, если рекомендованные ими на открытую позицию специалисты успешно справляются со всеми этапами отбора и присоединяются к компании.
Какие есть перспективы для образования и личного развития у сотрудников?
Анна В.: Это, пожалуй, главный бенефит, который мы предлагаем нашим сотрудникам. Возможностей для обучения и развития в компании немерено. И мы гордимся, сколько всего в этом направлении нам удается делать! У нас есть программы менторинга, центры подготовки джуниоров, курсы обучения hard и soft skills на нашей внутренней платформе Grow (кстати, часть курсов открыта для внешней аудитории), программы лидерства и коучинга для менеджеров, школы архитекторов и Delivery-менеджеров, языковые курсы. Кроме внутренних программ обучения каждый сотрудник в компании имеет доступ к библиотеке курсов на портале LinkedIn Learning. Но и это ещё не всё. Мы активно развиваем профессиональные комьюнити, проводим открытые мероприятия и митапы, запускаем бесплатное обучение по различным инженерным направлениям. Сейчас у нас только в России 63 профессиональных сообщества, которые тоже вносят вклад в развитие сотрудников.
Анна Л.: Любые навыки, полученные в рамках обучающих программ, лучше всего закреплять на практике. Но иногда текущий проект не позволяет это сделать, поэтому у нас есть своего рода «песочница», где можно найти задачи или проект по душе с интересующими технологиями и приобрести необходимый опыт, попробовать себя в новой роли, встретить единомышленников. Также мы анонсируем открытые позиции, которые есть в компании на данный момент в разных странах. Любой сотрудник может попробовать себя в одной из них. Многие позиции подразумевают релокацию, и для этого у нас тоже существуют свои программы.
Про найм
Во сколько этапов проходит найм и что на них ожидает соискателя?
Василий Комолов: В среднем соискатель проходит три этапа интервью. Первый — собеседование с рекрутером, где проводится базовая техническая оценка, оценка общей адекватности и соответствия резюме. Ещё там определяются интересы, предпочтения, пожелания, будущая траектория развития кандидата. Потом проходит техническое интервью, где проверяются знания по соответствующим технологиям. И третий этап — это менеджерское интервью, на котором кандидат общается с будущим руководителем. У нас это ресурсный менеджер. Этапов может и больше, например, когда требуется дополнительное собеседование на проект или интервью с представителем заказчика.
Виктория Семенова: Но когда у нас есть возможность, мы стараемся сокращать количество этапов, например, по каким-то технологиям можно совместить техническое интервью с менеджерским. А бывают случаи, когда мы готовы сделать оффер сразу после технического интервью.
Иногда мы придумываем более интересные способы сократить количество интервью и время проведения собеседований. Например, недавно завершился проект — Hiring Week, где мы предлагали кандидатам пройти интервью в течение недели и быстро получить ответ и оффер по итогам интервью.
Даете ли вы тестовое задание кандидатам? Как оно устроено?
Виктория: Мы не поддерживаем тестовые задания, они у нас встречаются только у каких-то узких направлений.
Как отличается подход к найму в зависимости от позиции и стека?
Василий: В целом подходы к найму мидлов и старших специалистов одинаковые, могут быть разные вопросы, в зависимости от уровня. Но есть несколько случаев, когда мы отходим от стандартного подхода к найму. Например, на направление Big Data мы берём специалистов без опыта работы в Big Data, но с хорошим знанием Python и Java, и первые несколько месяцев они изучают основы уже будучи сотрудниками компании. То есть их основная работа первые три месяца — это полноценное обучение.
Недавно мы запустили новый формат найма: мы даём доступ к нашим внутренним системам, корпоративному порталу тем кандидатам, в которых будем заинтересованы в ближайшем будущем или которые заинтересованы в компании, но не готовы принять предложение прямо сейчас. Они проходят тренинги по недостающим скиллам и технологиям, изучают компанию изнутри, ещё не будучи нашими сотрудниками. Причем мы не просто бросаем их в «море» тренингов и заставляем плавать в одиночестве, каждому кандидату выделяется ментор, который помогает со всем разобраться.
Виктория: Отличается подход к найму джуниор-специалистам. Большинство из них попадает к нам в команду после тренинг-центра. Мы предлагаем бесплатные тренинги по самым трендовым технологиям и направлениям для студентов старших курсов и начинающих специалистов. На занятиях студенты учатся не только программировать. Мы предполагаем, что после обучения студенты смогут стать частью компании и попасть на проект, а для этого им нужно уметь работать в команде, планировать свое время, уверенно владеть английским для общения с заказчиком, понимать, как устроена компания и как работают внутренние системы. Все эти знания мы даём в нашем тренинг-центре.
Какая фраза от кандидата на собеседовании точно заставит вас выкинуть его резюме?
Василий: Здесь креатив коллег (а точнее, воспоминания) было просто не остановить:
«Уверенный пользователь ПК»;
«Хочу быть менеджером, потому что надоело много работать»;
«Здравствуйте, это моя жена / мама / бабушка» ;
«Я разговариваю только с CIO и генеральными директорами!».
О команде
Какая методология разработки у вас используется и почему?
Алексей Харюков: Методология разработки, также как и стек технологий, выбирается в зависимости от проекта, его требований, продолжительности и задач. Так как мы работаем с «живыми» проектами, многие из которых находятся в продакшене (а значит требования могут меняться, если происходят изменения в бизнесе заказчиков), то наиболее подходящими являются гибкие Agile-методологии. Это могут быть фреймворки Scrum или Kanban, или, если проект достаточно большой, то может использоваться подход SAFe (Scaled Agile Framework).
Каковы размеры и структуры команд?
Алексей: EPAM оказывает услуги по разработке программного обеспечения большому количеству клиентов. Под «разработкой» подразумевается не только написание кода и его тестирование, этот термин используется в самом широком смысле. В проектных командах могут быть консультанты, аналитики, системные архитекторы, DevOps-инженеры, технические писатели и т. д. Размер и структура команды определяется для каждого проекта индивидуально, в зависимости от задач проекта и от стадии, на которой он находится. Во многих проектах мы работаем в тесном сотрудничестве с нашими заказчиками, поэтому часто бывают смешанные команды, в которые входят специалисты как со стороны EPAM, так и со стороны заказчика.
По каким критериям вы разбиваете разработчиков на джунов, мидлов и синьоров?
Алексей: Не думаю, что я могу сказать здесь что-то новое. Уровень разработчика определяется в зависимости от его опыта, насколько глубоко он разбирается в той или иной технологии, задачи какого уровня он может решать. У нас в EPAM для каждого из направлений — Java, .NET, тестирование и т. д. — есть так называемые skill matrix, в которых описаны требования по каждому из уровней, которые включают в себя не только требования к хард-, но и к софт-скиллам. Если попробовать кратко сформулировать, чем отличаются уровни разработчика, то я бы написал так: джуниор может реализовать задачу, решение которой ему объяснили; мидл-разработчик может сам придумать решение задачи и реализовать его; синьор может разобраться с проблемой и разбить её на задачи.
Кто чаще возглавляет команды — продуктовый специалист или технический?
Алексей: Есть проекты, в которых самым сложным являются бизнес-требования, например, это могут быть проекты, связанные с разработкой новых лекарств. Тогда, тем, кто принимает основные решения, скорее всего, будет продуктовый специалист, который может определить приоритеты задач и объяснить их техническим специалистам. Если в проекте на первом месте стоит техническая составляющая — надо реализовать масштабируемое решение, которое будет выдерживать большие нагрузки, то ЛПР, будет технический специалист, т. к. без правильной архитектуры сделать успешный проект не получится.
Как часто люди меняют команды?
Алексей: В первую очередь, продолжительность нахождения в команде зависит от длительности самого проекта. Средняя длительность проекта в EPAM — это полтора-два года. Бывают проекты, которые длятся пару месяцев, есть проекты, которые уже идут семь лет и будут продолжаться потому, что заказчик продолжает развивать свой продукт, добавляет новые функции. Сотрудник, в свою очередь, тоже может инициировать смену команды. Считается, что если специалист работает на проекте больше года, то он может подойти к своему руководителю и обсудить варианты смены проекта.
Что важнее, софт-скиллы или хард-скиллы?
Алексей: Если мы говорим про разработчиков или тестировщиков, то в первую очередь обращают внимание на хард-скиллы, т. к. технические знания и опыт — это основная ценность инженеров. Но и софт-скиллы являются важной составляющей потому, что большая часть работы происходит в командах, вам надо обсуждать задачи с коллегами, проходить проектные интервью и интервью с клиентами. Хорошие гибкие навыки дают вам больше возможностей для дальнейшего развития.
Как много собраний у вас проводится? Есть ли особые подходы к ним?
Антон Зеленский: Я вряд ли здесь чем-то удивлю. У нас проводятся ежедневные стендапы, эстимации — митинги по оценке трудозатрат, планированию; груминг-митинги — пересмотр бэклога, разбор задач на двухнедельный спринт; ретроспективы — раз в две недели по результатам спринта, разбираем что хорошо, что плохо. Я лично много всего полезного черпаю именно из ретроспектив. Это всё довольно стандартные собрания, знакомые каждому разработчику.
Алексей: При ответе на такой вопрос вспоминается анекдот про теорию относительности:
— Три волоска — это много или мало?
— Конечно мало.
— А если в супе?
Мы ценим наше время, время заказчиков и время сотрудников, если вопрос можно решить по почте или в мессенджере, то нет смысла собирать митинг. Если для решение вопроса требуется только несколько человек из команды, то нет нужды звать всех и заставлять слушать обсуждения, которые им неинтересны и не затрагивают их работу. Но если надо собрать всю команду, например, чтобы обсудить стратегию развития проекта, либо просто планы на ближайший спринт, то, желательно, чтобы митинг был подготовленный, чтобы у всех участников было понимание для чего он проводится и что будет обсуждаться.
Как вы боретесь с выгоранием сотрудников?
Антон: Мне кажется, важно, чтобы сотрудники видели изменения, чтобы у них была надежда. Даже когда на проекте не всё гладко, важно, чтобы проблемы решались. Инженер, чья работа — просто писать код, должен видеть (на тех же ретроспективах), что конкретные действия, которые лид должен предпринимать для обеспечения качественной разработки, действительно предпринимаются. То есть, что кто-то старается улучшить среду разработки. И когда разработчик чувствует возможность изменений, высоки шансы, что выгорания не случится.
Алексей: Не уверен, что можно кратко ответить на этот вопрос. Одним из способов избежать выгорания является разнообразие задач, чтобы работа не превращалась в сплошную рутину. На мой взгляд, в EPAM есть огромное количество возможностей разнообразить свою работу. Можно сменить проект. Можно записаться на курс и изучить новую технологию, которую в дальнейшем предложить использовать на проекте. Можно попробовать себя в новой роли, например, принять участие в интервью, либо прийти в тренинг-центр обучать наших будущих джуниоров. Если есть желание, то в EPAM всегда можно найти задачи, которые будут вам интересны.
О технологиях
Какие языки, фреймворки и библиотеки используются на проекте?
Николай Буланов: На этот вопрос не получится ответить даже классической фразой «проще назвать того, чего у нас нет». Даже составить такой список — задача непростая. Из-за разнообразия заказчиков и проектов у нас представлено практически всё, что может прийти на ум при упоминании любой классической роли на проекте в ИТ-компании такого уровня. К этому можно прибавить всё то, что выглядит не так очевидно — вероятность 99%, что и оно встречается у нас на проектах.
Попробую озвучить примеры в рамках пары классических направлений — Java и .NET, и чего-то специфического, например Data Science и Machine Learning (DS/ML).
Java-проекты: последние версии Java, Kotlin, Spring Boot/Data/Cloud, Kafka, PostgreSQL и т. д.
.NET-проекты: последние версии Framework, .NET Core, C#, JS/Typescript, ReactJS, MVC, Web API, Dapper, разнообразие из Azure и прочее.
DS/ML: в основном Python, scikit-learn, numpy, pandas, scipy, TensorFlow, PyTorch и множество других.
Что вы можете рассказать об архитектуре проектов?
Николай: В зависимости от особенностей проекта это может быть классическая трехуровневая архитектура (3-Tier), развернутая в облаке, или популярная микросервисная. В проектах Data Science, где приходится работать с большими объёмами данных, необходимо организовывать пайплайны по препроцессингу перед стартом работ над моделями и т. д.
Какая у вас принята политика код-ревью?
Николай: Чаще всего код-ревью проводится через pull request, и в нём участвуют как минимум два ревьювера. Бывает и кросс-ревью команды, на каких-то проектах есть дополнительное финальное ревью лида группы. Почти всегда есть автоматизированный шаг статического анализа кода и прогон тестов разного назначения (unit, integration, и т. д.).
Как тестируется код?
Николай: Обычно процесс включает все основные типы тестирования — от ручного до автоматизированного, от документации и требований до интеграционного и UAT, Security, Installation, Localization и других. В проектах DS/ML тестируется не только код, но и модели. Для этого мы используем лучшие наработки индустрии, например, вот эти.
Как устроен процесс документации и ведения базы знаний на проектах?
Николай: Команды ведут документацию преимущественно через Wiki, например в Confluence. Кроме того, есть список стандартных артефактов, который мы получаем на каждом из этапов проекта. Для единообразия подхода есть подробные шаблоны документов, которые можно адаптировать под каждый из проектов, при этом не упустить важные нюансы и учесть предыдущий опыт.
Каков процент легаси-кода на проекте и как часто разработчики занимаются его рефакторингом?
Николай: Здесь всё очень сильно зависит от проекта. Но даже самый пессимистичный объём не является критичным, в итоге получается завести в бэклоге соответствующие задачи с пометкой «tech debt» и закрывать их методично в каждом спринте.
Оценивайте своих работодателей на Хабр Карьере и рассказывайте, как вам там работается, что нравится, а что — не очень. Оценка останется анонимной и поможет сориентироваться всем, кто ищет работу в ИТ.
→ оценить работодателя