1. Избегание социальных связей
Программист изо дня в день работает над составлением сложных алгоритмов. Причем очень важно не решать схожие задачи по нескольку раз разными способами. Идеально, если какой-то один кусок кода можно затем применять снова и снова.
Еще важно брать новые задачи, изучать свежие технологии, не зацикливаться на старом.
И вот это стремление решить и больше никогда не затрагивать пройденные вопросы накладывает довольно серьезные ограничения на ментальном уровне. В обычном человеческом общении, люди, по сути, не выдумывают ничего нового. Каждый день обсуждают одинаковые вопросы: как прошел день, что приготовить на ужин, как отдохнуть на выходных. Это небольшие примеры, но вся эта социальная движуха не укладывается в гениальные мозги компьютерщиков, потому что слишком скучно и однообразно.
Многие молодые ИТ-специалисты часто одиноки и не вступают в отношения с противоположным полом во многом благодаря этой особенности профессии. Представляете, вы прикладываете неимоверные усилия по 8-15 часов в день, только лишь для того, чтобы уменьшить вероятность повторного решения, за дублирование кода вас даже наказывают на код-ревью. Нужно всегда быть в тонусе и всеми силами избегать того, из чего складывается нормальная психика семьянина.
Конечно, с опытом можно выбраться из этой опасной ловушки. Но я знаю очень многих людей, которые даже после тридцати-сорока лет так и остаются холостыми. Самым талантливым иногда так везет с работой и зарплатой, что просто не хватает времени остановиться, передохнуть и подумать над целью жизни. Расставить приоритеты и понять, что работа — это не главное, а всего лишь источник дохода.
2. Излишний перфекционизм
Перфекционизм рождается из нездоровой веры в то, что если ходить по жизни очень осторожно, все время думая, куда ставить ногу, ты не умрешь. На самом деле, конечно, все равно умрешь. А многие из тех, кто даже не думает, куда идет, добьются в жизни большего, чем ты, да и проживут веселее. Энн Ламотт "Птица за птицей"
Мои родственники и друзья часто делают мне замечания по поводу моей брезгливости и капризности. Не ем майонез, не покупаю дешевые продукты, не хочу браться за черновую работу.
Мне всегда им хочется сказать, что если я вижу отступы в функции не по стандартам, то меня дрожь берет, что уж говорить о таких вопиющих моментах, как ужасный список консервантов во всех дешевых вкусностях. Копать на даче грядки, окучивать картошку – это совсем пустая трата времени. Даже простые расчеты показывают, что время, потраченное на сельхоз-работы с использованием неэффективного человеческого труда без специальных инструментов, это худшее что можно придумать. Возможно, на пенсии будет интересно такое, но, когда ты полон сил, энергии и голова рождает интересные идеи, можно гораздо эффективнее использовать свое время. Например, писать эту статью.
Без подробного изучения документации лучше не браться за проект. Если не оценить плюсы и минусы какой-то библиотеки или фреймворка, то можно получить много головняков в будущем. Все это естественным образом переносится в обычную жизнь.
Любое предложение от других людей тщательно анализируется и разбирается на составляющие. Ведь нужно сформулировать ответ таким образом, чтобы минимизировать любые риски и предусмотреть всевозможные случайности в будущем.
Собеседник может совершенно не задумываться о смысле своих слов и весело болтать о чем угодно, при этом будет считать тебя жутким занудой, потому что каждое твое слово нуждается в обдумывании. Нужно расставить отступы и привести циклы в порядок, протестировать и отладить, а уже после сказать реплику.
Простая болтовня для программиста создает огромную когнитивную нагрузку.
3. Мнительность
Это прямое следствие из двух предыдущих деформаций. Только самые новички в программировании думают, что над багами можно не работать, поставил костыль, обошел и забыл. Только с годами начинаешь понимать, баги рано или поздно победят. Они вырвутся из пучин спагетти-кода, завалят сервер или создадут опасную утечку данных.
Но самое ужасное осознание того, что написать программу без багов принципиально невозможно. Представляете, все что вы делаете в данный момент с вероятностью в 99% сломается через некоторое время и придется исправлять алгоритм.
Существует такое понятие как технический долг. Примерно, как кредит, вы хотите купить себе вещь, а денег нет, занимаете в банке или у друзей и приобретаете. Потом нужно отдавать с процентами.
Технический долг имеет почти схожий смысл. В спешке можно завершить проект, из-за этого некоторые части кода пишутся без должного внимания к деталям. Хочется побыстрее сдать задачу и приступить к другим проектам. Только, чем больше торопишься, и чем больше берешь новых проектов, тем больше в будущем тебе придется тратить времени на исправление ошибок. Можно, конечно, менять работу каждый раз, когда поддержка старого кода начинает давить и отнимает силы от решения новых проектов, за которые платятся деньги, а за поддержку обычно платят меньше. Ведь тебе уже заплатили и должно работать и так, это твой косяк.
Но убегание от проблем, только усугубляет твое положение как разработчика. У тебя не вырабатывается чувство ответственности за свои решения. И ты так и продолжаешь клепать халтуру.
Это постепенно вырабатывает сильную мнительность и неуверенность. «Семь раз отмерь, один раз отрежь» — это мягко сказано. Программист сначала изучит все возможные варианты, затем подберет подходящие способы измерения, напишет тестовые процедуры, отработает несколько пробных версий и только затем «отрежет».
Я помню, как после института только устроился и смотрел на медлительных «старичков», которые медитировали над каждой строчкой как завороженные. Мне казалось, ну и тормоза же они, чего тут думать, накидал, запустил и свободен. Но теперь полностью осознаю в себе эту черту характера, поставить под сомнение даже мельчайшую деталь. Потратить несколько часов отладки и чтения документации для того, чтобы получилась только одна строчка – это почти норма.
Вывод
В любой профессии есть такие особенности, от которых у обывателя волосы на голове дыбом встают. Чего стоит почерк врачей. Главное научиться различать в себе отклонения и работать над собой. Тратить время не только на профессиональный рост, но также думать о гармоничном развитии своей личности.