В традиционной рубрике мы разбираемся, как устроена разработка в современных IT-компаниях. Сегодняшний герой — компания Reg.ru. Мы подробно расскажем о работе больших распределённых команд на примере Reg.ru, а также какие проекты разрабатывают программисты компании, как развиваются и какими стеками пользуются.
Чем занимается компания Reg.ru
Reg.ru на сегодняшний день является крупнейшим хостинг-провайдером и регистратором в России. Его услугами пользуются 2,2 млн клиентов, а на обслуживании находится 3,3 млн доменов. По собственным данным компании, каждый второй домен в России регистрируется именно у Reg.ru.
Ключевые направления компании:
- Домены — свыше 750 доменных зон
- Хостинг, а также конструкторы сайтов с уже включённым в него хостингом
- Серверы — облачные VPS и Dedicated, а также инфраструктура для бизнеса самого разного масштаба.
Все услуги в Reg.ru представлены на разработанной собственной платформе — это высоконагруженная система, которую интересно развивать и где приятно работать. Поэтому в Reg.ru работают специалисты самых разных направлений: фронтенд- и бекэнд- разработчики, дизайнеры, администраторы хостинга, тестировщики, продакт-менеджеры, инженеры технической поддержки, юристы, PR-специалисты и многие другие.
Ценности Reg.Family
Reg.ru — это большая семья из 500+ экспертов, которые делают сервис удобнее, а продукты — полезнее и надёжнее для клиентов.
В компании демократичная корпоративная культура. Здесь можно найти не только того, кто поможет расти профессионально, но и тех, кто разделит хобби и личные интересы. В какой-то момент у нас даже появился тег #reg_family, который отражает то, как люди в команде воспринимают друг друга.
Ключевых ценностей у компании пять: экспертность, гибкость, смелость, экологичные коммуникации и целеустремлённость. Все ценности находят отражение в повседневной работе. Например, мы постоянно прокачиваемся, чтобы делать свою работу лучше и делиться знаниями. Новичкам здесь помогут проработать индивидуальный план развития, чтобы они тоже взращивали в себе экспертность.
Как устроена удаленка в Reg.ru
В Reg.ru ещё в допандемийное время больше 50% сотрудников были удалёнщиками. Поэтому с наступлением карантинных времён мы с лёгкостью масштабировали удалёнку на остальных сотрудников. Но сегодня некоторые работники постепенно возвращаются в офис: кто-то на постоянку, а кто-то в гибридном формате.
Мы продолжаем жить и работать в разных городах и странах (некоторым удаётся совмещать работу и регулярные путешествия). Два главных офиса расположены в Москве и Самаре. В Самаре у нас самый многочисленный офис, где находится техподдержка и часть разработки. При этом география удалённых сотрудников простирается от Санкт-Петербурга до Хабаровска.
Как устроена разработка в Reg.ru
Команды, отделы и чаптеры
Разработка в компании декомпозирована на кроссфункциональные распределённые команды. Каждая из них представляет собой самостоятельную единицу и имеет определённую зону ответственности, задачи и набор компетенций для реализации этих задач, а также покрытия зоны ответственности. В команду могут входить несколько бэкенд- и фронтенд- разработчиков, QA-инженеры, а также человек, который настраивает и поддерживает процессы — так называемый SDM. У каждой команды есть и свой продакт-менеджер, который направляет команду с точки зрения бизнеса.
Все бэкенд-разработчики объединены в подразделение с очень лаконичным названием «Отдел разработки», фронтенд-разработчики и QA тоже имеют свои отделы.
Также большой отдел разработки разбит на чаптеры — группы разработчиков, объединённые по разным принципам. С первого взгляда может показаться, что объединение в группы происходит хаотично и случайно, но это не так. Каждый чаптерлид сам определяет процессы внутри чаптера. Например, каким образом проводить Performance Review или как будет составлен ИПР. Кто-то из чаптерлидов следит за качеством кода и проводит Code Review, а кто-то ставит акцент на теоретические знания и подходы. Работа с каждым сотрудником ведётся персональная, поэтому выделить общий шаблон работы в компании не получится. Всё зависит от чаптерлида и его подопечного — чаптерианца. И, да, это нормально, если чаптерлид знает Python, а его чаптерианец знает только Perl. Различие в языках создаёт определённые трудности, но они преодолимы.
«На крепких плечах чаптерлидов лежит ответственность за рост чаптерианцев. Они обучают и прокачивают ребят, помогают им справиться с проблемами и конфликтами. Чаптерлиды работают совместно с SDM-ами команд и с HR-ами. Так получается собрать пазл разработчика из маленьких частей и не пропустить важные детали», — Евгений Рудаков, PHP-программист и чаптер-лид отдела разработки Reg.ru.
Языки, инструменты и практики
На бэкенде большую часть нового кода мы пишем на Python, есть также Perl-код, который мы поддерживаем. В отдельных командах основной язык — PHP. На фронтенде мы чаще всего используем Vue.js.
Во всех командах жизненный цикл задач включает в себя Code Review. Почти всегда обязательно написание Unit-тестов. В нескольких командах практикуются такие подходы, как Pair Programming и даже Mobbing.
В автоматизации тестирования (e2e-тесты, API, visual regression testing) мы используем язык JavaScript и фреймворк СodeceptJS. Для нагрузочных тестов — JMeter.
Кого нанимаем в разработку
Уровень каждой открытой вакансии определяется задачами конкретной команды. Сегодня во фронтенде и бэкенде наш ориентир — миддл и выше. Но рынок труда диктует свои условия, поэтому иногда мы можем принять и премиддл-кандидата, дать ему возможность дорасти.
Бекэнд-разработка
Собеседование на бэкенд состоит из двух этапов. Первый — техническое собеседование, где мы определяем умение читать код и писать его. Узнаём навыки кандидата в проектировании, SQL, проходимся по знанию Linux и unit-тестов.
На втором этапе мы пытаемся понять, как человек мыслит и как принимает решения. Нам важно понимать, чему разработчик научился на прошлых местах работы, какие интересные инженерные решения он применил. Какие его решения были хорошими и почему, а какие решения ему не нравились и что он сделал, чтобы это исправить.
Также от разработчиков мы требуем опыт в микросервисной архитектуре, умение работать с очередями, знание принципов и шаблонов проектирования, возможность оптимизировать сложные запросы в БД.
«По итогам двух этапов собеседования мы оцениваем уровень человека и понимаем, как можем двигаться дальше. Если мы уверены, что соискатель удовлетворяет потребности одной из команд, то делаем оффер. Но у нас не всегда есть полное понимание, бывает только ощущение, что соискатель удовлетворит потребности. Тут мы формируем список ожиданий от сотрудника и наблюдаем, как ожидания оправдываются или не оправдываются в ходе испытательного срока», — Евгений Рудаков, PHP-программист и чаптер-лид отдела разработки Reg.ru.
Фронтенд-разработка
Во фронтенде собеседования проходят в один этап. Оно состоит из трёх частей: технической, биографической и ответов на вопросы кандидата. В новых разработчиках нам хочется видеть инициативность, коммуникабельность, открытость.
«Начиная с уровня middle одного качественного выполнения задач уже недостаточно, дальнейший рост подразумевает развитые софт-скилы», — Сергей Ермаков, руководитель отдела разработки интерфейсов Reg.ru.
Тестирование
Собеседование в тестировании чаще всего состоит из одного этапа, которое состоит из нескольких частей:
- Знакомство с кандидатом и его опытом
- Теоретическая часть: проверка знаний по теории тестирования, автоматизации, работы с Git, SQL и другими инструментами
- Практическая часть по ручному тестированию и автоматизации.
Если мы понимаем, что кандидат недостаточно раскрыл себя на собеседовании, то вторым этапом даём тестовое задание.
«На собеседовании мы обращаем внимание не только на хард-скилы, но и софты, и ещё насколько кандидат подойдёт конкретной команде, в которую его рассматривают. Это очень важно, так как тестировщик всегда активно взаимодействуете с коллегами в своей команде и сотрудниками из других команд», — Ксения Бычкова, руководитель отдела тестирования Reg.ru.
Про онбординг и развитие
Погружаться в работу человеку помогает его команда, чаптeрлид и HR. Всё это важно, и это сильно влияет на продуктивность и комфортность работы.
Для общего ознакомления со спецификой и устройством компании у нас есть КМБ — курс молодого бойца: небольшой образовательный проект на собственной платформе. Ещё есть буклет «Путь Reg.Guru», в котором зафиксированы ключевые ценности, принципы и правила компании.
Команда помогает человеку входить в предметную область, SDM рассказывает и учит процессам внутри команды. HR-ы проводят периодические синхронизации с человеком, чтобы понять, как проходит адаптация, и если что-то пойдёт не так или выявится проблема — подсветить её команде и чаптерлиду и помочь решить.
У каждого разработчика есть чаптерлид, он помогает освоиться, подсказывает, какие люди здесь и за что отвечают, погружает в культуру компании. Также помогает найти общий язык со всеми членами команды и даёт советы по мере необходимости.
Также у нас хорошо работают программы внутреннего и внешнего обучения: есть своя платформа «Корпоративный университет», где можно прокачать софт-скилы. Хард-скилы помогают прокачивать коллеги, делясь рабочими кейсами. Но также у каждой команды есть бюджет на покупку внешних курсов или билетов на конференции. А ещё за счёт компании можно заказывать электронные или бумажные книги.
Условия работы в Reg.ru
Официально трудоустраиваем
Всё по ТК. Признаемся, у нас очень педантичные кадровики и юристы. Никаких вольностей. А значит, всё официально. Зарплата дважды в месяц: аванс и основная часть.
Помогаем собрать удалённый офис
Поскольку большинство сотрудников (особенно разработка) удалёнщики, либо на гибридном формате, особое внимание мы уделяем условиям их работы, обеспечиваем всем необходимым. Например, у нас есть программа компенсации стоимости оборудования. Каждый может обзавестись более мощным процессором или удобным ортопедическим креслом, либо предоставляем место в офисе для тех, кому очень важна офлайн-социализация и рабочее место вне дома. Офлайн-офиса у нас два: в Москве и Самаре.
Учитываем пожелания к графику
Графики могут отличаться в зависимости от задач. Например, техподдержка и инженеры дата-центра или админы работают посменно. Команды разработки работают 5/2. Время начала работы может варьироваться. Главное — договориться с командой, чтобы работать всем было комфортно, и своевременно выполнять задачи.
Создаём все условия для дружной команды
Жизнь в компании насыщенна не только рабочими процессами, но и неформальными событиями. С Новым годом и прочими госпраздниками всё понятно, но помимо этого есть конкурсы, флешмобы, мастер-классы и в принципе возможен любой формат, инициатором которого может стать каждый: кино- и книжные клубы, кулинарные мастер-классы, встречи с интересными приглашёнными специалистами.
А ещё команды собираются сами, чтобы лучше знать и понимать друг друга. Это может быть просто онлайн-общение, игры в «Мафию» и даже совместное путешествие.
Развиваем
Книги, внутренние и внешние курсы, прямое перенятие опыта от прокачанных специалистов. Каждая, даже распределённая команда, может устраивать офлайн-встречи для совместной прокачки или решения каких-либо глобальных задач. Сейчас мы плотно думаем о развитии DevRel в компании, чтобы масштабнее делиться нашим опытом с сообществом разработчиков через своих экспертов и чтобы ещё больше классных ребят узнало, что с нами можно построить карьеру.
Все вакансии REG.RU можно посмотреть на HH.ru. Если вы не видите подходящую вам вакансию, но при этом имеете определённый опыт, напишите нам на resume@reg.ru, и HR вам обязательно ответят. А при появлении вакансий рассмотрят вашу кандидатуру в первую очередь. Ну и, конечно, не забывайте кодовую фразу «Я от "Хекслета"».
Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях