Гипертрофированные требования при трудоустройстве: аналогии в мире профессий | 27 января 2025 года, 23:03

Думал, как доступно объяснить сегодня утром что такое прохождение собеседования на программиста. Придумал как мне кажется отличную аналогию. Это как если бы при приеме на работу повара в столовую просили бы описать процесс денатурации белков в курином яйце на молекулярном уровне. При приеме на работу продавца обязательно интересовались бы, какой эффект окажет снижение ставки рефинансирования на агрегированный спрос в долгосрочной перспективе?

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

Сантехник должен обязательно знать закон Бернулли и мочь рассчитать рассчитать расход воды через трубу по уравнению Навье-Стокса.

Безусловно, невозможно просто так взять на работу парикмахера — нужно, чтобы он в деталях мог объяснить, как работают дисульфидные связи в структуре волоса и почему на молекулярном уровне химическая завивка — это преступление против кератина.

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

Конечно, как только программиста взяли на работу, в первой же задаче ему придется переворачивать строку без использования встроенных функций. Через рекурсию. Сразу после того, как он напишет модуль, где будут складываться два 100-значных числа без использования операции сложения. И результат будет выводить в консоли, оформив его ромбиком. Ну и конечно, программист на Java будет использовать volatile, transient, strictfp хотя бы через день.

Брать нужно того, у кого горят глаза, или, если не горят, то кто как танк, уверенно продавливает путь к решению. Кто понимает, в какое место кода обычно надо ударить кувалдой, чтобы заработало, и при этом держит в кармане изоленту, если удар не помог. Кто способен одновременно чинить баг и разъяснять заказчику, почему баг — это «особенность», а не ошибка. Кто вместо фразы «это невозможно» говорит «интересная задачка, надо подумать», и при этом уже гуглит, как это делается. Кто с таким вдохновением пишет костыли, что они выглядят как часть архитектуры. И главное — брать нужно того, кто даже на собеседовании не боится задать контрвопрос: «А зачем мне решать задачи на переворачивание строк, если в жизни у меня есть reverse()? Ну в питоне s[::-1] или ».join(reversed(s)).

Оставьте комментарий