Эти иллюзии вредны тем, что очень расстраивают и демотивируют новичков. Многие проблемы, с которыми сталкиваются новички, никуда у профессионалов не деваются, профессионалы просто привыкли и умеют с ними быстро справляться
«Профессионалы всё помнят наизусть»
Новички думают, что со временем запомнят всё. Все приёмы, которые есть в языке, все функции, методы и т.д. и т.п. На деле профессионалы гуглят базовые вещи постоянно.
Как отсортировать массив в языке, который не используешь каждый день? Гугл. Параметры регулярного выражения? Гугл. Какая-то редкая функция основного языка? Гугл.
Я знаю профессионала, который пишет на JavaScript и не помнит, как в массив (набор данных) добавить новые данные в конец. Или удалить. Я просто преподаю и я помню, что это .push() и .pop(). А он вот не помнит, потому что ему ну ооооочень редко нужно это делать. А что он сделает, если ему понадобятся эти операции? Пойдёт в Гугл и найдёт это за несколько секунд.
«Профессионалы пишут код с первого раза»
Новички видят сразу элегантный финальный код и думают, что так он и писался. В реальности профессионалы постоянно переписывают, рефакторят, удаляют и начинают заново. Первая версия почти всегда получается неуклюжей.
Ещё первая версия гораздо проще и меньше, часто проект начинается с MVP — минимального работающего продукта. Его создают, проверяют, и если проект выстрелил и привлёк деньги, то начинают прорабатывать дальше.
А ещё профессионалы тоже постоянно делают ошибки в коде, просто они умеют проверять их, находить и исправлять.
«Профессионалы сразу понимают чужой код»
Даже senior-разработчики могут часами разбираться в незнакомой кодовой базе. Чтение кода часто сложнее его написания. Особенно когда сталкиваешься с хитрой бизнес-логикой или необычным паттерном. Профессионал просто методичнее подходит к процессу — ставит брейкпоинты, рисует диаграммы, задаёт вопросы.
«Профессионалы не делают глупых ошибок»
Забыть сохранить файл перед запуском. Искать баг полчаса, а потом понять, что смотришь на старую версию кода. Потратить час на отладку, чтобы обнаружить опечатку в названии переменной (да, даже с современными системами люди умудряются иногда).
Профессионалы делают всё это регулярно, просто научились быстрее это замечать и исправлять. Просто они тоже люди, особенно после нескольких часов глубокой разработки. А иногда воспаление какое-то фоновое в организме, а иногда расстроило что-то. Много причин могут привести к тому, что внимание и мышление профессионала на время сильно ухудшаются. И всё это легко приводит к дурацкой ошибке.
«Профессионалы знают, как решить задачу сразу»
Новички думают, что опыт даёт готовые решения для любой ситуации. На деле профессионалы тоже сидят и думают, пробуют разные подходы, заходят в тупики. Они просто лучше оценивают перспективность подхода раньше и знают, когда остановиться и попробовать по-другому.
А ещё профессионал часто может перестроиться на лету и выглядеть это тоже будет так, будто он всё заранее продумал и ко всему был готов.
«Профессионалы не смотрят StackOverflow/не пользуются нейросетями и т.д.»
Это вообще мем в сообществе — программирование сводилось к копированию кода из StackOverflow. Профессионалы пользуются им постоянно, особенно для редких edge cases или библиотек, которые используют впервые. Разница в том, что они критически оценивали найденные решения, а не копировали слепо.
То же касается и нейросетей. Профессионалы давно их попробовали и нашли грамотные способы использовать для себя. Грамотно, с умом!
«Профессионалы не испытывают фрустрацию»
Когда у новичка не компилируется код два часа, он думает: «Я бездарь, настоящие программисты так не мучаются». Профессионалы мучаются точно так же. Разница в том, что они знают — это нормально, пройдёт, и в итоге решение найдётся. У них выработана эмоциональная устойчивость, но фрустрация никуда не девается.
А некоторые профессионалы мне рассказывали, что тоже иногда думают про себя «Я бездарь, мне не место в программировании». Это случается, когда они надолго застревают на каких-то задачах. Это тоже проходит, когда разобраться получается. Просто у них это сейчас происходит реже, чем на старте, и справляются с проблемой они быстрее.
«Профессионалы пишут код без багов»
Каждый профессионал регулярно создаёт баги — от простых опечаток до логических ошибок в архитектуре. Тесты падают, продакшен ломается, пользователи жалуются. Как вы думаете, зачем вообще нужна профессия тестировщика?
Разница в том, что профессионал выстроил систему (тесты, ревью, мониторинг), которая ловит большинство багов раньше, чем они успеют навредить, и умеет их быстрее чинить.
«Профессионалы всегда уверены в своих решениях»
Синдром самозванца, сомнения «а правильно ли я это сделал?», страх что-то сломать — всё это остаётся. Просто профессионалы научились действовать несмотря на сомнения и проверять свои решения систематически, а не ждать абсолютной уверенности.
В том числе поэтому профессионалы используют Git или его аналог — хранят более старые версии кода, чтобы всегда можно было вернуться к такой версии и отказаться от неудачного решения.
«Профессионалы любят программировать каждый день»
Бывают дни, когда даже любимая работа кажется рутиной. Когда не хочется открывать IDE. Когда код не пишется. Профессионалы тоже прокрастинируют, выгорают и иногда думают: «Может, мне уйти в фермеры/баристы/лесорубы». Они просто знают, что это временно, хотя некоторые иногда реально уходят в другую область.
Суть в том, что профессионализм — это не отсутствие трудностей, а наличие инструментов и опыта для их преодоления. Профессионалы спотыкаются о те же грабли, просто встают быстрее.