Была статья о собеседованиях на доске (где кандидатов на работу просят воспроизвести какой-то стандартный алгоритм CS) и о том, насколько они ужасно несправедливы, потому что, очевидно, ожидание того, что люди действительно знают, как выполнять свою работу, теперь является дискриминацией.

Если вы почитаете комментарии на различных дискуссионных форумах (например, на Hacker News), вы увидите очень распространенную тему, повторяющуюся повсюду:

«Я программирую более 10 лет и буквально копирую/вставляю весь свой код из Stack Overflow».

Эта строка с небольшими вариациями появляется много раз. Этим людям я могу сказать только одно:

Вы не программист.

Копирование и вставка из StackOverflow делает вас программистом точно так же, как копирование из Google Translate позволяет мне бегло говорить по-шведски — ЭТО, БЛЯДЬ, ТАК НЕ РАБОТАЕТ. Да, вы можете барахтаться и собирать что-то вроде того, что вроде как работает, но без фактического понимания того, что вы делаете, вы не программируете. Правильное программирование требует размышлений и анализа, а не бросания случайных битов в стену, пока они не примут приблизительно правильную форму.

Я не ожидаю, что каждый сможет написать идеальную быструю сортировку без ссылок. Я не ожидаю, что все запомнят C++ STL. Я не ожидаю, что каждый сможет запрограммировать свою собственную систему, начиная с уровня BIOS.

НО

Я ДЕЙСТВИТЕЛЬНО ожидаю, что программисты, по крайней мере, будут знать разницу между быстрой сортировкой и пузырьковой сортировкой и почему вы выберете одну из них. Я ожидаю, что программисты, по крайней мере, будут иметь некоторое представление о том, какие контейнеры находятся в STL, и как решить, какой из них подходит для данной задачи. Я ожидаю, что программисты поймут основы операционных систем и то, как они взаимодействуют с оборудованием.

Дерьмовые программисты, которые хотят быть программистами, которые получают всю свою работу от SO, являются причиной того, что программное обеспечение в целом отстой. Это причина, по которой мы просто принимаем сбои программ как обычное явление. Они являются причиной того, что ваша информация небезопасна в Интернете. Они являются причиной каждой утечки данных, которая происходит. Черт, они - половина причины, по которой АНБ так легко шпионило за всем интернетом.

Не следует считать неразумным ожидать, что кто-то, претендующий на работу, изучил буквально минимум, необходимый для ВЫПОЛНЕНИЯ этой работы. Если вы не можете написать законченную функциональную программу без использования Ctrl-C/Ctrl-V, сделайте мне (и всему миру) одолжение — возьмите заявление о приеме на работу в McDonald’s и убирайтесь к черту из моей профессии.