Математические задачи
Продолжаем грустить о состоянии найма.
Был в истории хайринга период в котором найм инженеров был похож на внебрачного ребёнка КВН и школьной олимпиады по математике.
Все эти, ставшие уже классическими задачи про блендер и автобус с шариками, сейчас лишь вызывают улыбку стариков и недоумение молодого поколения.
Чуть сложнее дело обстоит с математикой. Всё ещё встречаются логические и математические задачи. Хорошо ли это?
Нужно понимать, что программирование — это не математика. Это тяжелый труд, в котором той самой математики кот наплакал. Нужно понимать, как работают логические операторы, примерно понимать как ведут себя функции и, если тебя угораздило вляпаться в гейм дев, нужно вспомнить пяток формул из школьной тригонометрии и начал векторной алгебры. Всё это очень просто и примитивно. Легко вспомнить, если забыл, и не требует особого интеллекта.
Чуть в стороне стоит модный нынче ML. Там нужно понимать основы статистики. Но тоже не стоит переоценивать сложность. Перемножать матрицы да угадывать веса. В конечном итоге всё сводится к инфраструктурной работе.
У математических головоломок есть плюсы — можно проверить соображалку, умение выкручиваться в неочевидных ситуациях и сводить проблему к известным или более простым вопросам. Теоретически это может помочь проверить навыки инженера.
Но это теория, а что же нам показывает практика? А практика показывает нам, что такого рода задачки разбиваются на три группы:
- задачки, которые кандидат знал
- задачки, с "Ага!" моментом
- задачки, заставившие кандидата растеряться
С первой группой всё ясно, кандидат ходил в математический кружок, или просто случайно узнал решение этой задачи. Как инженера это его не характеризует.
Последняя группа показывает лишь то, что кандидат не знает, как решать такую задачу. С одной стороны инженеры постоянно сталкиваются с неизвестными проблемами и вынужденны в них разбираться. С другой... Если что-то не решается запросом в гугл или схожая проблема не была решена в прошлом, то все мы задумываемся на долго. Кто-то рисует на бумажке, кто-то пытается обсуждать пробему на митинге. И практически никогда мы не решаем эту проблему на доске под пристальными взглядами.
Самая любопытная группа, это те, где кандидат решил неизвестную ему задачу. Казалось бы — мы нашли того, кто нам нужен! Если отбросить недоверие (кандидат мог знать задачу, но притворился, что решает), то хорошее решение демонстрирует нам... способность решать эту конкретную задачу.
Подобный инсайт может быть следствием развитой интуиции, либо признаком недюжего интеллекта, а может быть человеку просто повезло и он наугад выбрал направление решения.
Читатель рассказал нам историю о том, как в университете студент отчаянно валился на зачете по математике. Он абсолютно не представлял себе, как же подступиться к задаче и от безысходности нарисовал какие-то кружочки на листке. Скучающий преподаватель, глянув через плечо, обрадовался — "Ну конечо, через круги Эйлера решается! Ладно, это зачет. Свободны."
Вот и получается, что-то проверяли, а что в итоге проверили? Решение нужно обсуждать, а в случае с математической задачкой очень просто уйти в ненужную сторону и съехать на обсуждение теорем. Среднестатистическому инженеру это не нужно (хотя и полезно).
Надеюсь, что когда-нибудь мы научимся адекватно проверять навыки, и хайринг выйдет из эпохи Средневековья с бессмысленными ритуалами в дивный новый мир, где каждый понимает, чем занимается инженер и в чём отличие между хорошим и плохим профессионалом.
P.S. Чуть особняком стоят задачи, которые формулируются, как математические, а по факту пытаются выяснить способность кандидата свести проблему к алгоритмической. Пожалуй, это самый достойный вариант. Но нужно понимать, что их я в данной статье не рассматриваю.
А тебе попадались вопросы на логику и математику на собеседованиях? Может ты сам такие задаёшь? Расскажи нам в твиттере.
Эти и другие вопросы обсуждаем в канале https://t.me/your_soft_skillzz
Подписывайтесь и рассказывайте друзьям.
МS.