Технические собеседования программистов на проекте Warface

Лайфхаки и неочевидные детали

Меня зовут Александр Рябыкин, я являюсь техническим директором Warface. В компании Astrum Entertainment работаю по сути с 2012 года. Пришел в компанию на должность клиентского программиста на проект «Аллоды Онлайн», где проработал несколько лет и стал руководителем команды разработки клиентской части игры. После этого участвовал в разработке нескольких прототипов игр, в том числе и мобильных, затем был нашумевший проект Armored Warfare, он же «Проект Армата». Последние несколько лет я тружусь на проекте Warface, с этого года занимаю должность технического директора проекта. Мой опыт преимущественно связан с клиентской разработкой, с оптимизациями по памяти и производительности, с мультипоточным кодом и соответствующими проблемами.

Технические собеседования программистов на проекте Warface

Хочу поделиться своим опытом проведения собеседований. Самое важное — мы ищем людей со страстью к программированию. Не могу сказать, что технические собеседования у нас очень сложные, мы не мучаем соискателей какими-то сложными задачами много часов, но хотим хорошие знания базовых вещей. Ведь, когда есть хороший фундамент, нарастить на нем необходимые знания гораздо проще.

Вопреки популярному мнению о высоком пороге входа в геймдев, хочу сказать — совсем не обязательно иметь опыт в игровой индустрии, чтобы попасть к нам. У нас есть много классных людей в команде, которые пришли из других областей программирования, и успешно работают по сей день.

Как и кандидаты, мы тоже готовимся к собеседованию — вчитываемся в резюме, корректируем вопросы в зависимости от опыта кандидата и от команды, в которой он хотел бы работать. В первую очередь в резюме нам хочется видеть список достижений кандидата на каждой позиции. К сожалению, встречаются резюме, где только скупые строчки с местами работы, и дефицит информации в данном случае не идет на пользу ни кандидату, ни нам при изучении резюме. Отдельным плюсом является портфолио на GitHub, которое мы обязательно изучим наряду с CV.

Технические собеседования программистов на проекте Warface

На самом собеседовании мы в первую очередь обсуждаем опыт кандидата, задаем вопросы по интересным нам строчкам резюме, про причины желания поменять текущую работу. Также общаемся про игровой опыт, хобби. Уже на этом этапе можно собрать достаточно информации, чтобы понять, какой перед нами человек по своим личным качествам, и насколько комфортно мы сможем друг с другом работать.

Далее идет основная техническая часть собеседования. Вот темы, которые мы затрагиваем:

Базовая часть:

— Сложность алгоритмов

— Структуры данных

— Работа с памятью

— Мультипоточное программирование

Дополнительная часть (в зависимости от специализации):

— 3D-математика

— Сетевое программирование

— Графическое программирование

— Базы данных

В каждом из пунктов мы задаем мини-задачи и некоторые дополнительные вопросы, которые позволяют понять, действительно ли человек разбирается в том, о чем рассказывает. Также мы предлагаем задачи на рассуждение, у которых нет единственного верного решения. Это делается для того, чтобы понять ход мысли при поиске решения — это нам также интересно и важно. Задачи мы стараемся давать в контексте реальных проблем, которые могут возникнуть при разработке игры, а не в виде обсуждения сухих алгоритмов. Например, мы придумываем игровую ситуацию и несколько объектов, взаимодействующих между собой по определенному алгоритму. Так, например, для 10 объектов все работает хорошо, но когда объектов 10 000, то начинаются проблемы, которые мы и предлагаем обдумать и устранить кандидату.

Главное при решении задач — не сдаваться и не пропускать вопросы, так как для нас это выглядит значительным минусом. Мы не считаем какие-то баллы за вопросы с правильными и неправильными ответами, нам больше интересен ход мыслей человека, поиск решений. Ведь иногда бывает, что и мы открываем для себя что-то новое.

В заключительной части мы рассказываем о нашем проекте и об условиях работы в компании Astrum Entertainment, а также отвечаем на вопросы кандидата. В случае успешного прохождения собеседования мы приглашаем кандидата на финальное собеседование с руководителями проекта.

Подведу итоги. Еще в начале я упомянул, что мы ищем людей со страстью к программированию. Моё субъективное мнение: программист со страстью к своей профессии не воспринимает компьютер как черную коробку. Наоборот, он стремится понять, как устроены те или иные конструкции в его коде, следит за развитием любимых языков программирования, ищет пути улучшения продуктивности своей работы, интересуется смежными областями, следит за развитием железа. Вот что значит для меня «страсть к программированию».

Технические собеседования программистов на проекте Warface

Надеюсь, информация выше будет полезна для будущих соискателей — внимательно изучайте ее и приходите к нам на собеседования, чтобы набраться опыта и стать частью нашей дружной команды!

1616
24 комментария

Готов пойти к вам сценаристом, за 12 процентов от донатов.
Считаю что вы полностью просрали весь потенциал Блэквуд и их сюжетной ветки.

7
Ответить

Как игрок с 12 летним стажем скажу, что вы за 3 года без крайтеков/блеквудов/пиксагонов убили всё, чем эта игра получила свою популярность.

3
Ответить

Я заинтригован. Играл в 2017-18гг где-то и потом ещё ненадолго заходил, когда добавили PvE-миссию со штурмом базы-фабрики киборгов, где им ещё позвоночники надо вырывать.
Что после этого такого катастрофического сделали с Варфейсом? о_о

Ответить

Я в warface играл последний раз в году 15

3
Ответить

thinkpad, а шо за моделька? И почему не линукс?

1
Ответить

Криптокошелек

Ответить

Программировать игры на Линуксе, когда в большинстве проектов требуется Visual Studio (не VSC)? Что за извращенство?

Ответить