Factorio как способ пройти собеседование в IT-компанию

На YouTube я видел Shorts с таким заголовком, а в интернете читал статьи об этом. Подумал, что стоит поделиться сводкой в своём блоге. Вдруг это будет полезно для кого-то.

Неоптимальный дизайн завода на дронах
Неоптимальный дизайн завода на дронах

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

Командная работа. В Factorio, как и в IT-индустрии, важно уметь находить общий язык с другими игроками, помогать друг другу и идти на уступки. Например, можно уменьшить размеры конструкции, чтобы в игровом квадрате уместились все проекты.

Отладка. Быстро выявил проблему — значит быстро разобрался в причинах сбоя программы. Хороший программист при поломке нефтеперерабатывающего завода найдёт протёкшую трубу, а не просто наставит резервуаров.

Код-ревью. Чтобы улучшить производительность, приходится исправлять дизайн. Грамотный специалист выслушает критику, учтёт советы в будущем, и, если не согласится, аргументированно выскажет свою точку зрения. Например, предложит защищать базу большими бетонными стена, сэкономив на патронах.

Стиль написания кода и фреймворки. Для постройки фабрики нужно соблюдать стандарты. Забыв о стандартах, можно запутаться в конвейерах, и завод перестанет работать. Здесь неопытный программист столкнётся с неочевидными проблемами.

Многопоточность в Factorio. Поезда как многопоточность: один поезд — один поток выполнения, пересечения путей или остановки — место записи двух потоков одновременно, светофоры — предотвращение конфликтов между потоками, а проблемы на железной дороге — баги.

Масштабирование в Factorio. Повысить производительность в Factorio, значит изменить изначальный дизайн. Это делается с помощью установки специальных модулей, которые увеличивают продуктивность и скорость работы.

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

Главный минус Factorio как инструмента для собеседования — проведение игровых сессий, которые занимают не менее 4 часов.

Я тоже иногда играю и стараюсь улучшить свой завод. Сначала я использовал принцип микросистем: отдельные заводы, соединённые железными дорогами. Потом система стала слишком запутанной, и даже дроны не помогли решить проблему доставки материалов на базу. Я начал искать в интернете, как правильно разместить производство. Остановился на варианте с шиной. Вариант простой и понятный, поэтому в нём меньше проблем — для новичков самое то.

Источник:

2
8 комментариев

То есть вместо прокачки мозга на знание языков и фреймворков - надо сидеть в игрульку играть?

2
Ответить

А ещё можно на кубиках детских или пирамидках про композицию и ооп рассуждать, да

1
Ответить

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

Ответить

Программирование я бы такому не доверил, но тамада из него был бы охуенный

1
Ответить

Много раз видел как факторио сравнивают с программированием. Наивно это конечно думать, что компьютерная игра может реально помочь тебе хоть в чём-то

Ответить

В типе мышления? Factorio — это же задачка на логику.

1
Ответить

Это был довольно полезный кейс

Ответить