Хантфлоу каждый день исследует вызовы современного рекрутинга и помогает профессионалам отрасли оставаться в курсе всех тенденций подбора и вовремя получать актуальные новости индустрии.
Именно поэтому мы считаем важным подсвечивать проблемы и трудности найма, с которыми сталкиваются представители разных областей и объемов бизнеса. В мае 2024 года Хантфлоу организовал конференцию Join!, посвященную одному из самых мощных направлений подбора — IT-рекрутингу.
В программу конференции были включены как выступления экспертов подбора, так и практические мастер-классы от разработчиков. Мастер-классы программистов — возможность понять, как IT-рекрутеру правильно искать и оценивать кандидатов.
Разобраться в деталях профессий и требованиям к IТ-специалистам помогли сооснователь и технический директор Хантфлоу Виталий Глибин, технический лидер QA в Cloud.ru Степан Кастанов и тимлид DevOps в Хантфлоу Иван Семенов.
В этом материале вы найдете выжимку из их выступлений. Сохраняйте и делитесь с коллегами!
Сферы frontend и backend
Что такое frontend и backend
Frontend — это программирование интерфейса, т.е. клиентской части приложения или сайта.
Backend — это программирование серверной составляющей приложения или сайта: внутренних процессов, архитектуры и логики, хранения и передачи данных.
Что делают frontend- и backend-разработчики
Frontend-разработчик создает интерфейс сайта или приложения. Разработчик программирует детали, которые отображаются на экране: какой формы будет кнопка или шрифт формы обратной связи.
Backend-разработчик пишет код, от которого зависят внутренние процессы сайта или приложения: его логика и функциональность, а также хранение и передача данных в нем.
Навыки frontend- и backend-разработчика
Технические навыки frontend-разработчика:
- HTML;
- CSS;
- JavaScript;
- Кроссбраузерность — способность сайта отображаться и работать с одинаковой функциональностью в разных браузерах;
- Знание принципов работы систем контроля версии продукта;
- Фреймворки — наборы уже готовых алгоритмов, для создания отдельных элементов сайта или приложения. Самые известные фреймворки:
Технические навыки backend-разработчика:
- Умение работать с базами данных: как минимум, владеть SQL — языком запросов к базе;
- Понимание REST — того, как взаимодействуют клиент и сервер;
- Владение протоколами коммуникации между приложениями и API — наборами правил и методов взаимодействия с внешними сервисами. С помощью этих наборов можно интегрировать внешние сервисы в сайт или приложение. Например, если подключить через API Гугл Календарь к сайту покупки билетов, после покупки билета на концерт можно будет внести информацию о концерте в календарь пользователя.
- Знание языков программирования;
- Знание принципов работы систем контроля версий продукта;
- Понимание принципов работы Node JS — платформы для использования JavaScript на стороне сервера — и владение фреймворками для работы с ней.
Мягкие навыки frontend- и backend-разработчика одинаковы, они включают в себя:
- умение вести переговоры — презентовать и доступно объяснять преимущества выбранного решения;
- умение работать в команде — находить общий язык с командой, понимать требования заказчиков, аналитиков;
- внимательность;
- умение правильно оценить сроки.
Как выбрать подходящего кандидата на роль frontend- и backend-разработчика
Для frontend- и backend-разработчиков стоит устраивать технические интервью с лидом или синьорами команды, в которой открыта вакансия. Это дает два преимущества:
- Опыт действующих сотрудников поможет точнее оценить технические навыки кандидата.
- Сотрудники могут поделиться с кандидатом подробностями о проекте и технологиях, которые в нем используются. Так кандидат сложит полное представление о проекте и взвешенно примет решение, готов ли присоединиться к нему.
Если фреймворк проекта не совпадает с фреймворками в резюме frontend-разработчика, со специалистом все равно стоит связаться и предложить вакансию. Язык JavaScript один, изучать в новый фреймворк для него несложно.
Раньше у frontend-разработчиков было принято под каждый проект создавать свой фреймворк. Сейчас это уже менее распространено. Но для разработчика собственный фреймворк — это плюс: он показывает, что специалист как минимум заинтересован в профессии.
Подход писать фреймворки под нужды компании осложняет наем — внешние кандидаты не могут изучить внутренний фреймворк, значит, их адаптация усложнится и будет проходить дольше.
Бывает, что рекрутеру на интервью тяжело сходу понять о чем рассказывает кандидат. В таком случае, можно обратиться к словарю IT-терминов.
Сфера QA
Что такое QA
Quality assurance (QA) — это процесс обеспечения качества продукта.
Проблемы в работе ПО нередко приносят ущерб компании: теряются деньги, время, деловая репутация. Чтобы программы были качественными и работали как следует, их проверяют на ошибки, и, если нужно, дорабатывают.
Результат успешно проведенного QA — это продукт, удовлетворяющий потребности клиента.
Специалисты по обеспечению качества продукта делятся на две категории: QA и QC (quality control):
- QA отвечает на вопрос: «Удовлетворяет ли продукт потребности пользователей?».
- QC проводит тестирование продукта по уже существующим методикам испытаний (например, методом черного ящика).
Что делают QA-специалисты
QA-специалисты контролируют качество ПО.
Чтобы быть QA-специалистом, одного навыка тестирования недостаточно.
QA отвечает за качество продукта целиком, а QC проверят только те компоненты продукта, которые указаны в задании на тестирование.
Навыки QA-специалиста
Теоретические знания QA-специалиста:
- Широкий профессиональный кругозор и общие сведения о сфере IT — какие специалисты есть в сфере IT, что они делают, какие есть инструменты и способы решения задач бизнеса.
- Понимание процесса разработки и жизненного цикла разработки ПО.
- Специфические знания QA — типы тестирования, методы тест-анализа и прочие знания, которые пригодятся в работе QA.
Практические навыки:
- Знания операционных систем Windows, Mac и Linux. Особенно важно разбираться в Linux — сейчас все серверные платформы работают на ней.
- Знание технологий: Docker, базы данных, очереди, протоколы передачи данных, REST.
- Программирование: знание языков и фреймворков.
Софт-скиллы QA-специалиста включают:
- Моральная устойчивость — самый важный навык. Человеку будет тяжело работать, если расстраиваться из-за найденных ошибок или споров с разработчиками и аналитиками.
- Умение работать в команде, слушать и понимать их.
- Любопытство в профессиональной сфере.
- Ответственность.
- Терпение.
Как выбрать подходящего кандидата на роль QA-специалиста
Чтобы понять, что за специалист перед вами, можно задать следующие вопросы:
- О тестировании:
- Какими типами тестирования занималась ваша команда? Перечислите функциональные и нефункциональные типы.
- С какими артефактами тестирования вы сталкивались в своей команде? Какие были тест-планы, тестовые сценарии? Что включали в себя отчеты тестирования и отчеты об ошибках?
- Как были организованы и где хранились артефакты тестирования? Например, в TMS или Task Trackers?
- Как проходил процесс тестирования в вашей команде?
- Как вы планировали тестирование?
- Когда можно начинать и заканчивать тестирование?
- Каков уровень автоматизации тестирования?
- Как вы понимаете, что ваша команда работает хорошо?
- О команде и процессах:
- Какие методики управления проектами были приняты в компании (Waterfall, Agile)
- Какова была его роль QA? На каком этапе процесса разработки он подключался?
- Как часто были релизы продукта?
- Какие процессы управления качеством были в проекте?
- Что в процессах или команде стоило улучшить?
- Какой уровень автоматизации тестирования был в команде?
У кандидатов встречаются особенности карьерного пути, о которых рекрутеру стоит разузнать подробности. Вот какими они могут быть:
- Работал на проектах меньше года
- Часто меняет работу, работает везде меньше года
- Отсутствие базового IT-образования для авто-тестировщика
- Отсутствие в резюме инженера авто-тестирования фреймворка и языка программирования
- Опыт инженера около года, но знание 2 языков программирования без базового образования в IT (только онлайн-курсы)
- Опыт лида меньше года
- Рост от джуна до сеньора за 2-3 года без базового образования при работе в разных компаниях — в этом случае, возможна смена работы с повышением без реального роста компетенций
Сфера DevOps
Что такое DevOps
DevOps — это процесс разработки (development) и эксплуатации (operations) продукта.
Что делают DevOps-инженеры
DevOps-инженеры настраивают и поддерживают процесс continuous integration & continuous delivery (CI/CD) — непрерывной интеграции и непрерывной доставки изменений в продукт.
DevOps-инженеры отвечают за то, чтобы доставка изменений происходила быстро, продукт был качественным и риски при его использовании были минимальны.
Навыки DevOps-инженера
Из технических навыков DevOps-инженеру требуются:
- администрирование операционных систем;
- контейнеризация и оркестрация;
- infrastructure-as-сode(IaС);
- программирование и скриптинг;
- знание систем контроля версий;
- понимание процесса CI/CD;
- понимание облачных технологий;
- знание процессов мониторинга и логирования.
А из софт-скиллов DevOps-инженеру нужны:
- ответственность;
- коммуникабельность;
- проблемное мышление — желание решить проблему, а не поскорее передать ее другому человеку;
- проактивность;
- навык управления временем.
Для построения индивидуального плана развития DevOps-инженера, можно использовать его дорожную карту.
Инструменты, владение которыми нужно DevOps-инженеру, показаны на картинке. Чем больше размер слова — тем чаще этот инструмент встречается в требованиях к вакансии DevOps-инженера:
Как выбрать подходящего кандидата
Нужен ли DevOps в компании — зависит от ее численности:
Вот источники, которые стоит использовать для поиска DevOps-инженера:
- Знакомства и рекомендации
- IТ-мероприятия и конференции
- Habr Career — популярный сайт среди IT-специалистов в России и странах СНГ. Здесь можно найти множество резюме и вакансий
- в области DevOps
- LinkedIn — несмотря на то, что это международная платформа, LinkedIn очень популярен и в СНГ
- HeadHunter — один из крупнейших сайтов по поиску работы в России и странах СНГ
- Rabota.by — популярный сайт по поиску работы в Беларусии
- Dev.by — портал, ориентированный на IT-сообщество Беларусии
- Job.kg — популярный сайт для поиска работы в Киргизии
- GeekJob.ru — платформа, ориентированная на поиск IT-специалистов
- в России и СНГ
- Telegram-сообщества
- GitHub Jobs
Этапы подбора, которые должен пройти DevOps-инженер перед устройством в компанию:
- HR-интервью
- Тестовое задание
- Техническое интервью
- Траблшутинг-интервью — интервью, на котором инженер показывает навыки решения задач, с которыми он не может справиться своими силами и имеющимися ресурсами. На этой встрече можно выяснить, насколько стрессово кандидат реагирует на такие задачи, как рассуждает, умеет ли обращаться за помощью и как он коммуницирует в целом.
У кандидатов на роль DevOps-инженера встречаются подводные камни, которые рекрутер может заметить во время процесса найма:
Этот материал — часть цикла текстов, которые редакция Журнала Хантфлоу готовит для вас по следам конференции Join! Ранее на нашем сайте вышли такие статьи:
Как IT-рекрутеру успешно справляться с вызовами индустрии
Зачем IT-рекрутеру прокачивать личный бренд
А еще вы можете посмотреть запись выступления специального гостя конференции, актера Никиты Ефремова, который рассказал о том, как перестать стесняться и начать говорить о себе публично.