Интервью с Ruby-разработчиком

Бум на поиск Ruby-разработчиков пошёл на спад, но спрос на них у компаний остается повышенным. Кто такие Ruby-разработчики, почему чаще всего ищут специалиста на Ruby on Rails и какие ещё технологии могут встретиться в резюме типичного рубиста — рассказываем в нашей статье.
Чтобы понять, кто такие Ruby разработчики и как с ними лучше проводить собеседования, стоит ответить на несколько вопросов.
1. Что это за язык? Ruby — язык программирования, который используется в основном для разработки серверной части приложений и сайтов. Ruby иногда используется QA-специалистами, которые занимаются автоматизацией тестирования.
2. Какие задачи можно выполнять используя Ruby? Ruby может быть использован для создания десктопных приложений, CRM-систем и сервисов разного масштаба. Однако, можно смело говорить о Ruby как об универсальном языке, так как многие решения разработанные с применением этого языка довольно нестандартны. На такие примеры можно взглянуть вот здесь.
3. Какие популярные фреймворки и open-source решения используют разработчики? Так повелось, что у многих Ruby ассоциируется только с самым популярным фреймворком Rails. Можно смело говорить о том, что все Ruby-разработчики пробовали писать с использованием этого фреймворка. Многие считают, что без Rails язык становится не слишком удобным, однако есть и те люди, которые придерживаются мнения о том, что можно эффективно выполнять поставленные задачи совсем не используя Rails. Также нельзя не обратить внимание на два интересных решения, которые в последнее время становятся более популярными среди Ruby разработчиков. Речь идёт о Sinatra и Grape.
Первое — веб-фреймворк, который использует другие принципы представления данных, нежели Rails. Создатели Sinatra считают своей главной задачей, обеспечить максимально быстрое создание веб-приложений на Ruby с минимальной затратой усилий. Второе — тоже веб-фреймворк, который заточен под разработку API и создание микросервисов.
Ruby довольно-таки редко становится первым языком для разработчика, что объясняется высоким уровнем “вхождения”. Довольно часто к Ruby приходят те, кто раньше предпочитал писать на PHP.
Обычно наше собеседование похоже на то, как собеседуют людей в Долине, только у нас укороченная версия для стартапа. Вне зависимости от стека и технологий, это обязательно алгоритмические и технологические тесты на время на таких платформах как CodeFights и HackerRank.
Мы ищем обычно full stack разработчиков и просто очень хороших инженеров без привязки к технологиям. Если человек может выполнить тестовую задачу, которая сделана в нашем технологическом стеке, то обычно этого достаточно.
Павел Тиунов, CTO в Statsbot
Вопросы для собеседования:
- На какую позицию пришёл в текущую компанию? Что входило в обязанности? Как менялась позиция и обязанности за время работы?
- Как изменился проект за время время работы в компании? Как на это повлиял?
- Как был устроен процесс разработки? Через что проводили деплой? Как было организовано тестирование?
- Какая была команда, как распределялись обязанности внутри?
- Кто ставил задачи?
- Какие инженерные практики использовались в разработке: code review, tdd, unit-тесты?
- Какой стек технологий использовался?
- Почему находится в поиске?
- Куда дальше хочет расти?