Где работать в ИТ в 2021: CloudPayments
Герой нового выпуска нашей рубрики о том, куда пойти работать в ИТ — CloudPayments — высокотехнологичный платёжный сервис и команда революционеров интернет-эквайринга. Эйчар-директор Татьяна Афонина и техдир Артем Санников рассказали нам о том, как в компании устроен найм, что ждёт новеньких сотрудников в первые дни работы, об основных рабочих процессах и стеке технологий.
В этом году сотрудники оценили CloudPayments на Хабр Карьере на 4,8 из пяти, и это обеспечило компании четвертое место в нашем Рейтинге ИТ-работодателей среди компаний со штатом до 1000 человек.
Оценивайте и вы своих работодателей на Хабр Карьере, чтобы поделиться мнением и опытом с теми, кто сейчас ищет работу в ИТ! Это анонимно.
Содержание выпуска
О компании
CloudPayments меняет рынок финтеха: они стали первыми, кто запустил прием платежей без редиректа на сторонние сервисы, первыми, кто оптимизировал процесс интеграции Apple Pay на сайтах своих партнеров, и единственными, чей показатель SLA достигает 99,9%.
В команде на сегодня 200+ человек. CloudPayments в топ-100 крупнейших IT-компаний страны: 89 место в общем рейтинге и второе место в рейтинге самых быстрорастущих компаний по версии CNews 2020.
Сотрудники на Хабр Карьере поставили компании высокую оценку (4,8 из 5), особо отметив то, что там созданы комфортные условия работы, ставятся интересные задачи и что она делает мир лучше. Оценку в деталях и комменты тех, кто оценивал, смотрите и читайте в профиле CloudPayments.
Условия работы
Какой в вашей компании сложился рабочий график и отношение к переработкам?
Артём Санников: Обычно мы работаем с 10:00 до 19:00 по московскому времени. С секундомером за спиной никто не стоит и сирена по окончании рабочего дня у нас не звучит. Мы рационально подходим к формированию графика, особенно для сотрудников, которые не вовлечены в процессы эксплуатации: рассматриваем возможность индивидуального графика, если это не ломает критичные процессы и коммуникацию в команде. Например, во всех командах есть ежедневная встреча (daily) в начале дня, которую предпочтительно системно не пропускать. Решения по рабочему графику принимаются тимлидом индивидуально.
Какие бытовые условия ждут нового сотрудника на рабочем месте?
Татьяна Афонина: Наш офис расположен практически в самом центре Москвы, у метро «Шаболовская». Это помещение в стиле лофт с большим количеством окон, естественным освещением и кондиционерами. В офисе есть оборудованное пространство с кофемашинами, чаем, кофе, печеньем и фруктами. Есть уютная зона с диванами и камином, несколько переговорных. Каждому сотруднику предоставляется эргономичный рабочий стол, чтобы вместить все необходимое для работы. Технику мы предоставляем по выбору сотрудника, в основном это Mac последнего поколения и нужные гаджеты. Многие сотрудники пользуются ноутбуками, в большинстве своем MacBook, так как это удобно при работе в удаленном формате: можно работать из любой точки офиса, не привязываясь к рабочему месту.
Артём: Большинство сотрудников ИТ выбрали удаленную работу. Для них есть отдельное тихое и прохладное помещение на 13 мест, куда можно приходить, когда есть желание или необходимость поработать из офиса. Пока этого хватает.
Есть ли возможность удаленной работы?
Артём: Такая возможность есть. Вынужденная удаленка в связи с пандемией показала, что сотрудники в удаленном формате работают не менее, а даже более эффективно, чем из офиса, поэтому в этом смысле мы идем навстречу сотруднику, который сам решает, какой формат работы для него оптимальный.
Какой социальный пакет получают сотрудники?
Татьяна: В конце прошлого года мы запустили ДМС для сотрудников московского офиса. Также есть возможность посещения отраслевых конференций, компенсация обучения, предоставляются льготные кредиты и скидки на страховые продукты.
Какие бонусы, премии и компенсации предусмотрены в компании?
Татьяна: Мы выплачиваем сотрудникам годовые бонусы, но это не стандартная годовая премия, а бонус, который выплачивается в зависимости от результатов работы. Что касается размера бонуса, то тут мы возьмем цитату из статьи наших коллег из «Тинькофф»:
«Это не просто тринадцатая зарплата, как в некоторых других местах, а действительно зависит от достижений и может быть очень-очень приятной»
..и добавим еще одно «очень» от себя :)
Еще у нас есть премии по фактам реализованных проектов или особых успехов в работе. Эти премии выплачиваются на усмотрение директора по направлению.
Также есть выплаты в честь важных семейных событий. Для нас одно из важнейших семейных событий — пополнение в семьях наших сотрудников и за это мы выплачиваем небольшую сумму на приятные дополнительные покупки.
А еще действует программа «Приведи друга», когда любой сотрудник компании может порекомендовать кандидата на «открытую» вакансию и получить бонус, после того как тот успешно пройдет испытательный срок.
Какие есть перспективы для образования и личного развития у сотрудников?
Татьяна: Мы всегда говорим, что люди — это главный актив компании. Поэтому предоставляем им возможности для развития и повышения экспертности. Компания компенсирует расходы на профильное обучение и программы повышения квалификации сотрудников. У нас есть корпоративный университет Тинькофф, где собраны знания и курсы, позволяющие повысить hard- и soft-скилы.
В корпоративном университете есть классные курсы для начинающих руководителей, например, школа тимлидов, которые помогут развить навыки управления командой, приобрести и усилить компетенции в части мотивации команды, контроля задач и общего управления.
Процесс найма
Во сколько этапов проходит найм и что на них ожидает соискателя?
Татьяна: Обычно эйчар проводит небольшой скрининг на 10 минут, а сам найм, фактически, проходит в два этапа:
Беседа с командой, в рамках которой проходит тестирование технических знаний кандидата;
Собеседование с техническим директором.
Причем оба этапа мы часто проводим в один день для оперативного принятия решения по найму.
Даете ли вы тестовое задание кандидатам? Как оно устроено?
Артём: Мы не даем тестовые задания в командах разработки «на дом». В результате технического интервью обычно понятно, хотим ли мы сотрудничать с кандидатом и готовы ли предложить ему работу.
Как отличается подход к найму в зависимости от позиции и стека?
Татьяна: Особых отличий нет. Как и говорили выше, у нас два этапа — техническое интервью с руководителем команды и финальное интервью с техническим директором.
Какая фраза от кандидата на собеседовании точно заставит вас выкинуть его резюме?
Татьяна: Сложно сказать. Иронию и самоиронию мы понимаем и принимаем, шутить любим. Оттолкнуть может грубость (да и какая-то общая неадекватность), а также сильная непоследовательность суждений, пожалуй. К примеру, когда дискуссия в рамках решения какой-нибудь задачки сопровождается агрессией и повышением тона со стороны кандидата. Или, например, когда задаешь человеку вопросы, а на каждый из них он отвечает расплывчато и максимально не по делу. Резюме выкидывать не будем, но дальше общаться точно не захотим.
Как происходит онбординг нового сотрудника?
Татьяна: Если сотрудник присоединяется к команде удаленно, то наш HR-менеджер проводит welcome-тренинг по Zoom, где рассказывает обо всем, что необходимо знать новичку, чтобы чувствовать себя комфортно, и отвечает на все возникшие у него вопросы.
Также мы создали велком-лендинг для новичков, на котором содержится вся необходимая на старте информация, ответы на все появляющиеся в первые дни вопросы: как настроить почту и корпоративный мессенджер, на какие группы стоит подписаться в социальных сетях, где взять для них классную корпоративную обложку, к кому и с какими вопросами можно обращаться, а также о том, какие опции соцпакета можно использовать. Также можно почитать об истории компании и о том, какие ценности мы пропагандируем. Ну и, конечно же, пробежаться по оргструктуре и заочно познакомиться со всеми новыми коллегами.
После welcome-тренинга сотрудник идет оформляться, а после созванивается со своим непосредственным руководителем. Затем уже руководитель занимается более подробным погружением в проект, задачи и процессы.
Если сотрудник сразу выходит в офис, то процесс онбординга схож с онбордингом удаленного сотрудника, добавляется только экскурсия по офису, в рамках которой сотрудник HR-подразделения знакомит новичка с новыми коллегами и нашим главным талисманом — псом Феней (это любимый питомец нашего CEO, который часто бывает вместе с ним в офисе).
На период испытательного срока у новичка стоит три основных ревью — в конце первого, второго и третьего месяца работы. На ревью присутствует руководитель, представитель HR и сам сотрудник. Такие встречи проводятся для того, чтобы у новичка была возможность обсудить сложности, результаты работы и получить обратную связь от руководителя. Также в конце каждой недели на протяжении всего первого месяца проводятся небольшие встречи сотрудника с HR, где за чашечкой кофе офлайн или онлайн в Zoom обсуждаются впечатления от работы и моменты, в которых нужна помощь или которые хочется поменять (если таковые имеются, конечно).
Раз в квартал мы в офисе отмечаем «День новичка», дарим небольшие, но полезные корпоративные подарки: кружки, пледы, бутылки для воды и т. д.
О команде
Какая методология разработки у вас используется и почему?
Артём: Мы используем гибкую методологию разработки. С одной стороны, у нас есть артефакты scrum / kanban (бэклог, груминг, планирование, спринты, «борда», «дейли», «ретро», «капасити» и все такое). С другой стороны, наша цель — сделать процесс более эффективным, прозрачным и комфортным для его участников и потребителей. Отсутствие чего-то «в методичках» не останавливает нас от изменений, если это полезно для дела. Например, мы умеем совмещать двухнедельные спринты с еженедельными релизами и ежеквартальным продуктовым планированием.
Каковы размеры и структуры команд?
Артём: Команда включает в себя от 3 до 11 человек. Мы стараемся делать минимальные по составу команды, которые могут автономно создавать новую ценность и «под ключ» за нее отвечать (без крайностей, конечно, bus-factor никто не отменял).
На наш взгляд, 11 человек в одной команде — это уже много. В идеале, каждый член команды должен быть в курсе всего, чем занимается команда, а не только он лично. Тогда появляется сплоченность и сопутствующие усиливающие эффекты взаимодействия, КПД увеличивается. В больших командах добиться этого тяжелее. Поэтому мы делим команды, когда они разрастаются до критичного размера.
Структура плоская. Тимлид отвечает за все, что происходит в разработке: people-менеджмент, мотивация, эффективность, качество, отказоустойчивость и т. п. Он должен все это обеспечить. В этом ему помогает его команда: разработчики (front / back / mobile), QA-инженеры, проджект-менеджеры (они же выполняют функцию аналитиков и, где необходимо, управляют подрядами).
По каким критериям вы разбиваете разработчиков на джунов, мидлов и синьоров?
Артём: Мы их так не разбиваем. Мы нанимаем людей, подходящих по профессиональным навыкам и опыту за предусмотренный для этого бюджет. Джунов (в общем понимании) у нас практически нет, для нас это роскошь.
Кто чаще возглавляет команды — продуктовый специалист или технический?
Артём: Продакт принимает бизнес-решения, тимлид — отвечает за воплощение. Мы стараемся привить продуктовый подход всем в команде, чтоб каждый заботился о пользователе, понимал проблему, которую решаем, и почему мы решаем ее именно так.
Как часто люди меняют команды?
Артём: Было несколько прецедентов, но системно переводить сотрудников между командами потребности пока не возникало ни у людей, ни у компании. Мы всегда готовы рассмотреть нетиповые траектории, если на это есть запрос.
Что важнее, софт-скиллы или хард-скиллы?
Артём: Важно и то, и другое. Мы не рассматриваем кандидатов, если их профессиональные навыки нам не подходят, какими бы дружелюбными и креативными они не были. Но для того, чтобы нормально функционировать в нашем коллективе даже с хорошими хард-скиллами, точно необходимы разумный уровень адаптивности, общая адекватность, навыки давать и обрабатывать обратную связь, самоорганизация и т. п. У нас довольно компактный коллектив, чтоб софт-скиллами можно было жертвовать. Надо уметь договариваться.
Как много собраний у вас проводится? Есть ли особые подходы к ним?
Артём: Встреч у нас немало. Отчасти мы так компенсируем «удаленку» (с марта прошлого года практически в полном составе). Подходы, в основном, классические:
grooming — берем задачки из бэклога и по-косточкам разбираем бизнесовую и техническую часть, чтобы задача могла претендовать на включение в следующий спринт.
planning — определяем скоуп задач следующего спринта.
daily — чтобы быть в тонусе и обнаруживать проблемы на ранней стадии.
retro — где можно похвалить кого-нибудь или что-нибудь и подумать, как можно приумножить успех. Здесь же можно поделиться болью и обсудить с командой, как это можно исправить
кросс-командные митапы, где можно рассказать про интересные решения, которые были внедрены («фичи», технологии, процессы и т. д.).
Как вы боретесь с выгоранием сотрудников?
Артём: Считаю, что у нас в компании довольно мало оснований для выгорания. У нас востребованные и перспективные продукты, интересные задачи и инженерные вызовы. Мы обходимся без принуждений к системным овертаймам. Тебя окружают профессиональные ребята, топовая техника, а процессы постоянно тюнятся.
Но если что-то подобное случается, хорошие и «человечные» отношения в командах помогают обнаруживать это на ранних стадиях. Если человек замечает изменения и вовремя дает откровенную обратную связь, если приходит за помощью и мотивирован вместе что-то исправить — высока вероятность справиться с его выгоранием и решить накопившиеся проблемы. Мы всегда стараемся пойти коллеге навстречу.
Технологии
Какие языки, фреймворки и библиотеки используются на проекте?
Артём: Если коротко, мы используем бэкенд на .net, фронтенд на angular/vue, в мобильной разработке мы предпочитаем нативные технологии. Фреймворки и библиотеки на этих платформах — без экзотики. Чтобы нам самим не забывать, что у нас есть, мы нарисовали техрадар.
Что вы можете рассказать об архитектуре проектов?
Артём: Архитектура очень специфична для каждого конкретного проекта. К примеру, системы CloudPayments, имеют систему сервисов-шлюзов к десяткам эквайеров, нетривиальную инфраструктуру для криптографии, а в CloudKassir (сервис по аренде облачных онлайн-касс) есть управляющее ПО для ферм с тысячами онлайн-касс. Об этом можно говорить часами, но формат этого материала, к сожалению, не позволит этого сделать. Расскажу вкратце.
Есть общие инфраструктурные компоненты (базы данных, очереди, кэши). С ними работают backend-сервисы. Обычно у одного проекта их много и все они взаимодействуют между собой. Мы используем SPA для веб-приложений, а мобильные приложения делаем на нативных технологиях. Все это мы хостим в частном облаке, которое сами создаем и поддерживаем. И, безусловно, все это в масштабируемой и отказоустойчивой конфигурации.
Какая у вас принята политика код-ревью?
Артём: Код-ревью (рецензирование кода) обязательно для каждой задачи. Минимум — это один ревьювер, иногда несколько, а по необходимости — кросс-командное ревью и ревью на ИБ.
Как тестируется код?
Артём: Разработчики пишут unit-тесты. QA-инженеры проводят функциональное тестирование, пишут интеграционные и ui тесты. Все тесты автоматически запускаются при регрессе сборки перед релизом. То, что не покрыто автотестами, регрессится вручную. Нагрузочные тесты разрабатываем для критичных компонент.
Как устроен процесс документации и ведения базы знаний на проектах?
Артём: Подробная публичная документация для интеграции с нами находится в открытом доступе. Внутренняя — в Confluence. Мы описываем только базовые аспекты, чтобы всегда были под рукой (терминология, архитектура, назначение сервисов, схема основных сущностей БД, сиквенс-диаграммы основных процессов, неочевидные алгоритмы и т. п.). Без фанатизма. У нас нет стремления дублировать код псевдокодом в Confluence, в конце концов реверс-инжиниринг никто не отменял.
Каков процент легаси-кода на проекте и как часто разработчики занимаются его рефакторингом?
Артём: Если исходить из формулировки «Legacy code — code too scary to update and too profitable to delete», то у нас такого практически нет.
Другое дело, что некоторые части системы за продолжительное время ее существования устаревают технологически, а другие подлежат рефакторингу, т.к. в текущей архитектуре уже не могут сделать то, что мы от них хотим в связи с новыми вводными. Это наш техдолг.
В задачу тимлидов входит инвентаризация техдолга и его системное уничтожение. Для этого выделяется постоянная доля ресурса команды (скоупа спринта) под техдолг. Эта доля зависит от сложности, срока жизни, темпов развития проекта. В приоритете — задачи техдолга, которые комплементарны текущим бизнес задачам.
Вы можете оценить свою компанию и поделиться мнением о ней с теми, кто ищет работу в ИТ. Можно ругать, можно хвалить, главное — оценивать честно!